maint.mk: add per-line exclusions to prohibitions
[gnulib.git] / ChangeLog
1 2012-03-01  Eric Blake  <eblake@redhat.com>
2
3         maint.mk: add per-line exclusions to prohibitions
4         * maint.mk (_sc_search_regexp): Add $exclude parameter.
5         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6         (sc_const_long_option): Use it.
7
8 2012-03-01  Bruno Haible  <bruno@clisp.org>
9
10         Tests for module 'expl-ieee'.
11         * modules/expl-ieee-tests: New file.
12         * tests/test-expl-ieee.c: New file.
13
14         New module 'expl-ieee'.
15         * modules/expl-ieee: New file.
16
17         Tests for module 'exp-ieee'.
18         * modules/exp-ieee-tests: New file.
19         * tests/test-exp-ieee.c: New file.
20
21         New module 'exp-ieee'.
22         * modules/exp-ieee: New file.
23
24         Tests for module 'expf-ieee'.
25         * modules/expf-ieee-tests: New file.
26         * tests/test-expf-ieee.c: New file.
27         * tests/test-exp-ieee.h: New file.
28
29         New module 'expf-ieee'.
30         * modules/expf-ieee: New file.
31
32 2012-02-29  Bruno Haible  <bruno@clisp.org>
33
34         cbrtl-ieee: Work around test failure on IRIX 6.5.
35         * m4/cbrtl-ieee.m4: New file.
36         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
37         test whether cbrtl works with a minus zero argument. Replace it if not.
38         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
39         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
40         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
41         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
42         (Depends-on): Update conditions.
43         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
44         m4/signbit.m4.
45         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
46         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
47         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
48
49         Tests for module 'cbrtl-ieee'.
50         * modules/cbrtl-ieee-tests: New file.
51         * tests/test-cbrtl-ieee.c: New file.
52
53         New module 'cbrtl-ieee'.
54         * modules/cbrtl-ieee: New file.
55
56         Tests for module 'cbrt-ieee'.
57         * modules/cbrt-ieee-tests: New file.
58         * tests/test-cbrt-ieee.c: New file.
59
60         New module 'cbrt-ieee'.
61         * modules/cbrt-ieee: New file.
62
63         Tests for module 'cbrtf-ieee'.
64         * modules/cbrtf-ieee-tests: New file.
65         * tests/test-cbrtf-ieee.c: New file.
66         * tests/test-cbrt-ieee.h: New file.
67
68         New module 'cbrtf-ieee'.
69         * modules/cbrtf-ieee: New file.
70
71 2012-02-29  Bruno Haible  <bruno@clisp.org>
72
73         cbrtf: Work around bug in IRIX 6.5 system function.
74         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
75         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
76         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
77         work.
78         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
79         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
80         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
81         (Depends-on): Update conditions.
82         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
83
84 2012-02-29  Bruno Haible  <bruno@clisp.org>
85
86         Tests for module 'cbrtl'.
87         * modules/cbrtl-tests: New file.
88         * tests/test-cbrtl.c: New file.
89
90         New module 'cbrtl'.
91         * lib/math.in.h (cbrtl): New declaration.
92         * lib/cbrtl.c: New file.
93         * m4/cbrtl.m4: New file.
94         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
95         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
96         HAVE_DECL_CBRTL.
97         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
98         HAVE_DECL_CBRTL.
99         * modules/cbrtl: New file.
100         * tests/test-math-c++.cc: Check the declaration of cbrtl.
101         * doc/posix-functions/cbrtl.texi: Mention the new module.
102
103 2012-02-29  Bruno Haible  <bruno@clisp.org>
104
105         Tests for module 'cbrtf'.
106         * modules/cbrtf-tests: New file.
107         * tests/test-cbrtf.c: New file.
108
109         New module 'cbrtf'.
110         * lib/math.in.h (cbrtf): New declaration.
111         * lib/cbrtf.c: New file.
112         * m4/cbrtf.m4: New file.
113         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
114         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
115         HAVE_DECL_CBRTF.
116         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
117         HAVE_DECL_CBRTF.
118         * modules/cbrtf: New file.
119         * tests/test-math-c++.cc: Check the declaration of cbrtf.
120         * doc/posix-functions/cbrtf.texi: Mention the new module.
121
122 2012-02-29  Bruno Haible  <bruno@clisp.org>
123
124         cbrt: Provide replacement on MSVC and Minix.
125         * lib/math.in.h (cbrt): New declaration.
126         * lib/cbrt.c: New file.
127         * m4/cbrt.m4: New file.
128         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
130         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
131         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
132         (Depends-on): Add dependencies.
133         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
134         * tests/test-math-c++.cc: Check the declaration of cbrt.
135         * doc/posix-functions/cbrt.texi: Mention that the module provides a
136         replacement.
137
138 2012-02-29  Bruno Haible  <bruno@clisp.org>
139
140         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
141         * m4/hypotl-ieee.m4: New file.
142         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
143         test whether hypotl works with mixed NaN and Infinity arguments.
144         Replace it if not.
145         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
146         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
147         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
148         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
149         (Depends-on): Update conditions.
150         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
151         (Depends-on): Add hypot-ieee.
152         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
153         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
154
155         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
156         * m4/hypotf-ieee.m4: New file.
157         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
158         test whether hypotf works with mixed NaN and Infinity arguments.
159         Replace it if not.
160         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
161         (Depends-on): Add hypot-ieee.
162         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
163         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
164
165         hypot-ieee: Work around test failure on OSF/1 and native Windows.
166         * lib/math.in.h (hypot): New declaration.
167         * lib/hypot.c: New file.
168         * m4/hypot-ieee.m4: New file.
169         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
170         whether hypot works with mixed NaN and Infinity arguments. Replace it
171         if not.
172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
173         REPLACE_HYPOT.
174         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
175         * modules/hypot (Files): Add lib/hypot.c.
176         (Depends-on): Add dependencies.
177         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
178         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
179         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
180         * tests/test-math-c++.cc: Check the declaration of hypot.
181         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
182
183         Tests for module 'hypotl-ieee'.
184         * modules/hypotl-ieee-tests: New file.
185         * tests/test-hypotl-ieee.c: New file.
186
187         New module 'hypotl-ieee'.
188         * modules/hypotl-ieee: New file.
189
190         Tests for module 'hypot-ieee'.
191         * modules/hypot-ieee-tests: New file.
192         * tests/test-hypot-ieee.c: New file.
193
194         New module 'hypot-ieee'.
195         * modules/hypot-ieee: New file.
196
197         Tests for module 'hypotf-ieee'.
198         * modules/hypotf-ieee-tests: New file.
199         * tests/test-hypotf-ieee.c: New file.
200         * tests/test-hypot-ieee.h: New file.
201
202         New module 'hypotf-ieee'.
203         * modules/hypotf-ieee: New file.
204
205 2012-02-29  Bruno Haible  <bruno@clisp.org>
206
207         Remove unused variables.
208         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
209         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
210         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
211         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
212
213 2012-02-29  Eric Blake  <eblake@redhat.com>
214
215         termios: fix pid_t always, not just for tcgetsid
216         * doc/posix-headers/termios.texi (termios.h): Mention problem.
217         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
218         just when building tcgetsid.
219
220 2012-02-29  Bruno Haible  <bruno@clisp.org>
221
222         Tests for module 'hypotl'.
223         * modules/hypotl-tests: New file.
224         * tests/test-hypotl.c: New file.
225
226         New module 'hypotl'.
227         * lib/math.in.h (hypotl): New declaration.
228         * lib/hypotl.c: New file.
229         * m4/hypotl.m4: New file.
230         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
232         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
233         * modules/hypotl: New file.
234         * tests/test-math-c++.cc: Check the hypotl declaration.
235         * doc/posix-functions/hypotl.texi: Mention the new module.
236
237 2012-02-29  Eric Blake  <eblake@redhat.com>
238
239         tcgetsid: fix cygwin header bug
240         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
241
242         docs: update cygwin progress
243         * doc/posix-functions/llround.texi (llround): Added in cygwin
244         1.7.8.
245         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
246         * doc/glibc-functions/program_invocation_name.texi
247         (program_invocation_name): Likewise.
248         * doc/glibc-functions/program_invocation_short_name.texi
249         (program_invocation_short_name): Likewise.
250         * doc/glibc-functions/madvise.texi (madvise): Likewise.
251         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
252         Likewise.
253         * doc/posix-functions/pthread_spin_destroy.texi
254         (pthread_spin_destroy): Added in cygwin 1.7.10.
255         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
256         Likewise.
257         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
258         Likewise.
259         * doc/posix-functions/pthread_spin_trylock.texi
260         (pthread_spin_trylock): Likewise.
261         * doc/posix-functions/pthread_spin_unlock.texi
262         (pthread_spin_unlock): Likewise.
263         * doc/posix-functions/pthread_setschedprio.texi
264         (pthread_setschedprio): Likewise.
265         * doc/posix-functions/pthread_attr_getstack.texi
266         (pthread_attr_getstack): Likewise.
267         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
268         (pthread_attr_getstackaddr): Likewise.
269         * doc/glibc-functions/pthread_getattr_np.texi
270         (pthread_getattr_np): Likewise.
271         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
272         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
273         * doc/posix-functions/clock_settime.texi (clock_settime):
274         Likewise.
275         * doc/posix-functions/pthread_attr_getguardsize.texi
276         (pthread_attr_getguardsize): Likewise.
277         * doc/posix-functions/pthread_attr_setguardsize.texi
278         (pthread_attr_setguardsize): Likewise.
279         * doc/posix-functions/pthread_attr_setstack.texi
280         (pthread_attr_setstack): Likewise.
281         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
282         (pthread_attr_setstackaddr): Likewise.
283         * doc/posix-functions/clock_getcpuclockid.texi
284         (clock_getcpuclockid): Likewise.
285         * doc/posix-functions/pthread_getcpuclockid.texi
286         (pthread_getcpuclockid): Likewise.
287         * doc/glibc-functions/error.texi (error): Likewise.
288         * doc/glibc-functions/error_at_line.texi (error_at_line):
289         Likewise.
290         * doc/glibc-functions/error_message_count.texi
291         (error_message_count): Likewise.
292         * doc/glibc-functions/error_one_per_line.texi
293         (error_one_per_line): Likewise.
294         * doc/glibc-functions/error_print_progname.texi
295         (error_print_progname): Likewise.
296         * doc/posix-functions/pthread_condattr_getclock.texi
297         (pthread_condattr_getclock): Likewise.
298         * doc/posix-functions/pthread_condattr_setclock.texi
299         (pthread_condattr_setclock): Likewise.
300         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
301         Likewise.
302         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
303         * doc/glibc-functions/getpt.texi (getpt): Likewise.
304         * doc/glibc-functions/get_current_dir_name.texi
305         (get_current_dir_name): Likewise.
306         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
307         Likewise.
308         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
309         wrong return type.
310         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
311         1.7.11.
312
313 2012-02-29  Bruno Haible  <bruno@clisp.org>
314
315         Tests for module 'hypotf'.
316         * modules/hypotf-tests: New file.
317         * tests/test-hypotf.c: New file.
318
319         New module 'hypotf'.
320         * lib/math.in.h (hypotf): New declaration.
321         * lib/hypotf.c: New file.
322         * m4/hypotf.m4: New file.
323         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
324         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
325         REPLACE_HYPOTF.
326         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
327         REPLACE_HYPOTF.
328         * modules/hypotf: New file.
329         * tests/test-math-c++.cc: Check the hypotf declaration.
330         * doc/posix-functions/hypotf.texi: Mention the new module.
331
332         hypot: Prepare for hypotf module.
333         * m4/hypot.m4: New file.
334         * modules/hypot (Files): Add m4/hypot.m4.
335         (configure.ac): Invoke gl_FUNC_HYPOT.
336
337 2012-02-29  Bruno Haible  <bruno@clisp.org>
338
339         hypot tests: More tests.
340         * tests/test-hypot.c: Include <float.h>.
341         (main): Add tests about overflow and underflow.
342
343 2012-02-29  Bruno Haible  <bruno@clisp.org>
344
345         math code: Add comments.
346         * lib/acosl.c: Add comment about related glibc source files.
347         * lib/asinl.c: Likewise.
348         * lib/atanl.c: Likewise.
349         * lib/expl.c: Likewise.
350         * lib/logl.c: Likewise.
351         * lib/sincosl.c: Likewise.
352         * lib/sinl.c: Likewise.
353         * lib/tanl.c: Likewise.
354         * lib/trigl.c: Likewise.
355         * lib/cosl.c: Likewise. Fix comments.
356
357 2012-02-28  Bruno Haible  <bruno@clisp.org>
358
359         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
360         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
361         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
362         HUGE_VALL are defined.
363         (numeric_equald): Renamed from numeric_equal.
364         (numeric_equalf, numeric_equall): New functions.
365         (main): Check also HUGE_VALF, HUGE_VALL.
366         * modules/math-tests (Files): Add tests/macros.h.
367         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
368         HUGE_VALL.
369
370 2012-02-28  Bruno Haible  <bruno@clisp.org>
371
372         doc: Move ISO C11 feature notes into POSIX chapters.
373         * doc/posix-functions/aligned_alloc.texi: Renamed from
374         doc/glibc-functions/aligned_alloc.texi.
375         * doc/posix-functions/quick_exit.texi: Renamed from
376         doc/glibc-functions/quick_exit.texi.
377         * doc/posix-headers/uchar.texi: Renamed from
378         doc/glibc-headers/uchar.texi.
379         * doc/posix-functions/c16rtomb.texi: Renamed from
380         doc/glibc-functions/c16rtomb.texi.
381         * doc/posix-functions/c32rtomb.texi: Renamed from
382         doc/glibc-functions/c32rtomb.texi.
383         * doc/posix-functions/mbrtoc16.texi: Renamed from
384         doc/glibc-functions/mbrtoc16.texi.
385         * doc/posix-functions/mbrtoc32.texi: Renamed from
386         doc/glibc-functions/mbrtoc32.texi.
387         * doc/gnulib.texi: Update.
388         (Glibc uchar.h): Remove section.
389         Suggested by Eric Blake.
390
391 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
392
393         stdnoreturn: port to MSVC better
394         MSVC standard headers use __declspec(noreturn), so #define noreturn
395         to empty on that platform.  Reported by Bruno Haible in
396         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
397         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
398         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
399
400 2012-02-28  Bruno Haible  <bruno@clisp.org>
401
402         doc: Mention new glibc headers and functions.
403         * doc/glibc-headers/uchar.texi: New file.
404         * doc/glibc-functions/aligned_alloc.texi: New file.
405         * doc/glibc-functions/c16rtomb.texi: New file.
406         * doc/glibc-functions/c32rtomb.texi: New file.
407         * doc/glibc-functions/clock_adjtime.texi: New file.
408         * doc/glibc-functions/fanotify_init.texi: New file.
409         * doc/glibc-functions/fanotify_mark.texi: New file.
410         * doc/glibc-functions/inet6_opt_append.texi: New file.
411         * doc/glibc-functions/inet6_opt_find.texi: New file.
412         * doc/glibc-functions/inet6_opt_finish.texi: New file.
413         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
414         * doc/glibc-functions/inet6_opt_init.texi: New file.
415         * doc/glibc-functions/inet6_opt_next.texi: New file.
416         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
417         * doc/glibc-functions/inet6_rth_add.texi: New file.
418         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
419         * doc/glibc-functions/inet6_rth_init.texi: New file.
420         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
421         * doc/glibc-functions/inet6_rth_segments.texi: New file.
422         * doc/glibc-functions/inet6_rth_space.texi: New file.
423         * doc/glibc-functions/login.texi: New file.
424         * doc/glibc-functions/mbrtoc16.texi: New file.
425         * doc/glibc-functions/mbrtoc32.texi: New file.
426         * doc/glibc-functions/name_to_handle_at.texi: New file.
427         * doc/glibc-functions/ntp_gettimex.texi: New file.
428         * doc/glibc-functions/open_by_handle_at.texi: New file.
429         * doc/glibc-functions/prlimit.texi: New file.
430         * doc/glibc-functions/process_vm_readv.texi: New file.
431         * doc/glibc-functions/process_vm_writev.texi: New file.
432         * doc/glibc-functions/recvmmsg.texi: New file.
433         * doc/glibc-functions/scandirat.texi: New file.
434         * doc/glibc-functions/sendmmsg.texi: New file.
435         * doc/glibc-functions/setns.texi: New file.
436         * doc/glibc-functions/timespec_get.texi: New file.
437         * doc/gnulib.texi: Include them.
438         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
439         sections.
440         Reported by Eric Blake.
441
442 2012-02-28  Bruno Haible  <bruno@clisp.org>
443
444         Avoid compilation errors with MSVC option -fp:strict.
445         * lib/floor.c: Use MSVC specific pragma fenv_access.
446         * lib/ceil.c: Likewise.
447         * lib/trunc.c: Likewise.
448         * lib/round.c: Likewise.
449         * lib/rint.c: Likewise.
450         * lib/fma.c: Likewise.
451         * lib/integer_length.c: Likewise.
452         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
453         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
454         * tests/test-floor2.c: Likewise.
455         * tests/test-floorf2.c: Likewise.
456         * tests/test-ceil2.c: Likewise.
457         * tests/test-ceilf2.c: Likewise.
458         * tests/test-trunc2.c: Likewise.
459         * tests/test-truncf2.c: Likewise.
460         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
461
462 2012-02-27  Bruno Haible  <bruno@clisp.org>
463
464         Tests for module 'sqrtl-ieee'.
465         * modules/sqrtl-ieee-tests: New file.
466         * tests/test-sqrtl-ieee.c: New file.
467
468         New module 'sqrtl-ieee'.
469         * modules/sqrtl-ieee: New file.
470
471         Tests for module 'sqrt-ieee'.
472         * modules/sqrt-ieee-tests: New file.
473         * tests/test-sqrt-ieee.c: New file.
474
475         New module 'sqrt-ieee'.
476         * modules/sqrt-ieee: New file.
477
478         Tests for module 'sqrtf-ieee'.
479         * modules/sqrtf-ieee-tests: New file.
480         * tests/test-sqrtf-ieee.c: New file.
481         * tests/test-sqrt-ieee.h: New file.
482
483         New module 'sqrtf-ieee'.
484         * modules/sqrtf-ieee: New file.
485
486 2012-02-27  Bruno Haible  <bruno@clisp.org>
487
488         remainderl-ieee: Work around test failure on OSF/1.
489         * m4/remainderl-ieee.m4: New file.
490         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
491         present, test whether remainderl works with a zero second argument.
492         Replace it if not.
493         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
495         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
496         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
497         (Depends-on): Update conditions.
498         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
499         (Depends-on): Add remainder-ieee.
500         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
501         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
502         module.
503
504         remainderf-ieee: Work around test failure on OSF/1.
505         * m4/remainderf-ieee.m4: New file.
506         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
507         present, test whether remainderf works with a zero second argument.
508         Replace it if not.
509         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
510         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
511         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
512         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
513         (Depends-on): Update conditions.
514         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
515         (Depends-on): Add remainder-ieee.
516         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
517         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
518         module.
519
520         remainder-ieee: Work around test failure on OSF/1.
521         * m4/remainder-ieee.m4: New file.
522         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
523         present, test whether remainder works with a zero second argument.
524         Replace it if not.
525         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
526         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
527         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
528         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
529         (Depends-on): Update dependencies.
530         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
531         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
532         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
533
534         Tests for module 'remainderl-ieee'.
535         * modules/remainderl-ieee-tests: New file.
536         * tests/test-remainderl-ieee.c: New file.
537
538         New module 'remainderl-ieee'.
539         * modules/remainderl-ieee: New file.
540
541         Tests for module 'remainder-ieee'.
542         * modules/remainder-ieee-tests: New file.
543         * tests/test-remainder-ieee.c: New file.
544
545         New module 'remainder-ieee'.
546         * modules/remainder-ieee: New file.
547
548         Tests for module 'remainderf-ieee'.
549         * modules/remainderf-ieee-tests: New file.
550         * tests/test-remainderf-ieee.c: New file.
551         * tests/test-remainder-ieee.h: New file.
552
553         New module 'remainderf-ieee'.
554         * modules/remainderf-ieee: New file.
555
556 2012-02-27  Bruno Haible  <bruno@clisp.org>
557
558         modff, modfl: Fix configure syntax error.
559         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
560         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
561
562 2012-02-27  Bruno Haible  <bruno@clisp.org>
563
564         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
565         * m4/fmodl-ieee.m4: New file.
566         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
567         whether fmodl works with zero arguments. Replace it if not.
568         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
569         (Depends-on): Add fmod-ieee.
570         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
571         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
572
573         fmodf-ieee: Work around test failure on OSF/1.
574         * m4/fmodf-ieee.m4: New file.
575         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
576         whether fmodf works with zero arguments. Replace it if not.
577         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
578         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
579         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
580         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
581         (Depends-on): Update dependencies.
582         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
583         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
584         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
585
586         fmodf-ieee: Work around test failure on MSVC 9.
587         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
588         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
589
590         fmod-ieee: Work around test failures on OSF/1, mingw.
591         * m4/fmod-ieee.m4: New file.
592         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
593         whether fmod works with zero arguments. Replace it if not.
594         * lib/math.in.h (fmod): New declaration.
595         * lib/fmod.c: New file.
596         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
598         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
599         * modules/fmod (Files): Add lib/fmod.c.
600         (Depends-on): Add math, isinf, trunc, fma.
601         (configure.ac): Arrange to compile lib/fmod.c if needed.
602         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
603         m4/signbit.m4.
604         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
605         * tests/test-math-c++.cc: Check the declaration of fmod.
606         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
607
608         fmodl-ieee: Fix test failures.
609         * lib/fmodl.c (fmodl): Treat Inf specially.
610         * modules/fmodl (Depends-on): Add isinf.
611
612         Tests for module 'fmodl-ieee'.
613         * modules/fmodl-ieee-tests: New file.
614         * tests/test-fmodl-ieee.c: New file.
615
616         New module 'fmodl-ieee'.
617         * modules/fmodl-ieee: New file.
618
619         Tests for module 'fmod-ieee'.
620         * modules/fmod-ieee-tests: New file.
621         * tests/test-fmod-ieee.c: New file.
622
623         New module 'fmod-ieee'.
624         * modules/fmod-ieee: New file.
625
626         Tests for module 'fmodf-ieee'.
627         * modules/fmodf-ieee-tests: New file.
628         * tests/test-fmodf-ieee.c: New file.
629         * tests/test-fmod-ieee.h: New file.
630
631         New module 'fmodf-ieee'.
632         * modules/fmodf-ieee: New file.
633
634 2012-02-27  Bruno Haible  <bruno@clisp.org>
635
636         Tests for module 'rintl-ieee'.
637         * modules/rintl-ieee-tests: New file.
638         * tests/test-rintl-ieee.c: New file.
639
640         New module 'rintl-ieee'.
641         * modules/rintl-ieee: New file.
642
643         Tests for module 'rint-ieee'.
644         * modules/rint-ieee-tests: New file.
645         * tests/test-rint-ieee.c: New file.
646
647         New module 'rint-ieee'.
648         * modules/rint-ieee: New file.
649
650         Tests for module 'rintf-ieee'.
651         * modules/rintf-ieee-tests: New file.
652         * tests/test-rintf-ieee.c: New file.
653         * tests/test-rint-ieee.h: New file.
654
655         New module 'rintf-ieee'.
656         * modules/rintf-ieee: New file.
657
658 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
659
660         regex: re_search etc. should return -2 when memory exhausted
661         This bug was uncovered when testing 'grep'.  Without the fix,
662         re_search and friends return -1 when memory is exhausted, but -1
663         means no match, and this causes grep to falsely report no-match
664         instead of memory-exhaustion.  See
665         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
666         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
667         trouble; this can occur if re_search_internal ran out of memory.
668
669 2012-02-26  Bruno Haible  <bruno@clisp.org>
670
671         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
672         * m4/modfl-ieee.m4: New file.
673         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
674         whether modfl works with Inf. Replace it if not.
675         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
677         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
678         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
679         (Depends-on): Update dependencies.
680         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
681         m4/signbit.m4.
682         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
683         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
684
685         modfl-ieee: Fix dependencies.
686         * modules/modfl-ieee (Depends-on): Add modf-ieee.
687
688         modfl-ieee: Fix test failures.
689         * lib/modfl.c (modfl): Treat NaN and Inf specially.
690         * modules/modfl (Depends-on): Add isfinite, isinf.
691
692         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
693         * m4/modff-ieee.m4: New file.
694         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
695         whether modff works with NaN and Inf. Replace it if not.
696         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
698         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
699         * modules/modff (configure.ac): Consider REPLACE_MODFF.
700         (Depends-on): Update dependencies.
701         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
702         m4/signbit.m4.
703         (Depends-on): Add modf-ieee.
704         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
705         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
706
707         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
708         * m4/modf-ieee.m4: New file.
709         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
710         whether modf works with NaN and Inf. Replace it if not.
711         * lib/math.in.h (modf): New declaration.
712         * lib/modf.c: New file.
713         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
714         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
715         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
716         * modules/modf (Files): Add lib/modf.c.
717         (Depends-on): Add math, isfinite, trunc, isinf.
718         (configure.ac): Addrange to compile lib/modf.c if needed.
719         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
720         m4/signbit.m4.
721         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
722         * tests/test-math-c++.cc: Check the declaration of modf.
723         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
724
725         Tests for module 'modfl-ieee'.
726         * modules/modfl-ieee-tests: New file.
727         * tests/test-modfl-ieee.c: New file.
728
729         New module 'modfl-ieee'.
730         * modules/modfl-ieee: New file.
731
732         Tests for module 'modf-ieee'.
733         * modules/modf-ieee-tests: New file.
734         * tests/test-modf-ieee.c: New file.
735
736         New module 'modf-ieee'.
737         * modules/modf-ieee: New file.
738
739         Tests for module 'modff-ieee'.
740         * modules/modff-ieee-tests: New file.
741         * tests/test-modff-ieee.c: New file.
742         * tests/test-modf-ieee.h: New file.
743
744         New module 'modff-ieee'.
745         * modules/modff-ieee: New file.
746
747 2012-02-26  Bruno Haible  <bruno@clisp.org>
748
749         Tests for module 'fabsl-ieee'.
750         * modules/fabsl-ieee-tests: New file.
751         * tests/test-fabsl-ieee.c: New file.
752
753         New module 'fabsl-ieee'.
754         * modules/fabsl-ieee: New file.
755
756         Tests for module 'fabs-ieee'.
757         * modules/fabs-ieee-tests: New file.
758         * tests/test-fabs-ieee.c: New file.
759
760         New module 'fabs-ieee'.
761         * modules/fabs-ieee: New file.
762
763         Tests for module 'fabsf-ieee'.
764         * modules/fabsf-ieee-tests: New file.
765         * tests/test-fabsf-ieee.c: New file.
766         * tests/test-fabs-ieee.h: New file.
767
768         New module 'fabsf-ieee'.
769         * modules/fabsf-ieee: New file.
770
771 2012-02-26  Bruno Haible  <bruno@clisp.org>
772
773         Tests for module 'fmal-ieee'.
774         * modules/fmal-ieee-tests: New file.
775         * tests/test-fmal-ieee.c: New file.
776
777         New module 'fmal-ieee'.
778         * modules/fmal-ieee: New file.
779
780         Tests for module 'fma-ieee'.
781         * modules/fma-ieee-tests: New file.
782         * tests/test-fma-ieee.c: New file.
783
784         New module 'fma-ieee'.
785         * modules/fma-ieee: New file.
786
787         Tests for module 'fmaf-ieee'.
788         * modules/fmaf-ieee-tests: New file.
789         * tests/test-fmaf-ieee.c: New file.
790         * tests/test-fma-ieee.h: New file.
791
792         New module 'fmaf-ieee'.
793         * modules/fmaf-ieee: New file.
794
795 2012-02-26  Bruno Haible  <bruno@clisp.org>
796
797         Tests for module 'ldexpl-ieee'.
798         * modules/ldexpl-ieee-tests: New file.
799         * tests/test-ldexpl-ieee.c: New file.
800
801         New module 'ldexpl-ieee'.
802         * modules/ldexpl-ieee: New file.
803
804         Tests for module 'ldexp-ieee'.
805         * modules/ldexp-ieee-tests: New file.
806         * tests/test-ldexp-ieee.c: New file.
807
808         New module 'ldexp-ieee'.
809         * modules/ldexp-ieee: New file.
810
811         Tests for module 'ldexpf-ieee'.
812         * modules/ldexpf-ieee-tests: New file.
813         * tests/test-ldexpf-ieee.c: New file.
814         * tests/test-ldexp-ieee.h: New file.
815
816         New module 'ldexpf-ieee'.
817         * modules/ldexpf-ieee: New file.
818
819 2012-02-26  Bruno Haible  <bruno@clisp.org>
820
821         Refactor frexp*-ieee tests.
822         * tests/test-frexp-ieee.h: New file.
823         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
824         (main): Just call test_function.
825         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
826         (main): Just call test_function.
827         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
828         (main): Just call test_function.
829         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
830         * modules/frexp-ieee-tests (Files): Likewise.
831         * modules/frexpl-ieee-tests (Files): Likewise.
832
833         Tests for module 'frexpl-ieee'.
834         * modules/frexpl-ieee-tests: New file.
835         * tests/test-frexpl-ieee.c: New file.
836
837         New module 'frexpl-ieee'.
838         * modules/frexpl-ieee: New file.
839
840         Tests for module 'frexp-ieee'.
841         * modules/frexp-ieee-tests: New file.
842         * tests/test-frexp-ieee.c: New file.
843
844         New module 'frexp-ieee'.
845         * modules/frexp-ieee: New file.
846
847         Tests for module 'frexpf-ieee'.
848         * modules/frexpf-ieee-tests: New file.
849         * tests/test-frexpf-ieee.c: New file.
850
851         New module 'frexpf-ieee'.
852         * modules/frexpf-ieee: New file.
853
854 2012-02-26  Bruno Haible  <bruno@clisp.org>
855
856         roundl-ieee tests: More tests.
857         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
858         (main): Add tests for [MX] shaded specification in POSIX.
859         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
860         (Depends-on): Add isnanl-nolibm.
861
862         round-ieee tests: More tests.
863         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
864         (main): Add tests for [MX] shaded specification in POSIX.
865         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
866         (Depends-on): Add isnand-nolibm.
867
868         roundf-ieee tests: More tests.
869         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
870         (main): Add tests for [MX] shaded specification in POSIX.
871         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
872         (Depends-on): Add isnanf-nolibm.
873
874         truncl-ieee tests: More tests.
875         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
876         (main): Add tests for [MX] shaded specification in POSIX.
877         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
878         (Depends-on): Add isnanl-nolibm.
879
880         trunc-ieee tests: More tests.
881         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
882         (main): Add tests for [MX] shaded specification in POSIX.
883         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
884         (Depends-on): Add isnand-nolibm.
885
886         truncf-ieee tests: More tests.
887         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
888         (main): Add tests for [MX] shaded specification in POSIX.
889         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
890         (Depends-on): Add isnanf-nolibm.
891
892         ceill-ieee tests: More tests.
893         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
894         (main): Add tests for [MX] shaded specification in POSIX.
895         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
896         (Depends-on): Add isnanl-nolibm.
897
898         ceil-ieee tests: More tests.
899         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
900         (main): Add tests for [MX] shaded specification in POSIX.
901         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
902         (Depends-on): Add isnand-nolibm.
903
904         ceilf-ieee tests: More tests.
905         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
906         (main): Add tests for [MX] shaded specification in POSIX.
907         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
908         (Depends-on): Add isnanf-nolibm.
909
910         floorl-ieee tests: More tests.
911         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
912         (main): Add tests for [MX] shaded specification in POSIX.
913         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
914         (Depends-on): Add isnanl-nolibm.
915
916         floor-ieee tests: More tests.
917         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
918         (main): Add tests for [MX] shaded specification in POSIX.
919         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
920         (Depends-on): Add isnand-nolibm.
921
922         floorf-ieee tests: More tests.
923         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
924         (main): Add tests for [MX] shaded specification in POSIX.
925         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
926         (Depends-on): Add isnanf-nolibm.
927
928 2012-02-26  Bruno Haible  <bruno@clisp.org>
929
930         fpieee: More comments.
931         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
932
933 2012-02-25  Bruno Haible  <bruno@clisp.org>
934
935         Tests for module 'log10l'.
936         * modules/log10l-tests: New file.
937         * tests/test-log10l.c: New file.
938         * tests/test-math-c++.cc: Check the declaration of log10l.
939
940         New module 'log10l'.
941         * lib/math.in.h (log10l): New declaration.
942         * lib/log10l.c: New file.
943         * m4/log10l.m4: New file.
944         * modules/log10l: New file.
945         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
947         HAVE_DECL_LOG10L.
948         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
949         HAVE_DECL_LOG10L.
950         * doc/posix-functions/log10l.texi: Mention the new module.
951
952 2012-02-25  Bruno Haible  <bruno@clisp.org>
953
954         fmodl, remainder*: Avoid wrong results due to rounding errors.
955         * lib/fmodl.c (fmodl): Correct the result if it is not within the
956         expected bounds.
957         * lib/remainderf.c (remainderf): Likewise.
958         * lib/remainder.c (remainder): Likewise.
959         * lib/remainderl.c (remainderl): Likewise.
960
961 2012-02-25  Bruno Haible  <bruno@clisp.org>
962
963         Tests for module 'remainderl'.
964         * modules/remainderl-tests: New file.
965         * tests/test-remainderl.c: New file.
966         * tests/test-math-c++.cc: Check the declaration of remainderl.
967
968         New module 'remainderl'.
969         * lib/math.in.h (remainderl): New declaration.
970         * lib/remainderl.c: New file.
971         * m4/remainderl.m4: New file.
972         * modules/remainderl: New file.
973         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
975         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
976         HAVE_REMAINDERL.
977         * doc/posix-functions/remainderl.texi: Mention the new module.
978
979 2012-02-25  Bruno Haible  <bruno@clisp.org>
980
981         Tests for module 'remainderf'.
982         * modules/remainderf-tests: New file.
983         * tests/test-remainderf.c: New file.
984         * tests/test-math-c++.cc: Check the declaration of remainderf.
985
986         New module 'remainderf'.
987         * lib/math.in.h (remainderf): New declaration.
988         * lib/remainderf.c: New file.
989         * m4/remainderf.m4: New file.
990         * modules/remainderf: New file.
991         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
993         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
994         HAVE_REMAINDERF.
995         * doc/posix-functions/remainderf.texi: Mention the new module.
996
997 2012-02-25  Bruno Haible  <bruno@clisp.org>
998
999         remainder: Support for MSVC.
1000         * lib/math.in.h (remainder): New declaration.
1001         * lib/remainder.c: New file.
1002         * m4/remainder.m4: New file.
1003         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1004         (Depends-on): Add math, round, fma.
1005         (configure.ac): Use results of gl_FUNC_REMAINDER.
1006         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1008         HAVE_DECL_REMAINDER.
1009         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1010         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1011         * tests/test-math-c++.cc: Check the declaration of remainder.
1012         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1013         problems are fixed.
1014
1015 2012-02-25  Bruno Haible  <bruno@clisp.org>
1016
1017         Tests for module 'fmodl'.
1018         * modules/fmodl-tests: New file.
1019         * tests/test-fmodl.c: New file.
1020         * tests/test-math-c++.cc: Check the declaration of fmodl.
1021
1022         New module 'fmodl'.
1023         * lib/math.in.h (fmodl): New declaration.
1024         * lib/fmodl.c: New file.
1025         * m4/fmodl.m4: New file.
1026         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1028         REPLACE_FMODL.
1029         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1030         REPLACE_FMODL.
1031         * modules/fmodl: New file.
1032         * doc/posix-functions/fmodl.texi: Mention the new module.
1033
1034 2012-02-25  Bruno Haible  <bruno@clisp.org>
1035
1036         Tests for module 'modfl'.
1037         * modules/modfl-tests: New file.
1038         * tests/test-modfl.c: New file.
1039         * tests/test-math-c++.cc: Check the declaration of modfl.
1040
1041         New module 'modfl'.
1042         * lib/math.in.h (modfl): New declaration.
1043         * lib/modfl.c: New file.
1044         * m4/modfl.m4: New file.
1045         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1046         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1047         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1048         * modules/modfl: New file.
1049         * doc/posix-functions/modfl.texi: Mention the new module.
1050
1051 2012-02-25  Bruno Haible  <bruno@clisp.org>
1052
1053         Tests for module 'fabsl'.
1054         * modules/fabsl-tests: New file.
1055         * tests/test-fabsl.c: New file.
1056         * tests/test-math-c++.cc: Check the declaration of fabsl.
1057
1058         New module 'fabsl'.
1059         * lib/math.in.h (fabsl): New declaration.
1060         * lib/fabsl.c: New file.
1061         * m4/fabsl.m4: New file.
1062         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1064         REPLACE_FABSL.
1065         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1066         REPLACE_FABSL.
1067         * modules/fabsl: New file.
1068         * doc/posix-functions/fabsl.texi: Mention the new module.
1069
1070 2012-02-25  Bruno Haible  <bruno@clisp.org>
1071
1072         fabs tests: More tests.
1073         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1074         (zero): New variable.
1075         (main): Add tests for signed zero.
1076         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1077
1078         fabsf tests: More tests.
1079         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1080         (zero): New variable.
1081         (main): Add tests for signed zero.
1082         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1083
1084 2012-02-24  Bruno Haible  <bruno@clisp.org>
1085
1086         atanl: Provide function definition on MSVC.
1087         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1088         function pointer.
1089         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1090
1091 2012-02-24  Bruno Haible  <bruno@clisp.org>
1092
1093         acosl: Provide function definition on MSVC.
1094         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1095         function pointer.
1096         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1097
1098 2012-02-24  Bruno Haible  <bruno@clisp.org>
1099
1100         asinl: Provide function definition on MSVC.
1101         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1102         function pointer.
1103         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1104
1105 2012-02-24  Bruno Haible  <bruno@clisp.org>
1106
1107         tanl: Provide function definition on MSVC.
1108         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1109         function pointer.
1110         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1111
1112 2012-02-24  Bruno Haible  <bruno@clisp.org>
1113
1114         cosl: Provide function definition on MSVC.
1115         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1116         function pointer.
1117         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1118
1119 2012-02-24  Bruno Haible  <bruno@clisp.org>
1120
1121         sinl: Provide function definition on MSVC.
1122         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1123         function pointer.
1124         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1125
1126 2012-02-24  Bruno Haible  <bruno@clisp.org>
1127
1128         logl: Provide function definition on MSVC.
1129         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1130         function pointer.
1131         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1132
1133 2012-02-24  Bruno Haible  <bruno@clisp.org>
1134
1135         expl: Provide function definition on MSVC.
1136         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1137         function pointer.
1138         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1139
1140 2012-02-24  Bruno Haible  <bruno@clisp.org>
1141
1142         sqrtl: Provide function definition on MSVC.
1143         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1144         a function pointer.
1145         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1146
1147 2012-02-24  Bruno Haible  <bruno@clisp.org>
1148
1149         ceill: Provide function definition on MSVC.
1150         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1151         used as a function pointer.
1152         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1153
1154 2012-02-24  Bruno Haible  <bruno@clisp.org>
1155
1156         floorl: Provide function definition on MSVC.
1157         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1158         used as a function pointer.
1159         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1160
1161 2012-02-24  Bruno Haible  <bruno@clisp.org>
1162
1163         ceilf: Provide function definition on MSVC.
1164         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1165         used as a function pointer.
1166         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1167
1168 2012-02-24  Bruno Haible  <bruno@clisp.org>
1169
1170         floorf: Provide function definition on MSVC.
1171         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1172         used as a function pointer.
1173         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1174
1175 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1176
1177         stdnoreturn: new module
1178         This implements a replacement for C11's <stdnoreturn.h>.
1179         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1180         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1181         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1182         * tests/test-stdnoreturn.c: New files.
1183
1184 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1185
1186         regex: fix false multibyte matches in some regular expressions
1187         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1188         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1189         * lib/regex_internal.c (re_string_skip_chars):
1190         Fix miscomputation of remain_len that may cause incomplete
1191         multi-byte character and false match.
1192
1193 2012-02-24  Jim Meyering  <meyering@redhat.com>
1194
1195         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1196         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1197         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1198         Remove now-unnecessary str''cmp obfuscation.
1199         Suggested by Akim Demaille.
1200
1201 2012-02-24  Bruno Haible  <bruno@clisp.org>
1202
1203         streq: Rename macro.
1204         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1205         * NEWS: Mention the change.
1206         * lib/mbrtowc.c (mbrtowc): Update.
1207         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1208         * lib/wcwidth.c (wcwidth): Update.
1209         Suggested by Akim Demaille and Jim Meyering.
1210
1211 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1212
1213         regex: fix typo in definition of MIN
1214         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1215         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1216
1217 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1218             Bruno Haible  <bruno@clisp.org>
1219
1220         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1221         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1222         entries into a stack-allocated buffer directly.
1223         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1224
1225 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1226             Bruno Haible  <bruno@clisp.org>
1227
1228         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1229
1230          - There were several instances of this pattern:
1231
1232              for (;;) {
1233                n = acl (f, GETACLCNT, 0, NULL);
1234                [ allocate an array A of size N ]
1235                if (acl (f, GETACL, n, a) == n)
1236                  break;
1237              }
1238
1239            This loop might never terminate if some other process is constantly
1240            manipulating the file's ACL.  The loop should be rewritten to
1241            terminate.
1242
1243          - The acl (... GETACLNT ...) call is merely an optimization; its value
1244            is merely a hint as to how big to make the array.  A better
1245            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1246            and just guess a reasonably-big size, growing the size and trying
1247            again if it's not large enough.  This guarantees termination, and
1248            saves a system call.
1249
1250         * lib/acl-internal.h: Include <limits.h>.
1251         (MIN, SIZE_MAX): New macros.
1252         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1253         a stack-allocated buffer, and use malloc if it does not fit. Don't
1254         use GETACLCNT.
1255         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1256
1257 2012-02-19  Bruno Haible  <bruno@clisp.org>
1258
1259         acl: Fix endless loop on Solaris with vxfs.
1260         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1261         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1262         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1263         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1264         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1265         Reported by Bill Jones in
1266         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1267
1268 2012-02-19  Bruno Haible  <bruno@clisp.org>
1269
1270         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1271         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1272         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1273         that this function returns 0 in some more cases.
1274
1275 2012-02-19  Bruno Haible  <bruno@clisp.org>
1276
1277         acl: Update doc references.
1278         * doc/acl-resources.txt: Update links to Solaris documentation.
1279
1280 2012-02-19  Bruno Haible  <bruno@clisp.org>
1281
1282         Fix test failure in many locales on Solaris 11.
1283         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1284         'tr' arguments.
1285         * tests/test-pipe-filter-ii1.c (main): Likewise.
1286         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1287         expressions in the C locale.
1288         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1289         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1290
1291 2012-02-19  Bruno Haible  <bruno@clisp.org>
1292
1293         gnulib-tool: Improve usage message.
1294         * gnulib-tool (func_usage): Move doc of --help and --version to the
1295         section "Operation modes".
1296
1297 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1298
1299         README-release: make it easier to execute commands
1300         * top/README-release: break commands out on to separate lines.
1301
1302 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1303
1304         GNUmakefile: simplify detection of unconfigured trees
1305         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1306         whether the tree make is being run from is already configured or
1307         not.  Related simplifications.
1308
1309 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1310
1311         * gnulib-tool (func_usage): Document --help and --version.
1312
1313 2012-02-11  Jim Meyering  <meyering@redhat.com>
1314
1315         bootstrap: don't exit 0 upon gnulib-tool failure
1316         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1317         its exit status, not 0.
1318
1319 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1320
1321         README-release: various improvements
1322         * top/README-release: Give a command to push changes for the
1323         release.  Add "distcheck" to list of other pre-release checks.
1324         Fix instance of "make stable" which should be "make TYPE".
1325
1326 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1327
1328         maint: replace FSF snail-mail addresses with URLs
1329         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1330         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
1331         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
1332         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
1333         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
1334         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
1335         * lib/check-version.c, lib/check-version.h, lib/config.charset:
1336         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
1337         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
1338         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
1339         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
1340         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
1341         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
1342         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
1343         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
1344         * lib/glthread/thread.c, lib/glthread/thread.h:
1345         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
1346         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
1347         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
1348         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
1349         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
1350         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
1351         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
1352         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
1353         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
1354         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
1355         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
1356         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
1357         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
1358         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
1359         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
1360         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
1361         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
1362         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
1363         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
1364         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
1365         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
1366         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
1367         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
1368         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
1369         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
1370         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
1371         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
1372         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
1373         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
1374         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
1375         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
1376         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
1377         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
1378         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
1379         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
1380         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
1381         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
1382         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
1383         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
1384         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
1385         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
1386         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
1387         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
1388         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
1389         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
1390         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
1391         * tests/test-poll.c, tests/test-quotearg-simple.c:
1392         * tests/test-quotearg.c, tests/test-quotearg.h:
1393         * tests/test-round-ieee.c, tests/test-round1.c:
1394         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
1395         * tests/test-roundl-ieee.c, tests/test-roundl.c:
1396         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
1397         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
1398         * tests/test-strerror.c, tests/test-strerror_r.c:
1399         * tests/test-strsignal.c, tests/test-strverscmp.c:
1400         * tests/test-xmemdup0.c:
1401         Replace FSF snail mail addresses with URLs, as per GNU coding
1402         standards.  See glibc bug
1403         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
1404
1405 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1406
1407         README-release: capitalize a word and split a line
1408         * top/README-release: Fix punctuation and spacing.
1409
1410 2012-02-08  Akim Demaille  <demaille@gostai.com>
1411
1412         fatal-signal: use C prototypes (with explicit void).
1413         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
1414         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
1415
1416 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1417
1418         regex: spelling fix
1419         * lib/regexec.c: spelling fix
1420
1421         regex: rely on stdint.h for SIZE_MAX
1422         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
1423
1424 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1425
1426         regex: merge glibc changes
1427
1428         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
1429         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
1430         (init_word_char): Work even if bitset words are not exactly 32 or
1431         64 bits wide.  Don't assume there are no padding bits.
1432         * lib/regex.c [_LIBC]: Do not include <config.h>.
1433         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
1434         and -Wtype-limits.
1435         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
1436         needless disagreement with glibc.  All uses changed.  Define it to
1437         1 only if _GNU_SOURCE, to match glibc.
1438         (_REG_RM_NAME): Remove; no longer needed, since the names in
1439         question are now all protected by __USE_GNU.
1440         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
1441         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
1442         * lib/regex_internal.h (MIN): New macro.
1443
1444         2012-01-03 Ulrich Drepper <drepper@gmail.com>
1445         * lib/regcomp.c (init_word_char): Optimize regex a bit.
1446
1447         2011-12-30 Jakub Jelinek <jakub@redhat.com>
1448         * lib/regex_internal.c (re_string_fetch_byte_case):
1449         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
1450         is miscompiled, and it turns out it is because of an incorrect
1451         attribute on re_string_fetch_byte_case.  Unlike
1452         re_string_peek_byte_case, this one is really not pure, it modifies
1453         memory (increments pstr->cur_idx), and with the pure attribute GCC
1454         assumed it doesn't and it cached the presumed value of
1455         regexp->cur_idx in a variable across the
1456          for (;; ++i)
1457            {
1458              if (i >= BRACKET_NAME_BUF_SIZE)
1459                return REG_EBRACK;
1460              if (token->type == OP_OPEN_CHAR_CLASS)
1461                ch = re_string_fetch_byte_case (regexp);
1462              else
1463                ch = re_string_fetch_byte (regexp);
1464              if (re_string_eoi(regexp))
1465                return REG_EBRACK;
1466              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
1467                break;
1468              elem->opr.name[i] = ch;
1469            }
1470
1471         2011-11-29 Andreas Schwab <schwab@redhat.com>
1472         * lib/regcomp.c (build_equiv_class):
1473         Fix access after end of search string in regex matcher.
1474
1475         2011-11-12 Ulrich Drepper <drepper@redhat.com>
1476         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
1477
1478         2011-10-12 Ulrich Drepper <drepper@redhat.com>
1479         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
1480
1481         2011-10-11 Ulrich Drepper <drepper@redhat.com>
1482         * lib/regcomp.c (parse_branch, parse_sub_exp):
1483         More regex memory leak fixes and tests.
1484         (parse_sub_exp, parse_bracket_exp):
1485         Fix memory leak for some invalid regular expressions.
1486
1487         2011-05-28 Ulrich Drepper <drepper@gmail.com>
1488         * lib/regex_internal.c, lib/regexec.c:
1489         Fix unnecessary overallocation due to incomplete character.  When
1490         incomplete characters are found at the end of a string the code
1491         ran amok and allocated lots of memory.  Stricter limits are now in
1492         place.
1493
1494         2011-05-20 Reuben Thomas <rrt@sc3d.org>
1495         * lib/regex.h: Update documentation.
1496
1497         2011-05-16 Aharon Robbins <arnold@skeeve.com>
1498         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
1499
1500         2010-05-05 Andreas Schwab <schwab@redhat.com>
1501         * lib/regexec.c (find_collation_sequence_value):
1502         Fix lookup of collation sequence value during regexp matching.
1503
1504         2010-01-22 Ulrich Drepper <drepper@redhat.com>
1505         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
1506
1507         2008-01-16 Ulrich Drepper <drepper@redhat.com>
1508         * lib/regex.h: Cleanup namespace.
1509
1510         2007-11-26 Ulrich Drepper <drepper@redhat.com>
1511         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
1512
1513         2007-08-26 Ulrich Drepper <drepper@redhat.com>
1514         * lib/regex_internal.h: Prevent some declarations and definitions
1515         to be seen when used in tests.
1516
1517         2005-05-06 Ulrich Drepper <drepper@redhat.com>
1518         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
1519         __libc_lock_* macros if not _LIBC.
1520         (struct re_dfa_t): Add lock.
1521
1522 2012-02-07  Eric Blake  <eblake@redhat.com>
1523
1524         maint.mk: also prohibit lower-case @var@
1525         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
1526         lower case, like @top_srcdir@.
1527
1528 2012-02-04  Eric Blake  <eblake@redhat.com>
1529
1530         canonicalize: avoid uninitialized memory use
1531         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
1532         random '/' left in dest.
1533         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
1534
1535 2012-02-04  Bruno Haible  <bruno@clisp.org>
1536
1537         isatty: Fix test failure of ptsname_r on native Windows.
1538         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
1539         and don't set errno.
1540         (isatty): Test first whether fd is valid. Set errno when returning 0.
1541
1542 2012-02-04  Bruno Haible  <bruno@clisp.org>
1543
1544         spawn-pipe tests: Fix a NULL program name in a diagnostic.
1545         * tests/test-spawn-pipe-main.c: Include progname.h.
1546         (main): Invoke set_program_name.
1547         * modules/spawn-pipe-tests (Depends-on): Add progname.
1548
1549         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
1550         * tests/test-nonblocking-socket-main.c: Include progname.h.
1551         (main): Invoke set_program_name.
1552         * modules/nonblocking-socket-tests (Depends-on): Add progname.
1553
1554         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
1555         * tests/test-nonblocking-pipe-main.c: Include progname.h.
1556         (main): Invoke set_program_name.
1557         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
1558
1559 2012-02-04  Eric Blake  <eblake@redhat.com>
1560
1561         canonicalize-lgpl: fix // handling
1562         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
1563
1564         canonicalize: fix // handling
1565         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
1566         /// to //, since only // is special.
1567
1568 2012-02-04  Bruno Haible  <bruno@clisp.org>
1569
1570         ioctl: Fix test failure on native Windows.
1571         * lib/ioctl.c: Include msvc-nothrow.h.
1572         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
1573
1574 2012-02-04  Bruno Haible  <bruno@clisp.org>
1575
1576         fsync: Avoid test failure on native Windows.
1577         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
1578         read-only.
1579
1580 2012-02-04  Bruno Haible  <bruno@clisp.org>
1581
1582         sys_select: Avoid syntax error on OpenBSD 5.0.
1583         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
1584         currently being included, just include the system's <sys/select.h>.
1585
1586 2012-02-04  Bruno Haible  <bruno@clisp.org>
1587
1588         sys_select: Avoid syntax error on OpenBSD 5.0.
1589         * lib/sys_select.in.h: Include <signal.h> only after the include_next
1590         <sys/select.h>, not before.
1591         Reported by Jiri B <jirib@devio.us>.
1592
1593 2012-02-04  Bruno Haible  <bruno@clisp.org>
1594
1595         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
1596         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
1597         global variables.
1598         * tests/test-get-rusage-data.c (main): Likewise.
1599         Reported by Jim Meyering.
1600
1601 2012-02-04  Bruno Haible  <bruno@clisp.org>
1602
1603         stdioext: Fix last commit.
1604         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
1605
1606 2012-02-03  Bruno Haible  <bruno@clisp.org>
1607
1608         stdioext: Add tentative support for Plan9.
1609         * lib/stdio-impl.h: Include <errno.h>.
1610         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
1611         * lib/freadable.c (freadable): Likewise.
1612         * lib/fwritable.c (fwritable): Likewise.
1613         * lib/fbufmode.c (fbufmode): Likewise.
1614         * lib/freading.c (freading): Likewise.
1615         * lib/fwriting.c (fwriting): Likewise.
1616         * lib/freadptr.c (freadptr): Likewise.
1617         * lib/freadseek.c (freadptrinc): Likewise.
1618         * lib/freadahead.c (freadahead): Likewise.
1619         * lib/fpurge.c (fpurge): Likewise.
1620         * lib/fseeko.c (rpl_fseeko): Likewise.
1621         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
1622         Reported by Jens Staal <staal1978@gmail.com>.
1623
1624 2012-02-02  Jim Meyering  <meyering@redhat.com>
1625
1626         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
1627         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
1628         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
1629         not even to try to add the attribute.  Instead, add a pragma to suppress
1630         the suggestion/warning.
1631
1632 2012-01-31  Karl Berry  <karl@gnu.org>
1633
1634         setstate doc: typo.
1635         * doc/posix-functions/setstate.texi (setstate): { not (.
1636
1637 2012-01-31  Bruno Haible  <bruno@clisp.org>
1638
1639         popen: Make more robust on Windows.
1640         * lib/popen.c: On native Windows, use the _popen based code even if
1641         HAVE_POPEN is set.
1642         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
1643         environment variable on native Windows.
1644
1645 2012-01-30  Bruno Haible  <bruno@clisp.org>
1646
1647         pclose: Fix typo.
1648         * lib/stdio.in.h (pclose): Fix typo in warning message.
1649
1650 2012-01-30  Bruno Haible  <bruno@clisp.org>
1651
1652         doc about getlogin_r, setstate.
1653         * doc/posix-functions/getlogin_r.texi: List the incompatible
1654         declaration problem under "not fixed by gnulib".
1655         * doc/posix-functions/setstate.texi: Mention incompatible declaration
1656         problem on Solaris 11 and other platforms.
1657
1658 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
1659             Bruno Haible  <bruno@clisp.org>
1660
1661         poll tests: Make test more robust.
1662         * tests/test-poll.c: Include macros.h.
1663         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
1664         return value of various I/O operations.
1665         * modules/poll-tests (Files): Add tests/macros.h.
1666
1667 2012-01-30  Bruno Haible  <bruno@clisp.org>
1668
1669         sys_stat: Fix support for mingw64 and MSVC.
1670         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
1671         header files already do it.
1672         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
1673         stat itself.
1674         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1675
1676 2012-01-30  Bruno Haible  <bruno@clisp.org>
1677
1678         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
1679         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
1680         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
1681
1682 2012-01-29  Bruno Haible  <bruno@clisp.org>
1683
1684         quotearg: Fix test failure on MacOS X 10.5.
1685         * tests/test-quotearg-simple.c: Include localcharset.h.
1686         (main): If the locale encoding is not ASCII, bypass the tests of
1687         locale_quoting_style and clocale_quoting_style.
1688         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
1689
1690 2012-01-29  Jim Meyering  <meyering@redhat.com>
1691
1692         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
1693         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
1694         detect uses of canonicalize_file_name.
1695
1696 2012-01-28  Bruno Haible  <bruno@clisp.org>
1697
1698         test-framework-sh: Fix test failure with AIX 7.1 diff.
1699         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
1700         in column 1, like 'diff -c' does.
1701         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
1702         whether 'diff -u' is used. Instead, test whether the output contains
1703         some '@' character.
1704
1705 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1706
1707         strtoimax: eliminate need for stdint.h, inttypes.h checks
1708         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
1709         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
1710         the prerequisites for a recently-introduced strtoimax test.
1711         I guess this might cause strtoimax to be replaced when not
1712         strictly necessary on older hosts, but this shouldn't introduce
1713         any bugs and it should make Emacs 'configure' faster on typical
1714         modern hosts.  Problem discovered when importing the latest gnulib
1715         to an Emacs test version.
1716         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
1717
1718 2012-01-28  Bruno Haible  <bruno@clisp.org>
1719
1720         sys_time: Override 'struct timeval' on some native Windows platforms.
1721         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
1722         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
1723         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
1724         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
1725         needs to be overridden.
1726         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
1727         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
1728         * tests/test-sys_select.c: Check that the tv_sec member has the same
1729         size as a 'time_t'.
1730         * tests/test-sys_time.c: Likewise.
1731         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
1732         is set, set also REPLACE_GETTIMEOFDAY.
1733         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
1734         convert the resulting 'struct timeval' before returning.
1735         * lib/select.c: Include <sys/time.h>.
1736         (select, timeval): Undefine at the right place.
1737         * modules/select (Depends-on): Add sys_time.
1738         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
1739         some Windows platforms.
1740         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
1741
1742 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1743
1744         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
1745         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
1746         an integer.
1747         * lib/fcntl.c (dupfd): Likewise.
1748         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
1749
1750 2012-01-28  Bruno Haible  <bruno@clisp.org>
1751
1752         fcntl: Avoid compilation error on native Windows.
1753         * modules/fcntl (Depends-on): Add 'close'.
1754
1755 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1756
1757         select, poll, isatty: Avoid warnings on x86_64 mingw64.
1758         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
1759         pointer to an integer.
1760         * lib/poll.c (IsConsoleHandle): Likewise.
1761         * lib/isatty.c (IsConsoleHandle): Likewise.
1762
1763 2012-01-28  Jim Meyering  <meyering@redhat.com>
1764
1765         doc: clarify README-release
1766         * top/README-release: Clarify: you should make a point to have
1767         the latest stable versions of build tools in your PATH, and the
1768         reference to buildreq is solely for its list of tool names, not
1769         for its minimal-functional version numbers.
1770         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
1771
1772         maint.mk: use more readable (yet functionally equivalent) quoting
1773         It is common to quote a single quote in a single quoted string like
1774         this:  '...'\''...'.  Unless you know the idiom, that looks like
1775         gibberish, so prefer to double-quote the string when possible.
1776         Then you can use a more readable, lone single quote: "...'..."
1777         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
1778         "don't" is more readable than the equivalent 'don'\''t'.
1779         (sc_cast_of_x_alloc_return_value): Likewise.
1780         (sc_cast_of_alloca_return_value): Likewise.
1781         (sc_makefile_path_separator_check): Similar: use ":" in '...',
1782         rather than '\'':'\''.
1783
1784 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1785
1786         stdalign: relax _Alignof and tighten _Alignas test
1787         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
1788         as it was too strict: alignof must divide offsetof, but it need
1789         not equal offsetof.  Inspired by Joseph S. Myers's comment
1790         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
1791         Conversely, tighten the _Alignas test a bit, as the resulting
1792         alignment must be exactly 8.
1793
1794 2012-01-27  Bruno Haible  <bruno@clisp.org>
1795
1796         stdalign: Document the last change.
1797         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
1798
1799 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1800
1801         stdalign: check that alignof and offsetof are consistent
1802         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
1803         Problem reported for gnulib by Richard W.M. Jones in
1804         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
1805
1806 2012-01-27  Jim Meyering  <meyering@redhat.com>
1807
1808         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
1809         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
1810         convert a sequence with gaps to the minimal containing range.
1811         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
1812         * tests/test-update-copyright.sh: Test for this.
1813         The FSF confirmed it is ok to do this, assuming there is at
1814         least one significant change per year in the affected range:
1815         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
1816
1817 2012-01-26  Bruno Haible  <bruno@clisp.org>
1818
1819         pipe2: refine doc about thread-safety
1820         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
1821         multithread-safety problem.
1822         * doc/glibc-functions/accept4.texi: Likewise.
1823
1824 2012-01-26  Bruno Haible  <bruno@clisp.org>
1825
1826         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
1827         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
1828         In the test program, include <fcntl.h>, for O_RDONLY.
1829
1830 2012-01-26  Eric Blake  <eblake@redhat.com>
1831
1832         pipe2: document lack of thread-safety in replacement
1833         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
1834         issue in replacement.
1835         * doc/glibc-functions/accept4.texi (accept4): Likewise.
1836         Based on a report by Eric Wong.
1837
1838 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
1839             Bruno Haible  <bruno@clisp.org>
1840
1841         malloca: Avoid warnings on x86_64 mingw64.
1842         * lib/malloca.c: Include <stdint.h>.
1843         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
1844         * modules/malloca (Depends-on): Add stdint.
1845         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
1846
1847 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
1848
1849         obstack: remove __STDC__ conditionals
1850         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
1851         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
1852         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
1853         m4/include_next.m4 as the only gnulib-maintained places that still
1854         refer to __STDC__.
1855
1856 2012-01-24  Bruno Haible  <bruno@clisp.org>
1857
1858         havelib: Modern quoting.
1859         * build-aux/config.rpath: Quote 'like this', not `like this', as per
1860         the recent change to the GNU coding standards.
1861
1862 2012-01-24  Bruno Haible  <bruno@clisp.org>
1863
1864         stdint: Improve support for Android.
1865         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
1866         Reported by Simon Josefsson <simon@josefsson.org>.
1867
1868 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1869
1870         doc: omit trailing empty lines from INSTALL etc.
1871         * doc/Makefile (INSTALL): Omit trailing empty lines.
1872         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
1873         omit trailing empty lines.  This simplifies the build procedure.
1874
1875 2012-01-23  Jim Meyering  <meyering@redhat.com>
1876
1877         tests: avoid spurious warnings about gl_sockets_startup
1878         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
1879         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
1880         reporting a "statement with no effect".
1881         * tests/test-accept.c (main): Mark as "(void)".
1882         * tests/test-accept4.c (main): Likewise.
1883         * tests/test-bind.c (main): Likewise.
1884         * tests/test-connect.c (main): Likewise.
1885         * tests/test-getpeername.c (main): Likewise.
1886         * tests/test-getsockname.c (main): Likewise.
1887         * tests/test-getsockopt.c (main): Likewise.
1888         * tests/test-listen.c (main): Likewise.
1889         * tests/test-recv.c (main): Likewise.
1890         * tests/test-recvfrom.c (main): Likewise.
1891         * tests/test-send.c (main): Likewise.
1892         * tests/test-sendto.c (main): Likewise.
1893         * tests/test-setsockopt.c (main): Likewise.
1894         * tests/test-shutdown.c (main): Likewise.
1895
1896 2012-01-21  Bruno Haible  <bruno@clisp.org>
1897
1898         locale-fr.m4: Fix for Android.
1899         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
1900         failure of the test program on Bionic libc.
1901
1902 2012-01-21  Jim Meyering  <meyering@redhat.com>
1903
1904         bootstrap: fail when bootstrap_post_import_hook fails
1905         Otherwise, it's far too easy to miss diagnostics emitted
1906         between gnulib-tool's output and that of running configure.
1907         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
1908
1909 2012-01-17  Jim Meyering  <meyering@redhat.com>
1910
1911         maint: enable sc_trailing_blank
1912         * build-aux/pmccabe.css: Remove trailing blanks.
1913         * doc/acl-cygwin.txt: Likewise.
1914         * doc/gnu-oids.texi: Likewise
1915         * cfg.mk: Enable sc_trailing_blank.
1916         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
1917
1918 2012-01-17  Jim Meyering  <meyering@redhat.com>
1919
1920         maint: enable sc_prohibit_openat_without_use
1921         * cfg.mk: Enable sc_prohibit_openat_without_use.
1922         Exempt lib/selinux-at.c.
1923
1924 2012-01-17  Jim Meyering  <meyering@redhat.com>
1925
1926         maint: enable sc_prohibit_cloexec_without_use
1927         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
1928         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
1929
1930 2012-01-17  Jim Meyering  <meyering@redhat.com>
1931
1932         maint: enable sc_prohibit_intprops_without_use
1933         * cfg.mk: Enable sc_prohibit_intprops_without_use
1934         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
1935
1936 2012-01-17  Jim Meyering  <meyering@redhat.com>
1937
1938         maint: enable sc_prohibit_hash_pjw_without_use
1939         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
1940         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
1941         to match any use of \<hash_pjw\>, i.e., not necessarily with a
1942         following " (".
1943
1944 2012-01-17  Jim Meyering  <meyering@redhat.com>
1945
1946         maint: enable double-word-prohibiting rule
1947         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
1948         Exempt three files.
1949
1950 2012-01-17  Jim Meyering  <meyering@redhat.com>
1951
1952         maint: remove empty lines at EOF, but excluding modules/*
1953         Apply syntax rules at home as well as abroad.  Most changes
1954         were induced by running this:
1955           make srcdir=. _build-aux=build-aux -f top/maint.mk \
1956             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
1957             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
1958         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
1959         Exempt modules/* and two binary files.
1960         Also exempt doc/INSTALL*, per request from Bruno Haible.
1961         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
1962         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
1963         * doc/Copyright/request-assign.future: Likewise.
1964         * doc/Copyright/request-disclaim.changes: Likewise.
1965         * doc/INSTALL: Likewise.
1966         * doc/INSTALL.ISO: Likewise.
1967         * doc/INSTALL.UTF-8: Likewise.
1968         * doc/acl-cygwin.txt: Likewise.
1969         * doc/acl-resources.txt: Likewise.
1970         * doc/fdl-1.2.texi: Likewise.
1971         * doc/fdl-1.3.texi: Likewise.
1972         * doc/fdl.texi: Likewise.
1973         * lib/argp-pin.c: Likewise.
1974         * lib/round.c: Likewise.
1975         * lib/unicase/u16-totitle.c: Likewise.
1976         * lib/unictype/block_test.c: Likewise.
1977         * lib/uninorm/canonical-decomposition.c: Likewise.
1978         * m4/README: Likewise.
1979         * m4/relocatable-lib.m4: Likewise.
1980         * tests/test-isnand-nolibm.c: Likewise.
1981         * tests/test-isnand.c: Likewise.
1982         * tests/uninorm/NormalizationTest.txt: Likewise.
1983
1984 2012-01-17  Jim Meyering  <meyering@redhat.com>
1985
1986         maint: add framework to run syntax-check rules against gnulib sources
1987         * cfg.mk: New file, to disable all currently-failing tests.
1988         We'll enable them one by one, as they are made to pass.
1989         * Makefile (sc_maint): New rule.
1990
1991 2012-01-21  Bruno Haible  <bruno@clisp.org>
1992
1993         stdint: Add support for Android.
1994         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1995         include the system's <stdint.h>.
1996         Reported by Simon Josefsson <simon@josefsson.org>.
1997
1998 2012-01-19  Jim Meyering  <meyering@redhat.com>
1999
2000         bootstrap: add bootstrap_post_import_hook
2001         Bison does still need something like the gnulib_mk_hook whose
2002         invocation I had to remove along with slurp in commit 767ccd40.
2003         Technically, we could get along without it, but doing so would
2004         have required living with a warning and a mandatory post-bootstrap
2005         automake rerun.
2006         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2007         (bootstrap_post_import_hook): New function.
2008         Invoke it after gnulib-tool --import and before autoreconf.
2009
2010 2012-01-18  Jim Meyering  <meyering@redhat.com>
2011
2012         gitlog-to-changelog: don't use "no_"-prefixed variable name
2013         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2014         to enable both --cluster and --no-cluster.  Change variable name,
2015         s/\$no_cluster/$cluster/, and reverse usage to match.
2016
2017         gitlog-to-changelog: use "||", not "or" in expressions
2018         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2019         expressions.
2020
2021 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2022
2023         gitlog-to-changelog: new option --no-cluster
2024         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2025         clustering of adjacent commit messages.
2026
2027 2012-01-17  Jim Meyering  <meyering@redhat.com>
2028
2029         maint: spell file systems with two words, not one
2030         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2031         two words, not one.
2032
2033 2012-01-16  Jim Meyering  <meyering@redhat.com>
2034
2035         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2036         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2037
2038 2012-01-16  Eric Blake  <eblake@redhat.com>
2039
2040         bootstrap: cater to autoconf 2.59
2041         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2042         is not available.
2043
2044         bootstrap: properly check for libtool
2045         * build-aux/bootstrap (libtoolize): Also run libtool when older
2046         usage is detected.
2047
2048 2012-01-15  Bruno Haible  <bruno@clisp.org>
2049
2050         Improve support for MSVC 9.
2051         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2052         clashes on MSVC.
2053         * lib/fcntl.in.h: Likewise.
2054         * lib/stdlib.in.h: Likewise.
2055         * lib/sys_stat.in.h: Likewise.
2056
2057 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2058
2059         gnupload: we hold the master copy of this script now
2060         For motivation and more information, see:
2061         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2062         * build-aux/gnupload: Make it clear in the heading comments that the
2063         master copy of this file is maintained by gnulib.  Since we are at
2064         it, bump its copyright year and ...
2065         ($scriptversion): ... the date in its version.
2066         ($usage): Patches and bug reports should be sent to the gnulib list,
2067         not the automake one.
2068         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2069         anymore.
2070
2071 2012-01-15  Bruno Haible  <bruno@clisp.org>
2072
2073         Fix module 'random'.
2074         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2075         initstate, setstate are declared.
2076
2077 2012-01-14  Bruno Haible  <bruno@clisp.org>
2078
2079         Tests for module 'random'.
2080         * modules/random-tests: New file.
2081         * tests/test-random.c: New file, based on tests/test-random_r.c.
2082
2083         New module 'random'.
2084         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2085         declarations.
2086         * lib/random.c: New file, based on glibc/stdlib/random.c.
2087         * m4/random.m4: New file.
2088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2089         HAVE_RANDOM.
2090         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2091         * modules/random: New file.
2092         * config/srclist.txt: Add an entry for random.c.
2093         * doc/posix-functions/random.texi: Mention the 'random' module.
2094         * doc/posix-functions/initstate.texi: Likewise.
2095         * doc/posix-functions/setstate.texi: Likewise.
2096         * doc/posix-functions/srandom.texi: Likewise.
2097
2098 2012-01-12  Bruno Haible  <bruno@clisp.org>
2099
2100         random_r: Use common idioms.
2101         * lib/random_r.c: Include <stdlib.h> first.
2102
2103         random_r: Override incompatible API on AIX, OSF/1.
2104         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2105         Override the system function if REPLACE_RANDOM_R is 1.
2106         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2107         and OSF/1, set REPLACE_RANDOM_R.
2108         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2109         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2110         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2111         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2112         * doc/glibc-functions/random_r.texi: Likewise.
2113         * doc/glibc-functions/setstate_r.texi: Likewise.
2114
2115         random_r: Support for MSVC 9.
2116         * lib/random_r.c: Include stdint.h, not inttypes.h.
2117
2118 2012-01-12  Eric Blake  <eblake@redhat.com>
2119
2120         inet_ntop: guard extra work by IF_LINT
2121         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2122         better code generation when not checking for warnings.
2123         Suggested by Paul Eggert and Jim Meyering.
2124
2125         strptime: fix regression on mingw
2126         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2127         Fix regression.  Reported by Bruno Haible.
2128
2129 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2130             Bruno Haible  <bruno@clisp.org>
2131
2132         copy-file: add error-code-returning variant.
2133         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2134         (qcopy_file_preserving): New declaration.
2135         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2136         copy_file_preserving. Change return type to 'int'. Don't emit an error
2137         message here.
2138         (copy_file_preserving): New function.
2139         * tests/test-copy-file.c: Include <stdlib.h>.
2140         (main): Test qcopy_file_preserving if the environment variable
2141         NO_STDERR_OUTPUT is set.
2142         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2143         with NO_STDERR_OUTPUT
2144         * tests/test-copy-file-2.sh: Likewise.
2145
2146 2012-01-10  Bruno Haible  <bruno@clisp.org>
2147
2148         copy-file: Use 'quote' module consistently.
2149         * lib/copy-file.c (copy_file_preserving): Use quote().
2150
2151         copy-file: Refactor.
2152         * lib/copy-file.c: Include quote.h.
2153         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2154         message here.
2155         * modules/copy-file (Depends-on): Add quote.
2156
2157         acl: Export qcopy_acl.
2158         * lib/acl.h (qcopy_acl): New declaration.
2159         * lib/copy-acl.c (qcopy_acl): Make non-static.
2160
2161         acl: Rename a local variable.
2162         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2163
2164         acl: Align return values of copy_acl and qcopy_acl.
2165         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2166         maybe < -1.
2167
2168 2012-01-11  Eric Blake  <eblake@redhat.com>
2169
2170         strptime: silence gcc warnings
2171         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2172         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2173         Reported by Daniel P. Berrange.
2174
2175         inet_ntop: silence gcc warning
2176         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2177         Reported by Daniel P. Berrange.
2178
2179 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2180
2181         getloadavg test: skip the test on GNU/Linux without /proc mounted
2182         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2183         file.  When /proc is not mounted, it always fails with ENOENT.
2184         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2185         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2186
2187 2012-01-10  Bruno Haible  <bruno@clisp.org>
2188
2189         regex: Avoid link error on MSVC 9.
2190         * modules/regex (Depends-on): Add wctype.
2191
2192 2012-01-10  Bruno Haible  <bruno@clisp.org>
2193
2194         doc: Mention --with-tests option.
2195         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2196         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2197         --with-tests.
2198         Reported by Reuben Thomas.
2199
2200 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2201
2202         users.txt: order package names lexicographically.
2203         * users.txt: Order package names lexicographically.
2204
2205 2012-01-10  Jim Meyering  <meyering@redhat.com>
2206
2207         maint.mk: fix description in comment
2208         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2209
2210         ignore-value: remove deprecated ignore_ptr function
2211         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2212         * NEWS: Note this.
2213
2214 2012-01-09  Jim Meyering  <meyering@redhat.com>
2215
2216         test-init.sh: avoid a subshell
2217         * tests/test-init.sh: Remove protective subshell.
2218         Suggested by Bernhard Voelker.  While a subshell is normally
2219         required to protect against older shells (Solaris, FreeBSD) that
2220         warn about a missing program before performing redirection, the
2221         shell-selection tests performed by init.sh probably exclude any
2222         offending shell.
2223
2224 2012-01-08  Bruno Haible  <bruno@clisp.org>
2225
2226         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2227         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2228         variable.
2229
2230 2012-01-08  Bruno Haible  <bruno@clisp.org>
2231
2232         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2233         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2234         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2235         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2236         macro.
2237         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2238         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2239         * lib/spawn_faction_addopen.c: Add workaround implementation if
2240         HAVE_WORKING_POSIX_SPAWN.
2241         * modules/spawn (Makefile): Substitute
2242         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2243         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2244         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2245         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2246         (Depends-on): Update conditions.
2247         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2248         the Solaris 11 bug.
2249
2250 2012-01-08  Bruno Haible  <bruno@clisp.org>
2251
2252         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2253         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2254         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2255         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2256         macro.
2257         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2258         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2259         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2260         HAVE_WORKING_POSIX_SPAWN.
2261         * modules/spawn (Makefile): Substitute
2262         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2263         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2264         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2265         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2266         (Depends-on): Update conditions.
2267         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2268         the Solaris 11 bug.
2269
2270 2012-01-08  Bruno Haible  <bruno@clisp.org>
2271
2272         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2273         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2274         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2275         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2276         HAVE_WORKING_POSIX_SPAWN.
2277         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2278         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2279         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2280         * lib/spawn_faction_addclose.c: Add workaround implementation if
2281         HAVE_WORKING_POSIX_SPAWN.
2282         * modules/spawn (Makefile): Substitute
2283         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2284         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2285         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2286         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2287         (Depends-on): Update conditions.
2288         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2289         the Solaris 11 bug.
2290
2291 2012-01-08  Bruno Haible  <bruno@clisp.org>
2292
2293         doc: Update for Solaris 11 2011-11.
2294         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2295         * m4/printf.m4: Update comments.
2296
2297 2012-01-08  Bruno Haible  <bruno@clisp.org>
2298
2299         mktime: Avoid compilation error on Solaris 11.
2300         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2301
2302 2012-01-08  Bruno Haible  <bruno@clisp.org>
2303
2304         doc: Small fix.
2305         * doc/posix-headers/nl_types.texi: Correct platforms list.
2306
2307 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2308
2309         Add lgpl-3.0 module.
2310         * MODULES.html.sh (Support for building documentation): Add
2311         lgpl-3.0.
2312         * modules/lgpl-3.0: New file.
2313
2314 2012-01-08  Jim Meyering  <meyering@redhat.com>
2315
2316         select.c: indent with spaces, not TABs
2317         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2318
2319 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2320
2321         quotearg: do not use grave accent for left quote
2322         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2323         locale_quoting_style.
2324         (quotearg_buffer_restyled): Fix example.
2325         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2326
2327 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2328
2329         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2330         Most programs do not have translation catalogs for English and much
2331         less separate catalogs for British and American English.  Drop the
2332         suggestion to translators about these two, and provide it
2333         automatically for Unicode locales.  Like most programs, even those
2334         using American English, we use single quotation marks.  This conflicts
2335         with the American typographic convention, but works better when you
2336         cite the entire error message within double quotes.  It also tries not
2337         to clash with established practice and with what non-gnulib programs
2338         will usually do.
2339         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
2340         using an UTF-8 or GB-18030 locale.  The list of other locales with
2341         quotes was provided by Bruno Haible.
2342         (quotearg_buffer_restyled): Adjust instructions to translators.
2343         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
2344         text, since this would be wrong when using Unicode.
2345         * modules/quotearg: Depend on c-strcaseeq.
2346
2347 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2348
2349         quotearg: fix Wikipedia link
2350         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
2351
2352 2012-01-07  Simon Josefsson  <simon@josefsson.org>
2353
2354         Fix for mingw with MSVC9.
2355         * m4/ld-version-script.m4: Check that compiler rejects version
2356         scripts with syntax errors.  Reported by Bruno Haible
2357         <bruno@clisp.org>.
2358
2359 2012-01-06  Bruno Haible  <bruno@clisp.org>
2360
2361         Talk about "native Windows API", not "Woe32".
2362         * lib/accept4.c: Update comments to mention native Windows.
2363         * lib/execute.c: Likewise.
2364         * lib/fatal-signal.c: Likewise.
2365         * lib/localcharset.c: Likewise.
2366         * lib/nanosleep.c: Likewise.
2367         * lib/nl_langinfo.c: Likewise.
2368         * lib/pclose.c: Likewise.
2369         * lib/pipe-filter-gi.c: Likewise.
2370         * lib/pipe-filter-ii.c: Likewise.
2371         * lib/pipe.c: Likewise.
2372         * lib/pipe2.c: Likewise.
2373         * lib/popen.c: Likewise.
2374         * lib/progreloc.c: Likewise.
2375         * lib/relocatable.c: Likewise.
2376         * lib/sigaction.c: Likewise.
2377         * lib/sigprocmask.c: Likewise.
2378         * lib/spawn-pipe.h: Likewise.
2379         * lib/spawn-pipe.c: Likewise.
2380         * lib/spawni.c: Likewise.
2381         * lib/stat-time.h: Likewise.
2382         * lib/w32spawn.h: Likewise.
2383         * tests/test-isatty.c: Likewise.
2384         * lib/config.charset: More comments.
2385         * doc/gnulib-intro.texi: Mention native Windows.
2386         * doc/posix-functions/_Exit_C99.texi: Likewise.
2387         * doc/posix-headers/fcntl.texi: Likewise.
2388
2389 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
2390
2391         argp: Avoid crash if translator uses % characters in a translation.
2392         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
2393         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2394
2395 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
2396
2397         doc: C11 and C++11 are now official
2398         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
2399         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
2400         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
2401         * modules/stdalign:
2402         Replace references to draft C1X to C11, and to draft C++0X to C++11.
2403
2404 2012-01-06  Bruno Haible  <bruno@clisp.org>
2405
2406         uc-is-grapheme-break tests: Tweak.
2407         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
2408         message.
2409
2410 2012-01-06  Bruno Haible  <bruno@clisp.org>
2411
2412         test-init.sh: correct the test for diff -u
2413         * tests/test-init.sh: Also redirect stdout to /dev/null.
2414
2415 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2416
2417         Use ', not `, for quoting output.
2418         * build-aux/announce-gen (usage, sizes, print_news_deltas)
2419         (print_changelog_deltas, get_tool_versions, main program):
2420         * build-aux/git-version-gen:
2421         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
2422         * build-aux/move-if-change (help):
2423         * build-aux/useless-if-before-free (usage, main program):
2424         * check-module (parse_module_file, usage)
2425         (find_included_lib_files, check_module):
2426         * lib/argmatch.c (main) [TEST]:
2427         * lib/argp-help.c (_help):
2428         * lib/getopt1.c (main) [TEST]:
2429         * lib/git-merge-changelog.c (usage):
2430         * lib/xstrtol-error.c (xstrtol_error):
2431         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
2432         * m4/argz.m4 (gl_FUNC_ARGZ):
2433         * m4/bison.m4 (gl_BISON):
2434         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
2435         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
2436         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2437         * m4/fpending.m4 (gl_PREREQ_FPENDING):
2438         * m4/gc-random.m4 (gl_GC_RANDOM):
2439         * m4/intl.m4 (gt_CHECK_DECL):
2440         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
2441         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
2442         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
2443         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
2444         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
2445         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
2446         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
2447         * tests/test-dirname.c (main):
2448         * tests/test-getpass.c (main):
2449         * tests/test-iconvme.c (main):
2450         * tests/test-parse-datetime.c (LOG):
2451         * tests/test-xstrtoimax.sh:
2452         * tests/test-xstrtol.sh:
2453         * tests/test-xstrtoll.sh:
2454         * tests/test-xstrtoumax.sh:
2455         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
2456         * top/GNUmakefile (abort-due-to-no-makefile):
2457         Quote 'like this', not `like this', as per the recent change to
2458         the GNU coding standards.
2459
2460 2012-01-05  Bruno Haible  <bruno@clisp.org>
2461
2462         strtoimax: Don't force a replacement on systems where intmax_t is int.
2463         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
2464         'intmax_t' is not larger than 'int'.
2465         Reported by Pádraig Brady <P@draigBrady.com>.
2466
2467 2012-01-05  Bruno Haible  <bruno@clisp.org>
2468
2469         doc: Mention NetBSD bugs.
2470         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
2471         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
2472
2473 2012-01-05  Bruno Haible  <bruno@clisp.org>
2474
2475         strtoumax tests: Enhance tests.
2476         * tests/test-strtoumax.c (main): Add tests for large values.
2477
2478 2012-01-05  Bruno Haible  <bruno@clisp.org>
2479
2480         strtoimax: Work around AIX 5.1 bug.
2481         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
2482         definition.
2483         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
2484         Set HAVE_STRTOIMAX.
2485         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
2486         REPLACE_STRTOIMAX.
2487         * modules/inttypes-incomplete (Makefile.am): Substitute
2488         REPLACE_STRTOIMAX.
2489         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
2490         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
2491         (Depends-on): Update conditions.
2492         * tests/test-strtoimax.c (main): Add tests for large values.
2493         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
2494
2495 2012-01-05  Bruno Haible  <bruno@clisp.org>
2496
2497         inttypes: Modernize.
2498         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
2499         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
2500         (Makefile.am): Update inttypes.h rule.
2501
2502 2012-01-05  Jim Meyering  <meyering@redhat.com>
2503
2504         init.sh: don't waste a subshell just to redirect stderr
2505         * tests/init.sh: In testing for diff -u and diff -c, use a
2506         stderr-redirecting exec inside `...` rather than a subshell.
2507
2508         test-init.sh: avoid failure on HP-UX 11.00
2509         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
2510         resolves to diff -c or cmp.  Reported by Bruno Haible.
2511
2512 2012-01-05  Bruno Haible  <bruno@clisp.org>
2513
2514         Tests for module 'strtoull'.
2515         * modules/strtoull-tests: New file.
2516         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
2517
2518 2012-01-05  Bruno Haible  <bruno@clisp.org>
2519
2520         Tests for module 'strtoll'.
2521         * modules/strtoll-tests: New file.
2522         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
2523
2524 2012-01-05  Bruno Haible  <bruno@clisp.org>
2525
2526         Tests for module 'strtoul'.
2527         * modules/strtoul-tests: New file.
2528         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
2529
2530 2012-01-05  Bruno Haible  <bruno@clisp.org>
2531
2532         Tests for module 'strtol'.
2533         * modules/strtol-tests: New file.
2534         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
2535
2536 2012-01-04  Jim Meyering  <meyering@redhat.com>
2537
2538         test-init.sh: accommodate Solaris 5.10's different diff -u output
2539         * tests/test-init.sh: Also exempt @@ lines from the comparison
2540         of diff output, since Solaris 5.10 and GNU diff formats differ.
2541         Reported by Stefano Lattarini.
2542
2543 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2544
2545         test-posixtm: don't assume signed integer wraparound
2546         * tests/test-posixtm.c (main): Don't assume wraparound semantics
2547         after signed integer overflow.  Inspired by (though it may not
2548         fix) Bruno Haible's bug report in
2549         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
2550
2551         Spell out "Windows 9x" and "Windows XP".
2552         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
2553         "Windows 9x" and "WinXP" with "Windows XP".
2554
2555 2012-01-04  Jim Meyering  <meyering@redhat.com>
2556
2557         test-vc-list-files-cvs.sh: remove obsolete comment
2558         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
2559         double exit.  Now that's all encapsulated via skip_ and Exit.
2560
2561 2012-01-04  Bruno Haible  <bruno@clisp.org>
2562
2563         Talk about "native Windows API", not "Win32".
2564         * lib/classpath.c: Update comments to mention native Windows.
2565         * lib/csharpexec.c: Likewise.
2566         * lib/dup2.c: Likewise.
2567         * lib/error.c: Likewise.
2568         * lib/fcntl.c: Likewise.
2569         * lib/filename.h: Likewise.
2570         * lib/findprog.c: Likewise.
2571         * lib/get-rusage-as.c: Likewise.
2572         * lib/get-rusage-data.c: Likewise.
2573         * lib/getpagesize.c: Likewise.
2574         * lib/javaexec.c: Likewise.
2575         * lib/msvc-inval.c: Likewise.
2576         * lib/msvc-nothrow.c: Likewise.
2577         * lib/nanosleep.c: Likewise.
2578         * lib/nonblocking.c: Likewise.
2579         * lib/printf-parse.c: Likewise.
2580         * lib/setlocale.c: Likewise.
2581         * lib/sigaction.c: Likewise.
2582         * lib/strerror_r.c: Likewise.
2583         * lib/tmpdir.c: Likewise.
2584         * lib/vasnprintf.c: Likewise.
2585         * lib/w32spawn.h: Likewise.
2586         * lib/waitpid.c: Likewise.
2587         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
2588         * m4/locale-ar.m4: Likewise.
2589         * m4/locale-fr.m4: Likewise.
2590         * m4/locale-ja.m4: Likewise.
2591         * m4/locale-tr.m4: Likewise.
2592         * m4/locale-zh.m4: Likewise.
2593         * m4/printf.m4: Likewise.
2594         * tests/test-cloexec.c: Likewise.
2595         * tests/test-copy-acl.sh: Likewise.
2596         * tests/test-copy-file.sh: Likewise.
2597         * tests/test-file-has-acl.sh: Likewise.
2598         * tests/test-set-mode-acl.sh: Likewise.
2599         * tests/test-dup-safer.c: Likewise.
2600         * tests/test-dup2.c: Likewise.
2601         * tests/test-dup3.c: Likewise.
2602         * tests/test-fcntl.c: Likewise.
2603         * tests/test-nonblocking-pipe.h: Likewise.
2604         * tests/test-nonblocking-socket.h: Likewise.
2605         * tests/test-pipe.c: Likewise.
2606         * tests/test-pipe2.c: Likewise.
2607         * tests/test-spawn-pipe-child.c: Likewise.
2608         * doc/acl-resources.txt: Likewise.
2609         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2610         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
2611         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
2612         * lib/localcharset.c: Update comments to mention native Windows.
2613         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2614         * lib/localename.c: Likewise.
2615         * lib/progreloc.c: Likewise.
2616         * lib/relocatable.c: Likewise.
2617         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
2618         (windows_compute_revents): Renamed from win32_compute_revents.
2619         (windows_compute_revents_socket): Renamed from
2620         win32_compute_revents_socket.
2621         * lib/select.c: Update comments to mention native Windows.
2622         (windows_poll_handle): Renamed from win32_poll_handle.
2623         * m4/threadlib.m4: Update comments to mention native Windows.
2624         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
2625         --enable-threads=windows instead of --enable-threads=win32. Set
2626         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
2627         * lib/glthread/lock.h: Update comments to mention native Windows.
2628         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
2629         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
2630         USE_WIN32_THREADS.
2631         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
2632         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
2633         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
2634         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
2635         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
2636         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
2637         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
2638         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
2639         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
2640         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
2641         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
2642         * tests/test-tls.c: Likewise.
2643         Rationale:
2644         Microsoft renamed the "Win32 API" to "Windows API", as it is available
2645         on both 32-bit and 64-bit Windows systems.
2646         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
2647         line of distinction is between "native Windows" on one side and Unix/
2648         POSIX systems on the other side. More details in
2649         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
2650         Suggested by Paul Eggert.
2651
2652 2012-01-03  Bruno Haible  <bruno@clisp.org>
2653
2654         isatty: Support for MSVC 9.
2655         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
2656         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
2657         (_isatty_nothrow): New function.
2658         (isatty): Use it instead of _isatty.
2659         (IsConsoleHandle): Add comment, from Paolo Bonzini.
2660         * lib/poll.c (IsConsoleHandle): Likewise.
2661         * lib/select.c (IsConsoleHandle): Likewise.
2662         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
2663         (gl_PREREQ_ISATTY): New macro.
2664         * modules/isatty (Depends-on): Add msvc-inval.
2665         (configure.ac): Invoke gl_PREREQ_ISATTY.
2666
2667 2012-01-03  Jim Meyering  <meyering@redhat.com>
2668
2669         maint.mk: remove temporary transition aid from over 1.5 years ago
2670         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
2671         purpose was to aid in the transition (avoiding silent malfunction)
2672         from that old name to the new _sc_search_regexp.  This shim was
2673         added by commit 219c504b.
2674
2675         init.sh: do not try to accommodate compare arguments starting with "-"
2676         * tests/init.sh (compare_dev_null_): Do not try to accommodate
2677         compare arguments that start with "-".  Besides, we do not worry
2678         about this when invoking diff or cmp; why start now with sed?
2679         Using "--" to separate options from argument would trigger sed
2680         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
2681         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
2682
2683 2012-01-02  Bruno Haible  <bruno@clisp.org>
2684
2685         Enhance tests for module 'isatty'.
2686         * modules/isatty-tests (Depends-on): Add pipe-posix.
2687         * tests/test-isatty.c: Include <fcntl.h>.
2688         (DEV_NULL): New macro.
2689         (main): Test the resut of isatty() also on regular files, pipes, and
2690         /dev/null.
2691
2692         New module 'isatty'.
2693         * lib/unistd.in.h (isatty): New declaration.
2694         * lib/isatty.c: New file, based on an idea of
2695         Bastien Roucariès <roucaries.bastien@gmail.com>.
2696         * m4/isatty.m4: New file.
2697         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
2698         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
2699         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
2700         REPLACE_ISATTY.
2701         * modules/isatty: New file.
2702         * doc/posix-functions/isatty.texi: Mention the new module.
2703         Suggested by Paolo Bonzini.
2704
2705 2012-01-02  Bruno Haible  <bruno@clisp.org>
2706
2707         canonicalize: Tweak 2011-12-29 commit.
2708         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
2709         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
2710
2711 2012-01-02  Jim Meyering  <meyering@redhat.com>
2712
2713         gitlog-to-changelog: describe input syntax in --help output
2714         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
2715
2716         gitlog-to-changelog: fix typo in --help: show backslash before email @
2717         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
2718         in sources, but not in actual output.
2719
2720 2011-12-30  Jim Meyering  <meyering@redhat.com>
2721
2722         gitlog-to-changelog: don't malfunction when name contains %-directive
2723         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
2724         in a name string cause trouble.  E.g., with a user name of "%s",
2725         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
2726
2727 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
2728
2729         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
2730         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
2731         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
2732         the "  (tiny change)" notation that is appended to the standard
2733         ChangeLog "date  name  email" header line.
2734
2735 2012-01-01  Jim Meyering  <meyering@redhat.com>
2736
2737         test-framework-sh: init.sh: fix "make dist" failure
2738         When using gnulib-tool's --with-tests option and any module that
2739         depends on test-framework-sh, "make dist" would fail due to the
2740         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
2741         in the gltests directory, and not in the gllib/ directory.
2742         One way to work around that is to move the EXTRA_DIST += init.sh
2743         from the primary module to the -tests one:
2744         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
2745         * modules/test-framework-sh (Makefile.am): ...not here.
2746         Reported by Tom G. Christensen in
2747         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
2748
2749         version-etc: update copyright year reported by --version
2750         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
2751
2752 2011-12-31  Pádraig Brady  <P@draigBrady.com>
2753
2754         canonicalize: only stat() if required
2755         * lib/canonicalize.c (canonicalize_filename_mode):
2756         Avoid calling l?stat() when both CAN_MISSING,
2757         and CAN_NOLINKS are set, as we neither need
2758         to resolve symlinks or test component existence.
2759
2760 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
2761
2762         doc: cover st_ino issues once; add OpenVMS etc.
2763         * doc/posix-functions/stat.texi (stat):
2764         * doc/posix-functions/lstat.texi (lstat):
2765         * doc/posix-functions/fstatat.texi (fstatat):
2766         * doc/posix-functions/fstat.texi (fstat):
2767         Move general 'struct stat' stuff to sys_stat.texi,
2768         leaving behind a pointer.
2769         * doc/posix-headers/sys_stat.texi (sys/stat.h):
2770         Merge duplicate info about 'struct stat' problems into here.
2771         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
2772         and suggest partial workarounds.
2773
2774         same-inode: port to OpenVMS
2775         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
2776         three st_ino values.
2777
2778 2011-12-30  Pádraig Brady  <P@draigBrady.com>
2779
2780         canonicalize: fix references to stat() and lstat()
2781         * lib/canonicalize.c (canonicalize_filename_mode):
2782         Ensure references always resolve to a replacement
2783         function if required (even via a macro).
2784
2785 2011-12-30  Jim Meyering  <meyering@redhat.com>
2786
2787         gitlog-to-changelog: remove a little duplication
2788         * build-aux/gitlog-to-changelog (main): Grep @lines once,
2789         rather than twice.
2790
2791 2011-12-29  Pádraig Brady  <P@draigBrady.com>
2792
2793         canonicalize: add support for not resolving symlinks
2794         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
2795         indicate we don't want to follow symlinks.  Also
2796         provide CAN_MODE_MASK to aid setting these existing
2797         mutually exclusive values.
2798         * lib/canonicalize.c (canonicalize_filename_mode):
2799         Extract the flags from can_mode parameter, which
2800         are currently just used to select between stat()
2801         and lstat().  Also ensure that mutually exclusive
2802         values are flagged immediately as invalid.
2803         * tests/test-canonicalize.c: Verify symlinks are
2804         not followed, and that invalid flag combinations
2805         are diagnosed.
2806
2807 2011-12-25  Jim Meyering  <meyering@redhat.com>
2808
2809         gitlog-to-changelog: do not clump multi-paragraph entries
2810         Identical header lines (date,name,email+coauthors) are suppressed,
2811         thus putting all entries with those same characteristics under
2812         a single header.  However, when a log entry consists of two or
2813         more paragraphs, it may not be clear where it starts and ends.
2814         This change makes it so that such an entry is always separated
2815         from others by a header line, even when that header would
2816         otherwise be suppressed.
2817         * build-aux/gitlog-to-changelog: Implement the above.
2818         Inspired by a related request from Stefano Lattarini in
2819         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
2820
2821 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2822
2823         announce-gen: fix `cmd' typo in diagnostic
2824         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
2825         diagnostic: a missing '$' meant that the command was not output.
2826
2827 2011-12-23  Jim Meyering  <meyering@redhat.com>
2828
2829         test-framework-sh: distribute init.sh
2830         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
2831         Otherwise, "make -C gnulib-tests check" (at least in grep) would
2832         fail due to the lack of init.sh.
2833
2834         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
2835         * modules/atexit-tests: Rather than listing tests/init.sh,
2836         now that there's a module for it, simply depend on that new module.
2837         * modules/closein-tests: Likewise.
2838         * modules/exclude-tests: Likewise.
2839         * modules/getcwd-tests: Likewise.
2840         * modules/perror-tests: Likewise.
2841         * modules/pread-tests: Likewise.
2842         * modules/pwrite-tests: Likewise.
2843         * modules/vc-list-files-tests: Likewise.
2844         * modules/verify-tests: Likewise.
2845         * modules/xalloc-die-tests: Likewise.
2846         * modules/xstrtoimax-tests: Likewise.
2847         * modules/xstrtol-tests: Likewise.
2848         * modules/xstrtoll-tests: Likewise.
2849         * modules/xstrtoumax-tests: Likewise.
2850         * modules/yesno-tests: Likewise.
2851
2852 2011-12-22  Jim Meyering  <meyering@redhat.com>
2853
2854         test-framework-sh: add minimal tests of init.sh's compare function
2855         * modules/test-framework-sh-tests: New file.
2856         * tests/test-init.sh: New file.
2857
2858         test-framework-sh: new module
2859         * modules/test-framework-sh: New file.
2860         * MODULES.html.sh (Support for maintaining and releasing projects):
2861         List it.
2862
2863         init.sh: do not emit simulated diff output to stderr
2864         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
2865
2866 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2867
2868         .gitignore: ignore gnulib.dvi and regex.info
2869         * doc/.gitignore:add gnulib.dvi and regex.info
2870
2871 2011-12-22  Jim Meyering  <meyering@redhat.com>
2872
2873         init.sh: correct previous change
2874         * tests/init.sh (compare): My previous change was wrong.
2875         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
2876
2877         init.sh: avoid unwarranted test failure when using "set -e"
2878         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
2879         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
2880         a use like "compare exp out" would get evoke an unconditional failure.
2881
2882 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
2883
2884         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
2885         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
2886         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
2887         autoreconf that did not.
2888         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
2889         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
2890
2891 2011-12-17  Jim Meyering  <meyering@redhat.com>
2892
2893         bootstrap: remove some now-unneeded code
2894         This script arose back when gnulib-tool was young.
2895         Since then, it has seen improvements that render much of this
2896         script unnecessary.  In particular, it can now make symlinks
2897         to the files it uses.  Also, I no longer see as much value in
2898         marking files as read-only via comments.
2899         If you relied on the symlink-creation feature of the preceding
2900         version of this script, you can get most of that functionality
2901         by adding the --symlink option to the definition of
2902         gnulib_tool_option_extras in your bootstrap.conf file.
2903         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
2904         Run autopoint and libtoolize *before* gnulib-tool.
2905         After it, run an abbreviated autoreconf, rather than a loop around
2906         all tools.
2907         (slirp, bt_mark_as_generated): Remove functions.
2908
2909 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2910
2911         ftoastr: fix typo
2912         * lib/ftoastr.h: Fix misspelling in comment.
2913
2914 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
2915
2916         * top/README-release: fix punctuation.
2917
2918 2011-12-17  Jim Meyering  <meyering@redhat.com>
2919
2920         bootstrap: correct the recent buildreq change
2921         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
2922         had no effect.
2923         * build-aux/bootstrap (buildreq): Bracket each search term with
2924         "*...*", so that the shell "case" statement works as intended.
2925         Add comments.
2926
2927 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
2928
2929         build: let bootstrap resort to wget when downloading .po files
2930         * build-aux/bootstrap (download_po_files): Fallback to wget when
2931         downloading the .po files via rsync fails.  This is necessary to
2932         bootstrap from behind a strict firewall.
2933
2934 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2935
2936         stdint: don't assume C++11 when compiling with g++
2937         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
2938         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
2939         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
2940         work also in C++ before C++11, as that improperly inhibits
2941         generating a substitute stdint.h for that case.
2942
2943 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
2944
2945         alloca: protect comment from gnulib-tool
2946         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
2947         that gnulib-tool doesn't think it's a license, and munge it to
2948         say "GCC version 3".
2949
2950 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
2951
2952         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
2953         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
2954         $(abs_top_builddir) instead of $(top_builddir).
2955
2956 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
2957
2958         strftime-tests: also test nanoseconds
2959         * tests/test-strftime.c (T): Add a test of %N.
2960
2961 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
2962
2963         inttypes, stdint: add C++11 support
2964         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2965         when including inttypes.h and stdint.h.  Support this change to
2966         the standard.
2967         * doc/posix-headers/inttypes.texi (inttypes.h):
2968         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2969         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2970         Define if not defined already, for the benefit of pre-C++11 hosts.
2971         Define the standard format macros (e.g., PRId8) always.
2972         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2973         Likewise, if __cpluspus.  Define the standard constant and limit
2974         macros (e.g., INT8_C, INT8_MAX) always.
2975         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2976         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2977         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2978         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2979         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2980         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2981         Likewise.
2982
2983 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2984
2985         nonblocking tests: Fix test failure on Linux/PPC.
2986         Suggested by Prerna Saxena in
2987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2988         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2989         Set to 1100000.
2990
2991 2011-12-12  Jim Meyering  <meyering@redhat.com>
2992
2993         argmatch: don't hard-code `' when listing valid option arguments
2994         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2995         use the quote function to add quotes.  Use fputs rather than
2996         fprintf for the format string with no format directive.
2997
2998 2011-12-07  Eric Blake  <eblake@redhat.com>
2999
3000         bootstrap: detect tools required by gnulib-tool
3001         * build-aux/bootstrap (buildreq): Provide minimum implicit
3002         dependencies.
3003         * DEPENDENCIES: Mention patch as a prereq.
3004
3005 2011-12-04  Bruno Haible  <bruno@clisp.org>
3006
3007         sethostname: Port to Windows platforms.
3008         * lib/sethostname.c: Provide an alternate implementation for Windows
3009         platforms.
3010         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3011         (main): Skip the test if sethostname() fails with EPERM. On Windows
3012         platforms, don't check the result of gethostname().
3013
3014 2011-12-04  Bruno Haible  <bruno@clisp.org>
3015             Jim Meyering  <meyering@redhat.com>
3016
3017         tests: Avoid spurious error message on platforms without mktemp program.
3018         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3019
3020 2011-12-04  Bruno Haible  <bruno@clisp.org>
3021
3022         sethostname: Fix documentation.
3023         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3024         "not fixed" section.
3025
3026 2011-12-03  Bruno Haible  <bruno@clisp.org>
3027
3028         gnulib-tool: Verify that the License field is present and non-empty.
3029         * gnulib-tool (func_get_license_raw): New function, extracted from
3030         func_get_license.
3031         (func_get_license): Use it. Warn if the module is not a test module and
3032         has no license.
3033         Suggested by Jim Meyering.
3034
3035 2011-12-03  Bruno Haible  <bruno@clisp.org>
3036
3037         sethostname tests: Fix link error on mingw.
3038         * tests/test-sethostname1.c: New file, extracted from
3039         tests/test-sethostname.c.
3040         * tests/test-sethostname2.c: New file, extracted from
3041         tests/test-sethostname.c.
3042         * tests/test-sethostname.c: Remove file.
3043         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3044         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3045         (Depends-on): Add gethostname.
3046         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3047         Link the latter with $(GETHOSTNAME_LIB).
3048
3049         sethostname tests: Fix compilation error on mingw.
3050         * tests/test-sethostname.c: Don't include <sys/types.h>.
3051         (geteuid): Use a dummy value without uid_t.
3052         * modules/sethostname-tests (Depends-on): Remove sys_types.
3053
3054         sethostname tests: Avoid a gcc warning.
3055         * tests/test-sethostname.c (main): Remove an unused variable.
3056
3057         Tweak last commit.
3058         * modules/sethostname-tests (Files): Sort by decreasing importance.
3059         (configure.ac): Check for geteuid.
3060         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3061         the test when there's nothing to test. Drop an unnecessary cast.
3062         Improve an error message. Verify that the final sethostname() call
3063         succeeds.
3064
3065 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3066
3067         Add a test suite for the sethostname module.
3068         * modules/sethostname-tests: New file.  A test program
3069         for the sethostname module.
3070         * tests/test-sethostname.c: Likewise.
3071
3072 2011-12-03  Bruno Haible  <bruno@clisp.org>
3073
3074         Tweak last commit.
3075         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3076         Fix preprocessor directives indentation. Fix typos.
3077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3078         * modules/unistd (Makefile): Likewise.
3079
3080 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3081
3082         Integrate the sethostname module into unistd.
3083         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3084         into the unistd.h header.
3085         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3086         preprocessor directives.
3087         * modules/unistd: Setup the Makefile substitutions of the
3088         SETHOSTNAME preprocessor directives.
3089
3090 2011-12-03  Bruno Haible  <bruno@clisp.org>
3091
3092         Tweak last commit.
3093         * lib/sethostname.c: Don't include <string.h>.
3094         (sethostname): No need to copy the argument string to the stack. Don't
3095         call clearerr. Preserve errno when fprintf failed.
3096         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3097         Don't invoke AC_REPLACE_FUNCS.
3098         * modules/sethostname (Link): Remove empty section.
3099         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3100         failure problem.
3101
3102 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3103
3104         New module 'sethostname'.
3105         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3106         for systems that lack it.
3107         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3108         sethostname declaration and function.
3109         * modules/sethostname: New file.  Define the sethostname module.
3110
3111 2011-12-03  Bruno Haible  <bruno@clisp.org>
3112
3113         Tweak last commit.
3114         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3115
3116 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3117
3118         Split the HOST_NAME_MAX detection into a separate m4 macro.
3119         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3120         macro so it can be used by the pending sethostname module.
3121
3122 2011-12-03  Bruno Haible  <bruno@clisp.org>
3123
3124         Fix module descriptions syntax.
3125         * modules/argv-iter (License): Fix syntax.
3126         * modules/di-set (License): Likewise.
3127         * modules/ino-map (License): Likewise.
3128         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3129
3130 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3131
3132         stdalign: port to Clang 3.0
3133         Problem reported by Simon Josefsson in
3134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3135         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3136         which has <stdalign.h> but which does not define alignof.
3137         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3138
3139 2011-12-01  Eric Blake  <eblake@redhat.com>
3140
3141         mktempd: silence dd usage
3142         * build-aux/mktempd (rand_bytes): Silence dd.
3143
3144 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3145
3146         manywarnings: Don't mention gcc version in docstring.
3147         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3148         Jim Meyering <meyering@redhat.com>.
3149
3150 2011-11-30  Jim Meyering  <meyering@redhat.com>
3151
3152         hash: mark a few floating point constants with "f" suffix
3153         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3154         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3155         floating point constants with "f", since they're destined to be
3156         saved/used as "float"s.
3157
3158 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3159
3160         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3161         * tests/test-float.c (test_long_double): Correct and re-enable the
3162         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3163
3164 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3165
3166         Avoid subtracting two pointers that don't point into the same block.
3167         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3168         only pointers into the same memory block are subtracted. We cannot
3169         assume that sizeof (ptrdiff_t) == sizeof (void *).
3170
3171 2011-11-29  Eric Blake  <eblake@redhat.com>
3172
3173         maint.mk: add syntax check for use of compare from init.sh
3174         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3175         moved here from coreutils.
3176
3177         manywarnings: drop -Wunsuffixed-float-constants
3178         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3179         '1.0D', which is the only way to silence this warning for 'double'.
3180
3181 2011-11-29  Jim Meyering  <meyering@redhat.com>
3182
3183         hash: mark compute_bucket_size with the pure attribute
3184         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3185
3186         quotearg, propername: correct pragma guard expression
3187         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3188         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3189
3190 2011-11-28  Jim Meyering  <meyering@redhat.com>
3191
3192         propername: do not mark proper_name with the const attribute
3193         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3194         since it examines data pointed to by its parameter.
3195         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3196         the suggestion from -Wsuggest-attribute=const.
3197
3198         propername: mark one more function as const
3199         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3200
3201 2011-11-27  Jim Meyering  <meyering@redhat.com>
3202
3203         mark functions with const and pure attributes
3204
3205         Mark functions per suggestions from gcc-4.6 when using these options:
3206         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3207         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3208         Follow these guidelines: when possible, apply the attribute to
3209         an extern declaration, not to its definition.  Apply it to the
3210         definition only when the definition is static.
3211         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3212         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3213         * lib/base64.h (isbase64): Likewise.
3214         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3215         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3216         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3217         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3218         (c_tolower, c_toupper): Likewise.
3219         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3220         * lib/chdir-long.c (find_non_slash): Likewise.
3221         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3222         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3223         * lib/file-type.h (file_type): Likewise.
3224         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3225         * lib/filevercmp.c (verrevcmp): Likewise.
3226         * lib/freadahead.h (freadahead): Likewise.
3227         * lib/fts.c (fts_maxarglen): Likewise.
3228         * lib/hash-pjw.h (hash_pjw): Likewise.
3229         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3230         * lib/hash.c (is_prime, next_prime): Likewise.
3231         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3232         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3233         (hash_table_ok, hash_get_first, hash_string): Likewise.
3234         (compute_bucket_size): Likewise.
3235         * lib/i-ring.h (i_ring_empty): Likewise.
3236         * lib/isnan.c (isnanl): Likewise.
3237         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3238         * lib/memcasecmp.h (memcasecmp): Likewise.
3239         * lib/memchr2.h (memchr2): Likewise.
3240         * lib/memcmp2.h (memcmp2): Likewise.
3241         * lib/parse-datetime.y (lookup_zone): Likewise.
3242         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3243         [!WINDOWS_SOCKETS]: Likewise.
3244         * lib/strnlen1.h (strnlen1): Likewise.
3245         * lib/uniwidth.in.h (uc_width): Likewise.
3246         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3247         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3248         (quoting_options_from_style): Add a comment.
3249         * lib/propername.h (proper_name): Add a comment.
3250
3251 2011-11-27  Bruno Haible  <bruno@clisp.org>
3252
3253         Remove unused macros from !_LIBC code in glibc-borrowed files.
3254         * lib/fnmatch.c (STRCOLL): Remove macro.
3255         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3256         * lib/glob.c (__stat, __readdir64): Remove macros.
3257         * lib/tempname.c (__open64, __xstat64): Remove macros.
3258         Suggested by Paul Eggert.
3259
3260 2011-11-27  Bruno Haible  <bruno@clisp.org>
3261
3262         getcwd: Fix link error on MSVC 9.
3263         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3264
3265 2011-11-27  Bruno Haible  <bruno@clisp.org>
3266
3267         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3268         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3269         HAVE_OPENDIR is 0.
3270         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3271         HAVE_CLOSEDIR is 0.
3272         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3273         is 0.
3274         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3275
3276 2011-11-27  Bruno Haible  <bruno@clisp.org>
3277
3278         getcwd: Fix bug from 2011-08-17.
3279         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3280         platforms that need it.
3281         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3282         code of 4 to be a failure, not a success. This ensures that
3283         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3284
3285 2011-11-27  Bruno Haible  <bruno@clisp.org>
3286
3287         binary-io tests: Avoid test failure on mingw when libtool is used.
3288         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3289         Don't verify the size of t-bin-out1.tmp here.
3290         * tests/test-binary-io.sh: Verify it here.
3291         Reported by Simon Josefsson.
3292
3293 2011-11-26  Bruno Haible  <bruno@clisp.org>
3294
3295         Fix conflict between two instantiations of module 'unistd'.
3296         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3297         ${include_guard_prefix} also in the autoconf snippet.
3298         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3300         GNULIB_UNISTD_H_GETOPT.
3301         * modules/getopt-posix (configure.ac): Set the
3302         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3303         * modules/getopt-gnu (configure.ac): Likewise.
3304         * modules/unistd (Makefile.am): Change the substitution value of
3305         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3306         Reported by Simon Josefsson.
3307
3308 2011-11-25  Bruno Haible  <bruno@clisp.org>
3309
3310         pagealign_alloc: Doc and comments.
3311         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3312         module.
3313         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3314
3315 2011-11-25  Jim Meyering  <meyering@redhat.com>
3316
3317         test-update-copyright.sh: avoid false-positive failure
3318         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3319         around false positive failure on Cygwin/Windows.  The latter was
3320         matching erroneously-created files with names like
3321         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3322
3323 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3324
3325         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3326         * m4/valgrind-tests.m4: Check that the parameters that will be
3327         used works, not just a subset of them.  Reported by Bruno Haible
3328         <bruno@clisp.org>.
3329
3330 2011-11-24  Jim Meyering  <meyering@redhat.com>
3331
3332         test-stdalign.c: comment out long double tests
3333         * tests/test-stdalign.c: Don't try to reduce alignment of long double
3334         variables.  That provokes errors like this from gcc-4.7.0 20111124:
3335         error: '_Alignas' specifiers cannot reduce alignment of \
3336         'static_longdouble_alignas'.
3337
3338 2011-11-22  Jim Meyering  <meyering@redhat.com>
3339
3340         init.sh: make "compare /dev/null FILE" output more readable
3341         * tests/init.sh (compare_): Document the preferred order of arguments.
3342         (emit_diff_u_header_): New function.
3343         (compare_dev_null_): Emit a simulated diff, rather than just the
3344         contents of the unexpected file.  Suggestion from Bruno Haible.
3345
3346 2011-11-21  Jim Meyering  <meyering@redhat.com>
3347             Eric Blake  <eblake@redhat.com>
3348
3349         init.sh: work around OSF/1 5.1's mishandling of /dev/null
3350         * tests/init.sh: Make our compare function slightly more portable.
3351         Reported by Bruno Haible in
3352         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
3353
3354 2011-11-21  Simon Josefsson  <simon@josefsson.org>
3355
3356         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
3357         before using it, in code that ends up in config.h.
3358
3359 2011-11-20  Bruno Haible  <bruno@clisp.org>
3360
3361         getcwd: Work around getcwd bug on AIX 5..7.
3362         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
3363         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
3364         Use a different value for gl_cv_func_getcwd_path_max. Move the
3365         definition of HAVE_PARTLY_WORKING_GETCWD from here...
3366         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
3367         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
3368         Define HAVE_MINIMALLY_WORKING_GETCWD.
3369         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
3370         where it is not even minimally working, that is, on AIX.
3371         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
3372         m4/getcwd-path-max.m4.
3373         (main): Update exit code computation.
3374         * doc/posix-functions/getcwd.texi: Mention list of platforms where
3375         getcwd does not handle long file names.
3376
3377 2011-11-20  Bruno Haible  <bruno@clisp.org>
3378
3379         getcwd: Fix bug from 2009-09-10.
3380         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
3381         like "no".
3382
3383 2011-11-20  Simon Josefsson  <simon@josefsson.org>
3384
3385         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
3386
3387 2011-11-20  Bruno Haible  <bruno@clisp.org>
3388
3389         fma tests: Avoid shadowing local variables.
3390         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
3391         expected.
3392
3393 2011-11-20  Bruno Haible  <bruno@clisp.org>
3394
3395         copysignf tests: Fix.
3396         * tests/test-copysignf.c: Fix signature check.
3397
3398 2011-11-20  Bruno Haible  <bruno@clisp.org>
3399
3400         fma: Remove unused code.
3401         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
3402         unused macros.
3403
3404 2011-11-20  Bruno Haible  <bruno@clisp.org>
3405
3406         sethostname: Fix doc about AIX.
3407         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
3408         sethostname; it has it.
3409
3410         sethostname: Mention more portability problems.
3411         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
3412         problem.
3413         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
3414
3415 2011-11-19  Bruno Haible  <bruno@clisp.org>
3416
3417         Depend on module fcntl-h when AT_FDCWD is used.
3418         * modules/utimens (Depends-on): Add fcntl-h.
3419         * modules/areadlinkat (Depends-on): Likewise.
3420         * modules/areadlinkat-with-size (Depends-on): Likewise.
3421         * modules/faccessat (Depends-on): Likewise.
3422         * modules/fchmodat (Depends-on): Likewise.
3423         * modules/fchownat (Depends-on): Likewise.
3424         * modules/getcwd (Depends-on): Likewise.
3425         * modules/mkdirat (Depends-on): Likewise.
3426         * modules/mkfifoat (Depends-on): Likewise.
3427         * modules/readlinkat (Depends-on): Likewise.
3428         * modules/symlinkat (Depends-on): Likewise.
3429         * modules/dup2-tests (Depends-on): Likewise.
3430         * modules/fdutimensat-tests (Depends-on): Likewise.
3431         * modules/futimens-tests (Depends-on): Likewise.
3432
3433 2011-11-19  Bruno Haible  <bruno@clisp.org>
3434
3435         euidaccess: Update a comment.
3436         * lib/euidaccess.c: Update comment about platforms with faccessat.
3437
3438 2011-11-19  Bruno Haible  <bruno@clisp.org>
3439
3440         openat: Fix file list.
3441         * modules/openat (Files): Remove lib/at-func.c.
3442
3443 2011-11-19  Bruno Haible  <bruno@clisp.org>
3444
3445         fstatat: Simplify.
3446         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
3447         gnulib should define rpl_fstatat, there is a
3448         "#define fstatat rpl_fstatat" in <sys/stat.h>.
3449
3450 2011-11-19  Bruno Haible  <bruno@clisp.org>
3451
3452         Ensure 'inline' can be used in tests/test-utimens-common.h.
3453         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
3454         * modules/futimens-tests (configure.ac): Likewise.
3455         * modules/utimens-tests (configure.ac): Likewise.
3456         * modules/utimensat-tests (configure.ac): Likewise.
3457
3458 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3459
3460         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
3461         not hash_insert0.
3462         (hash_insert_if_absent): Doc fix.
3463
3464 2011-11-19  Simon Josefsson  <simon@josefsson.org>
3465
3466         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
3467
3468 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
3469
3470         test-getcwd: disambiguate exit status
3471         * tests/test-getcwd.c (test_long_name): Return 0..7.
3472         (main): Exit with an unambiguous exit status.  The old
3473         code yielded a mysterious mixture of two failure codes.
3474
3475         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
3476         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
3477         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
3478         rpl_fstatat or fstatat.  This should fix the other problem
3479         reported by Kai Habel in
3480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3481         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
3482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
3483         and I reproduced it on a Solaris 8 host we still have in production.
3484
3485 2011-11-18  Jim Meyering  <meyering@redhat.com>
3486
3487         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
3488         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
3489         Add a sentence to the comment.
3490         (hash_insert0): New function that simply calls hash_insert_if_absent.
3491         * lib/hash.h (hash_insert_if_absent): Declare it.
3492         (hash_insert0): Add deprecation attribute.
3493         (_GL_ATTRIBUTE_DEPRECATED): Define.
3494         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
3495         not hash_insert0.
3496         * NEWS: Mention it, even though it's not really an incompatible change.
3497
3498 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
3499
3500         openat: avoid compilation failure due to lack of <errno.h> inclusion
3501         * lib/openat.c: Include <errno.h>.
3502
3503 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         * modules/getcwd (Depends-on): Add fdopendir.
3506         This fixes one of the two problems reported by Kai Habel in
3507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
3508
3509         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
3510         stdalign problem reported by Ian Beckwith in
3511         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
3512         * modules/crypto/gc-arcfour (Depends-on):
3513         Depend conditionally on crypto/arcfour.
3514         * modules/crypto/gc-arctwo (Depends-on):
3515         Depend conditionally on crypto/arctwo.
3516         * modules/crypto/gc-des (Depends-on):
3517         Depend conditionally on crypto/des.
3518         * modules/crypto/gc-hmac-md5 (Depends-on):
3519         Depend conditionally on crypto/hmac-md5.
3520         * modules/crypto/gc-hmac-sha1 (Depends-on):
3521         Depend conditionally on crypto/hmac-sha1.
3522         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
3523         * modules/crypto/gc-md4 (Depends-on):
3524         Depend conditionally on crypto/md4.
3525         * modules/crypto/gc-md5 (Depends-on):
3526         Depend conditionally on crypto/md5.
3527         * modules/crypto/gc-rijndael (Depends-on):
3528         Depend conditionally on crypto/rijndael.
3529         * modules/crypto/gc-sha1 (Depends-on):
3530         Depend conditionally on crypto/sha1.
3531         * modules/crypto/gc-arcfour:
3532         * modules/crypto/gc-arctwo:
3533         * modules/crypto/gc-des:
3534         * modules/crypto/gc-hmac-md5:
3535         * modules/crypto/gc-hmac-sha1:
3536         * modules/crypto/gc-md2:
3537         * modules/crypto/gc-md4:
3538         * modules/crypto/gc-md5:
3539         * modules/crypto/gc-rijndael:
3540         * modules/crypto/gc-sha1:
3541         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
3542         now that the conditional dependencies do the work for us.
3543
3544 2011-11-17  Jim Meyering  <meyering@redhat.com>
3545
3546         tests: factor st_ctime-comparison out of two headers
3547         * tests/test-utimens-common.h (ctime_compare): Define.
3548         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
3549         * tests/test-lutimens.h (test_lutimens): Likewise.
3550         * tests/test-utimens.h (test_utimens): Likewise.
3551
3552         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
3553         Invoke the test program via an init.sh-using wrapper.
3554         * tests/test-getcwd.sh: New file.
3555         * modules/getcwd-tests (Files): Add it.
3556         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
3557
3558 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
3559
3560         gitlog-to-changelog: support multi-author commits.
3561         The FSF cares about keeping track of all authors of patches to its
3562         projects, but Git doesn't provide obvious support for multi-author
3563         changesets. Consensus seems to be forming around the use of extra
3564         Signed-off-by inspired lines in the log message formatted as
3565         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
3566         multi-author commits between version control systems.
3567         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
3568         log message and output in standard ChangeLog multi-author format.
3569         Reported by Peter Rosin <peda@lysator.liu.se>
3570
3571 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
3572             Bruno Haible  <bruno@clisp.org>
3573
3574         Fix some modules' file list.
3575         * modules/fstatat (Files): Add m4/lstat.m4.
3576         * modules/openat (Files): Likewise.
3577         * modules/unlinkat (Files): Likewise.
3578
3579 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
3580
3581         maint.mk: fix tight-scope.mk generation in VPATH builds.
3582         * top/maint.mk (tight-scope.mk): Make sure to prefix file
3583         reference with $(srcdir) so that the file is found correctly even
3584         when running `make syntax-check' in a VPATH build.
3585
3586 2011-11-13  Bruno Haible  <bruno@clisp.org>
3587             Jim Meyering  <meyering@redhat.com>
3588
3589         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
3590         * tests/init.sh (compare): Remove "No differences encountered" or
3591         synonymous output from the 'diff' program.
3592
3593 2011-11-13  Bruno Haible  <bruno@clisp.org>
3594
3595         Makefile: Tweak indentation.
3596         * Makefile: Use tab as first character in every line that contains rule
3597         commands.
3598
3599 2011-11-13  Bruno Haible  <bruno@clisp.org>
3600
3601         Syntax check for copyright statements.
3602         * check-copyright: New file.
3603         * Makefile (sc_check_copyright): New rule.
3604
3605 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3606
3607         * build-aux/git-version-gen: Add --prefix to configure the tag
3608         match string.
3609
3610 2011-11-13  Simon Josefsson  <simon@josefsson.org>
3611
3612         * build-aux/git-version-gen: Add --help and --version.
3613
3614 2011-11-12  Jim Meyering  <meyering@redhat.com>
3615
3616         revamp the other test-exclude?.sh scripts to use init.sh, too
3617         * tests/test-exclude1.sh: Use init.sh.
3618         * tests/test-exclude2.sh: Likewise.
3619         * tests/test-exclude3.sh: Likewise.
3620         * tests/test-exclude4.sh: Likewise.
3621         * tests/test-exclude5.sh: Likewise.
3622         * tests/test-exclude6.sh: Likewise.
3623         * tests/test-exclude7.sh: Likewise.
3624         * tests/test-exclude8.sh: Likewise.
3625         * modules/exclude-tests (Files): List init.sh.
3626
3627         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
3628         These shell scripts ignored failure of the binary test-exclude,
3629         so making the latter return 77 didn't cause them to be skipped.
3630         * tests/test-exclude5.sh: Exit with test-exclude's error status
3631         when that program fails.  Revamp to use init.sh.
3632         * tests/test-exclude2.sh: Likewise.
3633
3634         test-exclude: fix a typo
3635         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
3636
3637 2011-11-11  Bruno Haible  <bruno@clisp.org>
3638
3639         obstack: Fix compilation error on MSVC 9.
3640         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
3641
3642 2011-11-11  Jim Meyering  <meyering@redhat.com>
3643
3644         test-exclude: skip tests rather than failing on deficient systems
3645         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
3646         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
3647         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
3648         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
3649
3650 2011-11-10  Bruno Haible  <bruno@clisp.org>
3651
3652         ptsname_r test: Avoid gcc warning on glibc systems.
3653         * tests/test-ptsname_r.c (null_ptr): New function.
3654         (test_errors): Use it.
3655
3656 2011-11-10  Bruno Haible  <bruno@clisp.org>
3657
3658         ptsname_r: Avoid compilation error on OSF/1 5.1.
3659         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
3660         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
3661         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
3662         function is not declared or incompatibly declared.
3663         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
3664         * modules/ptsname_r (Depends-on, configure.ac): Update.
3665         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
3666
3667 2011-11-10  Bruno Haible  <bruno@clisp.org>
3668
3669         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
3670         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
3671         When cross-compiling, guess yes on all platforms except AIX.
3672         Reported by Ludovic Courtès <ludo@gnu.org>.
3673
3674 2011-11-09  Bruno Haible  <bruno@clisp.org>
3675
3676         ptsname_r tests: Fix bugs.
3677         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
3678         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
3679
3680 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3681
3682         fstatat: work with cross-compilation
3683         Problem reported by Ludovic Courtès in
3684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
3685         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
3686         "cross-compiling" and assume the bug is present.  Replace
3687         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
3688         an inverted sense, to be more conservative about our assumptions.
3689         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
3690
3691 2011-11-09  Bruno Haible  <bruno@clisp.org>
3692
3693         Improve MODULES.html output.
3694         * modules/mkfifoat (Description): Use the word "function".
3695         * modules/readlinkat (Description): Likewise.
3696         * modules/symlinkat (Description): Likewise.
3697
3698 2011-11-09  Eric Blake  <eblake@redhat.com>
3699
3700         ptsname_r-tests: new test module
3701         * modules/ptsname_r-tests: New module.
3702         * tests/test-ptsname_r.c: New file.
3703
3704         ptsname_r: new module
3705         * modules/ptsname_r: New module.
3706         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
3707         * lib/ptsname.c (__ptsname_r): Split...
3708         * lib/ptsname_r.c: ...into new file.
3709         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3710         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
3711         * modules/stdlib (Makefile.am): Substitute witnesses.
3712         * lib/stdlib.in.h (ptsname_r): Declare it.
3713         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
3714         * MODULES.html.sh (Misc): Likewise.
3715         * modules/ptsname (Depends-on): Alter dependency.
3716         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
3717
3718 2011-11-09  Jim Meyering  <meyering@redhat.com>
3719
3720         announce-gen: be more concise when there's only one URL+tarball
3721         * build-aux/announce-gen (get_tool_versions): When you distribute
3722         only one type of tarball, combine the first two "Here are..."
3723         sections and make the key-checking grammar independent of
3724         how many tarballs there are.
3725
3726 2011-11-09  Eric Blake  <eblake@redhat.com>
3727
3728         openpty: provide a stub on mingw
3729         * lib/pty.in.h (includes): Provide forward declarations.
3730         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
3731
3732         raise: fix mingw handling of SIGPIPE
3733         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
3734
3735 2011-11-08  Bruno Haible  <bruno@clisp.org>
3736
3737         More conditional dependencies.
3738         * modules/faccessat (Depends-on): Add conditions.
3739         * modules/fchmodat (Depends-on): Likewise.
3740         * modules/fchownat (Depends-on): Likewise.
3741         * modules/fstatat (Depends-on): Likewise.
3742         * modules/mkfifoat (Depends-on): Likewise.
3743         * modules/readlinkat (Depends-on): Likewise.
3744         * modules/symlinkat (Depends-on): Likewise.
3745         * modules/unlinkat (Depends-on): Likewise.
3746         * modules/utimensat (Depends-on): Likewise.
3747         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
3748         * modules/linkat (Depends-on): Refine the conditions.
3749         * modules/renameat (Depends-on): Likewise.
3750
3751 2011-11-08  Bruno Haible  <bruno@clisp.org>
3752
3753         faccessat: Move AC_LIBOBJ invocation to module description.
3754         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
3755         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
3756         invocation from here...
3757         * modules/faccessat (configure.ac): ... to here. Invoke
3758         gl_PREREQ_FACCESSAT.
3759
3760 2011-11-08  Bruno Haible  <bruno@clisp.org>
3761
3762         faccessat: Simplify autoconf macro.
3763         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
3764         gl_FUNC_EUIDACCESS.
3765
3766 2011-11-08  Bruno Haible  <bruno@clisp.org>
3767
3768         renameat: Fix dependencies.
3769         * modules/renameat (Depends-on): Add stdbool.
3770
3771 2011-11-08  Bruno Haible  <bruno@clisp.org>
3772
3773         mkfifoat: Fix module description.
3774         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
3775         not gl_UNISTD_MODULE_INDICATOR.
3776
3777 2011-11-08  Bruno Haible  <bruno@clisp.org>
3778
3779         fstatat: Remove unused dependency.
3780         * modules/fstatat (Depends-on): Remove fstat.
3781
3782 2011-11-08  Simon Josefsson  <simon@josefsson.org>
3783
3784         GNUmakefile: behave when Makefile is missing.
3785         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
3786
3787 2011-11-08  Bruno Haible  <bruno@clisp.org>
3788
3789         openat: Conditionalize dependencies.
3790         * lib/openat.c: Reduce the scope of some #includes.
3791         * modules/openat (Depends-on): Add conditions.
3792
3793 2011-11-07  Jim Meyering  <meyering@redhat.com>
3794
3795         maint.mk: extract GPG key ID without using a temporary file
3796         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
3797         without using a temporary file.  Based on a suggestion from Werner Koch
3798         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
3799
3800 2011-11-07  Eric Blake  <eblake@redhat.com>
3801
3802         grantpt: fix typo
3803         * lib/stdlib.in.h (grantpt): Check correct function.
3804
3805         maint.mk: silence new syntax check
3806         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
3807
3808 2011-11-06  Bruno Haible  <bruno@clisp.org>
3809
3810         Doc about floating-point and math API.
3811         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
3812         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
3813
3814 2011-11-06  Bruno Haible  <bruno@clisp.org>
3815
3816         stdalign tests: Skip the test when compiled by Sun C.
3817         * tests/test-stdalign.c (main): Skip the test on Sun C.
3818
3819 2011-11-06  Bruno Haible  <bruno@clisp.org>
3820
3821         ansi-c++-opt: Complete the 2011-06-05 change.
3822         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
3823         does not support namespaces, set the variable to "no", not to ":".
3824
3825 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3826
3827         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
3828
3829 2011-11-06  Bruno Haible  <bruno@clisp.org>
3830
3831         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
3832         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
3833         (minus_zerol) [HP-UX]: New macro.
3834         (unary_minus) [HP-UX]: New function.
3835         (copysignl) [HP-UX]: Use unary_minus function.
3836
3837 2011-11-06  Bruno Haible  <bruno@clisp.org>
3838
3839         ldexp, ldexpf, ldexpl: Enhance tests.
3840         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
3841         and tests/test-ldexpl.c.
3842         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
3843         LDEXP, MIN_EXP, MAX_EXP): New macros.
3844         Include test-ldexp.h.
3845         (main): Just call test_function.
3846         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
3847         infinity.h, nan.h.
3848         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3849         MAX_EXP): New macros.
3850         Include test-ldexp.h.
3851         (x, y): Remove variables.
3852         (main): Just call test_function.
3853         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
3854         infinity.h, nan.h.
3855         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
3856         MAX_EXP): New macros.
3857         Include test-ldexp.h.
3858         (x, y): Remove variables.
3859         (main): Just call test_function.
3860         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
3861         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
3862         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3863         (Depends-on): Add isnand-nolibm, signbit, float.
3864         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
3865         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
3866         (Depends-on): Add isnanf-nolibm, signbit, float.
3867
3868 2011-11-06  Bruno Haible  <bruno@clisp.org>
3869
3870         math tests: Cosmetics.
3871         * tests/test-math-c++.cc: Reorder declarations.
3872
3873 2011-11-05  Bruno Haible  <bruno@clisp.org>
3874
3875         fma*: Simplify test.
3876         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
3877         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
3878
3879         Tests for module 'fmal'.
3880         * modules/fmal-tests: New file.
3881         * tests/test-fmal1.c: New file.
3882         * tests/test-fmal2.c: New file.
3883
3884         New module 'fmal'.
3885         * lib/math.in.h (fmal): New declaration.
3886         * lib/fmal.c: New file.
3887         * m4/fmal.m4: New file.
3888         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
3889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
3890         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
3891         REPLACE_FMAL.
3892         * modules/fmal: New file.
3893         * doc/posix-functions/fmal.texi: Mention the new module and the various
3894         bugs.
3895
3896         Tests for module 'fmaf'.
3897         * modules/fmaf-tests: New file.
3898         * tests/test-fmaf1.c: New file.
3899         * tests/test-fmaf2.c: New file.
3900
3901         New module 'fmaf'.
3902         * lib/math.in.h (fmaf): New declaration.
3903         * lib/fmaf.c: New file.
3904         * m4/fmaf.m4: New file.
3905         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
3906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
3907         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
3908         REPLACE_FMAF.
3909         * modules/fmaf: New file.
3910         * doc/posix-functions/fmaf.texi: Mention the new module and the various
3911         bugs.
3912
3913         Tests for module 'fma'.
3914         * modules/fma-tests: New file.
3915         * tests/test-fma1.c: New file.
3916         * tests/test-fma1.h: New file.
3917         * tests/test-fma2.c: New file.
3918         * tests/test-fma2.h: New file.
3919
3920         New module 'fma'.
3921         * lib/math.in.h (fma): New declaration.
3922         * lib/fma.c: New file.
3923         * m4/fma.m4: New file.
3924         * m4/fegetround.m4: New file.
3925         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
3926         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
3927         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
3928         REPLACE_FMA.
3929         * modules/fma: New file.
3930         * doc/posix-functions/fma.texi: Mention the new module and the various
3931         bugs.
3932
3933         Extend gl_MATHFUNC.
3934         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
3935         Support 'void' as argument type.
3936         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
3937
3938 2011-11-05  Jim Meyering  <meyering@redhat.com>
3939
3940         maint.mk: also prohibit inclusion of dirent.h without use
3941         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
3942
3943 2011-11-05  Bruno Haible  <bruno@clisp.org>
3944
3945         ldexpl tests: Avoid test failure on MSVC 9.
3946         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
3947         value. Needed in order to enforce the conversion from a value greater
3948         than LDBL_MAX to Infinity.
3949
3950 2011-11-05  Bruno Haible  <bruno@clisp.org>
3951
3952         New modules 'at-internal', 'openat-h', split off from module 'openat'.
3953         * modules/at-internal: New file, extracted from modules/openat.
3954         * modules/openat-h: New file.
3955         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
3956         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
3957         * modules/openat (Description): Add reference to POSIX function.
3958         (Files): Remove lib/openat.h, lib/openat-proc.c.
3959         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
3960         intprops, unistd.
3961         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
3962         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
3963         gl_FCNTL_MODULE_INDICATOR.
3964         (Include): Remove unistd.h, openat.h.
3965         * modules/areadlinkat (Files): Add lib/at-func.c.
3966         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3967         openat-die, openat-h, save-cwd.
3968         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3969         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3970         openat-die, openat-h, save-cwd, unistd.
3971         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3972         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3973         openat-h, save-cwd. Remove fcntl-h, openat.
3974         * modules/fchmodat (Files): Remove lib/openat.h.
3975         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3976         openat, stdbool, unistd.
3977         * modules/fchownat (Files): Remove lib/openat.h.
3978         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3979         openat, stdbool, sys_stat.
3980         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3981         lib/openat-proc.c.
3982         (Depends-on): Add at-internal.
3983         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3984         * modules/fstatat (Files): Remove lib/openat.h.
3985         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3986         stdbool, unistd.
3987         * modules/fts (Depends-on): Add openat-h.
3988         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3989         openat.
3990         * modules/mkdirat (Files): Remove lib/openat.h.
3991         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3992         openat, stdbool, sys_stat.
3993         * modules/mkfifoat (Files): Add lib/at-func.c.
3994         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3995         openat-h, save-cwd. Remove fcntl-h, openat.
3996         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
3997         * modules/readlinkat (Files): Add lib/at-func.c.
3998         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3999         openat-h, save-cwd. Remove fcntl-h, openat.
4000         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4001         openat.
4002         * modules/selinux-at (Files): Add lib/at-func.c.
4003         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4004         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4005         * modules/symlinkat (Files): Add lib/at-func.c.
4006         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4007         openat-h, save-cwd. Remove fcntl-h, openat.
4008         * modules/unlinkat (Files): Remove lib/openat.h.
4009         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4010         stdbool.
4011         * modules/utimensat (Files): Add lib/at-func.c.
4012         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4013         openat-die, openat-h, save-cwd.
4014         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4015         * modules/fdutimensat-tests (Depends-on): Add openat.
4016         * modules/fstatat-tests (Depends-on): Add openat-h.
4017         * modules/readlinkat-tests (Depends-on): Add openat.
4018         * modules/symlinkat-tests (Depends-on): Add openat.
4019
4020 2011-11-05  Bruno Haible  <bruno@clisp.org>
4021
4022         openat: Include <stdbool.h>.
4023         * lib/openat.c: Include <stdbool.h>.
4024
4025 2011-11-04  Bruno Haible  <bruno@clisp.org>
4026
4027         fchownat, renameat, unlinkat: Fix dependencies.
4028         * modules/fchownat (Depends-on): Add fstatat.
4029         * modules/renameat (Depends-on): Likewise.
4030         * modules/unlinkat (Depends-on): Likewise.
4031
4032 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4033
4034         openat: remove direct dependency on dirent
4035         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4036         and hasn't been needed ever since fdopendir was split into its own
4037         module on 2009-08-31.
4038         * modules/openat (Depends-on): Remove dirent.
4039
4040 2011-11-04  Bruno Haible  <bruno@clisp.org>
4041
4042         renameat: Optimize code size.
4043         * modules/renameat (configure.ac): Don't compile at-func2.c if
4044         REPLACE_RENAMEAT is 1.
4045
4046 2011-11-04  Bruno Haible  <bruno@clisp.org>
4047
4048         openat tests: Fix file list.
4049         * modules/openat-tests (Files): Add tests/test-open.h.
4050
4051 2011-11-04  Bruno Haible  <bruno@clisp.org>
4052
4053         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4054         * modules/fchmodat (Depends-on): Add openat-die.
4055         * modules/fchownat (Depends-on): Likewise.
4056         * modules/linkat (Depends-on): Likewise.
4057         * modules/renameat (Depends-on): Likewise.
4058         * modules/openat (Depends-on): Add dirent.
4059
4060 2011-11-04  Jim Meyering  <meyering@redhat.com>
4061
4062         at-func*.c: fix comments
4063         * lib/at-func2.c: Correct/improve first-line comment.
4064         * lib/at-func.c: Correct grammar in first-line comment.
4065
4066 2011-11-04  Bruno Haible  <bruno@clisp.org>
4067
4068         New module 'mkdirat', split off from module 'openat'.
4069         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4070         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4071         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4072         * modules/mkdirat: New file, extracted from modules/openat.
4073         * modules/openat (Files): Remove lib/mkdirat.c.
4074         (Depends-on): Remove mkdir.
4075         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4076         (Include): Remove <sys/stat.h>.
4077         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4078         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4079         tests/test-mkdir.h.
4080         (Depends-on): Remove ignore-value.
4081         (Makefile.am): Remove rules for test-mkdirat.
4082         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4083         of module 'openat'.
4084         * NEWS: Mention the change.
4085
4086 2011-11-04  Bruno Haible  <bruno@clisp.org>
4087
4088         closedir: Avoid warning on mingw.
4089         * lib/closedir.c: Include <unistd.h>.
4090
4091 2011-11-04  Bruno Haible  <bruno@clisp.org>
4092
4093         New module 'fstatat', split off from module 'openat'.
4094         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4095         defined.
4096         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4097         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4098         gl_FUNC_FSTATAT.
4099         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4100         * modules/fstatat: New file, extracted from modules/openat.
4101         * modules/openat (Files): Remove lib/fstatat.c.
4102         (Depends-on): Remove lstat.
4103         (configure.ac): Remove AC_LIBOBJ of fstatat.
4104         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4105         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4106         tests/test-lstat.h, tests/test-stat.h.
4107         (Depends-on): Remove getcwd-lgpl.
4108         (Makefile.am): Remove rules for test-fstatat.
4109         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4110         of module 'openat'.
4111         * NEWS: Mention the change.
4112         * modules/getcwd (Depends-on): Add fstatat.
4113         * modules/linkat (Depends-on): Likewise.
4114         * modules/mkfifoat-tests (Depends-on): Likewise.
4115         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4116
4117 2011-11-03  Bruno Haible  <bruno@clisp.org>
4118
4119         New module 'unlinkat', split off from module 'openat'.
4120         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4121         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4122         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4123         * modules/unlinkat: New file, extracted from modules/openat. Correct
4124         the dependency conditions.
4125         * modules/openat (Files): Remove lib/unlinkat.c.
4126         (Depends-on): Remove rmdir, unlink.
4127         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4128         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4129         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4130         tests/test-rmdir.h, tests/test-unlink.h.
4131         (Depends-on): Remove unlinkdir.
4132         (Makefile.am): Remove rules for test-unlinkat.
4133         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4134         of module 'openat'.
4135         * NEWS: Mention the change.
4136         * modules/linkat-tests (Depends-on): Add unlinkat.
4137         * modules/mkfifoat-tests (Depends-on): Likewise.
4138         * modules/readlinkat-tests (Depends-on): Likewise.
4139
4140 2011-11-02  Bruno Haible  <bruno@clisp.org>
4141
4142         New module 'fchmodat', split off from module 'openat'.
4143         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4144         defined.
4145         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4146         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4147         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4148         * modules/fchmodat: New file, extracted from modules/openat.
4149         * modules/openat (Files): Remove lib/fchmodat.c.
4150         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4151         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4152         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4153         (Makefile.am): Remove rules for test-fchmodat.
4154         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4155         of module 'openat'.
4156         * NEWS: Mention the change.
4157
4158 2011-11-02  Jim Meyering  <meyering@redhat.com>
4159
4160         putenv: indent #definition of "environ" to placate cppi
4161         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4162
4163         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4164         Git logs are often treated as immutable, because editing them
4165         changes the SHA1 checksums of all descendants.  Thus, errors in
4166         git logs tend to stay there forever.  However, when we generate
4167         a ChangeLog file -- typically for distribution -- from that git log,
4168         we can actually make corrections in the generated file.  The key
4169         lies in recording in machine-readable/applicable form the desired
4170         corrections.  See --help for description and an example.
4171         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4172         (usage): Describe it; alphabetize option descriptions.
4173         (main): Honor the new option, carefully.
4174
4175 2011-11-01  Jim Meyering  <meyering@redhat.com>
4176
4177         gitlog-to-changelog: avoid an infloop
4178         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4179         that ends up being empty.
4180
4181 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4182
4183         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4184         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4185         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4186         contains (possibly-quoted) backslashes.  This should avoid
4187         all-too-common shell bugs if COMPLICATED contains backslashes in
4188         the "wrong" places.  Reported by David Evans in
4189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4190         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4191         because we want ASCII ranges.  Is there some reason we don't use
4192         the C locale everywhere in this script?
4193         (func_module, top level): Avoid unwanted pathname expansion when
4194         $repo_url_prefix or $repo_url_suffix_repl contain shell
4195         metacharacters like '?' and '*'.
4196
4197 2011-11-01  Bruno Haible  <bruno@clisp.org>
4198
4199         fchownat: Improve description.
4200         * modules/fchownat (Description): Add link to function.
4201
4202 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4203
4204         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4205         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4206         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4207         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4208
4209 2011-11-01  Bruno Haible  <bruno@clisp.org>
4210
4211         alignof: Avoid collision with stdalign module.
4212         * lib/alignof.h (alignof): Remove macro.
4213         * NEWS: Mention the change.
4214         Reported by Paul Eggert.
4215
4216 2011-11-01  Bruno Haible  <bruno@clisp.org>
4217
4218         New module 'fchownat', split off from module 'openat'.
4219         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4220         defined.
4221         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4222         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4223         invoke gl_FUNC_FCHOWNAT.
4224         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4225         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4226         * modules/fchownat: New file, extracted from modules/openat.
4227         * modules/openat (Files): Remove lib/fchownat.c.
4228         (Depends-on): Remove lchown.
4229         (configure.ac): Remove AC_LIBOBJ of fchownat.
4230         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4231         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4232         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4233         (Depends-on): Remove mgetgroups, usleep, stat-time.
4234         (configure.ac): Remove test for getegid.
4235         (Makefile.am): Remove rules for test-fchownat.
4236         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4237         of module 'openat'.
4238         * NEWS: Mention the change.
4239
4240 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4241
4242         stdalign: port better to MSVC and to Sun C 5.11
4243         This fixes some of the problems reported by Bruno Haible in
4244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4245         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4246         shortcomings of MSVC and of Sun C 5.11.
4247         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4248         around __declspec arg.
4249         * modules/stdalign-tests (Files): Add tests/macros.h.
4250         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4251         Include macros.h, for ASSERT.
4252         (DECLARE_ALIGNED): Remove.
4253         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4254         to catch bug), and to 1 if not (simplifies the rest of the code).
4255         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4256         (CHECK_AUTO): Remove.
4257         (CHECK_ALIGNED): Check only the alignment of the static vars,
4258         since auto var alignment isn't supported by Sun C 5.11.
4259         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4260         ASSERT failures are easier to diagnose.
4261
4262 2011-10-31  Bruno Haible  <bruno@clisp.org>
4263
4264         doc about some IRIX 5.3 problems.
4265         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4266         on IRIX 5.3.
4267         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4268         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4269         5.3.
4270         * doc/posix-functions/grantpt.texi: Likewise.
4271         * doc/posix-functions/unlockpt.texi: Likewise.
4272         * doc/posix-functions/lgamma.texi: Likewise.
4273         * doc/posix-functions/nextafter.texi: Likewise.
4274         * doc/posix-functions/remainder.texi: Likewise.
4275         * doc/posix-functions/select.texi: Mention misplaced declaration on
4276         IRIX 5.3.
4277         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4278
4279 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4280
4281         gitlog-to-changelog: fix git-log invocation.
4282         git-log mishandles date strings before 1970-01-01 UTC, and there is
4283         no use to specify --since=1970-01-01 by default anyway.
4284         * build-aux/gitlog-to-changelog: By default, when no --since option
4285         was given, do not specify explicit --since option to git-log.
4286
4287 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4288
4289         gitlog-to-changelog: new option --append-dot.
4290         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4291         first non-blank line of each commit message terminated with a dot.
4292
4293 2011-10-30  Bruno Haible  <bruno@clisp.org>
4294
4295         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4296         * lib/ffsl.h: Include <config.h>.
4297         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4298
4299 2011-10-30  Jim Meyering  <meyering@redhat.com>
4300
4301         GNUmakefile: reenable "make syntax-check" for most projects
4302         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4303         build-aux variable", "syntax-check" would do nothing but succeed with
4304         the "No version control files detected..." diagnostic (unless you
4305         happened to override _build-aux via cfg.mk).
4306         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4307         to precede inclusion of maint.mk.  Otherwise, these variables would
4308         be used undefined in any project that does not override the default.
4309
4310 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4311
4312         gitlog-to-changelog: treat a message with only blank lines as empty.
4313         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4314         trailing blank lines before the code that issues a warning about an
4315         empty commit message.
4316
4317 2011-10-30  Jim Meyering  <meyering@redhat.com>
4318
4319         test-parse-datetime.c: avoid new DST-related false positive test failure
4320         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4321         based on the time/date we'll convert, not the current time.
4322         Otherwise, the moment we cross a DST boundary like today's in
4323         Europe, (CEST to CET), that offset ends up being one hour off.
4324
4325 2011-10-27  Bruno Haible  <bruno@clisp.org>
4326
4327         fstat: Tweak documentation.
4328         * modules/fstat (Description): More precise description.
4329
4330 2011-10-27  Bruno Haible  <bruno@clisp.org>
4331
4332         Update documentation regarding 'largefile' module.
4333         * doc/posix-functions/fstat.texi: Tweak wording.
4334         * doc/posix-functions/opendir.texi: Mention that the module fixes the
4335         problems with huge directories and/or small ino_t types.
4336         * doc/posix-functions/readdir.texi: Likewise.
4337         * doc/posix-functions/rewinddir.texi: Likewise.
4338
4339 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
4340
4341         maint.mk: don't maintain a second build-aux variable.
4342         * maint.mk (build_aux): Removed.  The maintainer-makefile module
4343         depends on GNUmakefile, which already maintains a cfg.mk
4344         overridable $(_build-aux) for projects with a non-standard
4345         build-aux directory location, although without the $(srcdir)
4346         prefix.  Use that variable consistently instead of introducing a
4347         second one.  Adjust all call sites.
4348
4349 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4350
4351         Add stdalign module and use it in other modules.
4352         This is based on a previous proposal by Bruno Haible
4353         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
4354
4355         stdalign: new module
4356         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
4357         * modules/stdalign: New files.
4358         * MODULES.html.sh (c1x_core_properties): Add stdalign.
4359         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
4360
4361         stdalign-tests: new module
4362         * modules/stdalign-tests, tests/test-stdalign.c: New files.
4363
4364         argp: use stdalign
4365         * lib/argp-parse.c: Include <stdalign.h>.
4366         (alignof): Remove.
4367         * modules/argp (Depends-on): Add stdalign.
4368
4369         crypto libraries: use stdalign
4370         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
4371         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
4372         Do not include <stdlib.h> twice, in md4.c.
4373         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
4374         because we are accessing a pointer's bit-pattern, not a size.
4375         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
4376         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
4377         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
4378         * modules/crypto/sha512: Likewise.
4379
4380         sys_socket: use stdalign, not alignof
4381         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
4382         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
4383
4384 2011-10-27  Bruno Haible  <bruno@clisp.org>
4385
4386         raise test: Avoid a test failure on Linux/MIPS.
4387         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
4388         because 99 is a valid signal on Linux/MIPS.
4389
4390 2011-10-27  Bruno Haible  <bruno@clisp.org>
4391
4392         nonblocking tests: Fix test failure on Linux/MIPS.
4393         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
4394         Set to 270000.
4395
4396 2011-10-27  Bruno Haible  <bruno@clisp.org>
4397
4398         utimensat: Work around problem on Linux/hppa.
4399         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
4400         values.
4401         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
4402
4403 2011-10-25  Jim Meyering  <meyering@redhat.com>
4404
4405         maint.mk: fix a bug in sc_prohibit_stddef_without_use
4406         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
4407         after symbols like NULL, size_t, etc.
4408         Reported by Alfred M. Szmidt.
4409
4410         maint.mk: exempt ENODATA from a syntax-check rule
4411         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
4412         from the sc_prohibit_always-defined_macros syntax-check rule.
4413         Add a comment.  See this for more details:
4414         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
4415
4416 2011-10-23  Jim Meyering  <meyering@redhat.com>
4417
4418         fts: close parent dir FD before returning from post-traversal fts_read
4419         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
4420         unlink A, even though an FD open on A remained.  This is suboptimal
4421         (holding a file descriptor open longer than needed), but otherwise not
4422         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
4423         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
4424         that represents a real problem: it causes the removal of A to fail
4425         with e.g., "rm: cannot remove `A': Device or resource busy"
4426
4427         fts visits each directory twice and keeps a cache (fts_fd_ring) of
4428         directory file descriptors.  After completing the final, FTS_DP,
4429         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
4430         cache, but then proceeded to add a new FD to it via the subsequent
4431         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
4432         final file descriptor would be closed only via fts_close's call to
4433         fd_ring_clear.  Now, it is usually closed earlier, via the final
4434         FTS_DP-returning fts_read call.
4435         * lib/fts.c (restore_initial_cwd): New function, converted from
4436         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
4437         Update callers.
4438         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
4439         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
4440
4441 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
4442             Bruno Haible  <bruno@clisp.org>
4443             Jim Meyering  <jim@meyering.net>
4444
4445         readme-release: improve safety of release prep instructions.
4446         * README-release: Don't git pull all branches when only master
4447         is needed for the release process.
4448         Run make maintainer-clean before changing trees and merging.
4449         Don't try to run ./configure right after git pull in case files
4450         that influence the bootstrap process have changed, move the
4451         ./configure step to after running ./bootstrap.
4452         Don't bootstrap "one last time"... it's the first time!
4453
4454 2011-10-22  Bruno Haible  <bruno@clisp.org>
4455
4456         errno, strerror-override: Support for MSVC 10.
4457         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
4458         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
4459         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
4460         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
4461         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
4462         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
4463         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
4464         Assign values compatible with MSVC 10.
4465         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
4466         New macros.
4467         (GNULIB_defined_EWINSOCK): New macro.
4468         * lib/strerror-override.c (strerror_override): Update accordingly.
4469         * lib/strerror-override.h: Likewise.
4470         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
4471         longer equal to the corresponding errno value.
4472         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4473
4474 2011-10-22  Bruno Haible  <bruno@clisp.org>
4475
4476         perror: Recognize when test program crashes.
4477         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
4478         strerror, set gl_cv_func_perror_works to no.
4479         Reported by Daniel Richard G. <skunk@iskunk.org>.
4480
4481         perror: Fix indentation.
4482         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
4483
4484 2011-10-22  Bruno Haible  <bruno@clisp.org>
4485
4486         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
4487         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
4488         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
4489         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
4490         functions, not as a macro.
4491         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
4492         macros.
4493         (isfinite, isinf, isnan, signbit): Check overloaded functions and
4494         absence of macro.
4495         Suggested by Eric Blake.
4496         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4497
4498 2011-10-21  Bruno Haible  <bruno@clisp.org>
4499
4500         relocatable-prog-wrapper: Don't leave object files behind.
4501         * build-aux/install-reloc: Re-synchronize list of .o files to be
4502         removed with list of compilation units.
4503
4504 2011-10-20  Bruno Haible  <bruno@clisp.org>
4505
4506         openpty, posix_openpt: Remove code duplication.
4507         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
4508         * lib/openpty.c: Include <stdlib.h>.
4509         (openpty): Use posix_openpt on all platforms except IRIX.
4510         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
4511
4512 2011-10-20  Bruno Haible  <bruno@clisp.org>
4513
4514         unlockpt: Detect invalid argument.
4515         * lib/unlockpt.c: Include <fcntl.h>.
4516         (unlockpt): Check whether fd is valid, using fcntl().
4517         * modules/unlockpt (Depends-on): Add fcntl-h.
4518
4519 2011-10-20  Bruno Haible  <bruno@clisp.org>
4520
4521         openpty: Avoid compilation error on AIX 6.1.
4522         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
4523
4524 2011-10-20  Bruno Haible  <bruno@clisp.org>
4525
4526         posix_openpt: Support for OpenBSD.
4527         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
4528         (posix_openpt) [OpenBSD]: New code.
4529         * lib/grantpt.c: Include <fcntl.h>.
4530         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
4531         * modules/grantpt (Depends-on): Add fcntl-h.
4532
4533 2011-10-20  Bruno Haible  <bruno@clisp.org>
4534
4535         posix_openpt test: Coding style.
4536         * tests/test-posix_openpt.c: Use GNU coding style.
4537
4538 2011-10-20  Bruno Haible  <bruno@clisp.org>
4539
4540         grantpt: Support --avoid=pt_chown.
4541         * modules/grantpt (Files): Add lib/pty-private.h.
4542
4543 2011-10-20  Bruno Haible  <bruno@clisp.org>
4544
4545         posix_openpt: Fix autoconf macro.
4546         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
4547         unneeded check for _getpty.
4548
4549 2011-10-20  Bruno Haible  <bruno@clisp.org>
4550
4551         openpty: Update comments.
4552         * lib/openpty.c: Add comments about Minix.
4553
4554 2011-10-19  Eric Blake  <eblake@redhat.com>
4555
4556         openpty: relax license
4557         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
4558
4559         pt_chown: use configmake to simplify build
4560         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
4561
4562         ptsname and others: relax license
4563         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
4564         * modules/unlockpt (License): Likewise.
4565         * modules/pt_chown (License): Likewise.
4566         * modules/ptsname (License): Likewise.
4567         * modules/ttyname_r (License): Likewise.
4568
4569 2011-10-19  Jim Meyering  <meyering@redhat.com>
4570
4571         posix_openpt: remove spurious #endif
4572         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
4573
4574 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
4575
4576         maint.mk: Respect $(build_aux) in web-manual rule.
4577         * top/maint.mk (web-manual): Find gen-announce script in user's
4578         $(build_aux) directory instead of hard-coding 'build-aux'.
4579
4580 2011-10-19  Bruno Haible  <bruno@clisp.org>
4581
4582         posix_openpt: Fix compilation error.
4583         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
4584         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
4585         Mention the openpty module as an alternative.
4586
4587 2011-10-19  Bruno Haible  <bruno@clisp.org>
4588
4589         Support for old NeXTstep 3.3 frexp().
4590         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
4591         execution time of the test to 5 seconds.
4592         Reported by Daniel Richard G. <skunk@iskunk.org>.
4593
4594 2011-10-19  Bruno Haible  <bruno@clisp.org>
4595
4596         Support for old NeXTstep 3.3 sed.
4597         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
4598         part, use /.../, not \|...|. Escape periods in the header file name.
4599         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
4600         Reported by Daniel Richard G. <skunk@iskunk.org>.
4601
4602 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4603
4604         Support for old NeXTstep 3.3 gcc.
4605         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
4606         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
4607         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
4608         * lib/spawn.in.h (_Restrict_arr_): Likewise.
4609         * lib/regex.h (_Restrict_arr_): Likewise.
4610         * lib/regex_internal.h (re_token_t): Likewise.
4611         * lib/regexec.c (check_node_accept_bytes): Likewise.
4612         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
4613
4614 2011-10-18  Eric Blake  <eblake@redhat.com>
4615
4616         posix_openpt: new module
4617         * modules/posix_openpt: New module.
4618         * m4/posix_openpt.m4: New file.
4619         * lib/posix_openpt.c: Likewise.
4620         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4621         (gl_STDLIB_H_DEFAULTS): Set defaults.
4622         * modules/stdlib (Makefile.am): Substitute macros.
4623         * lib/stdlib.in.h (posix_openpt): Declare.
4624         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
4625         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
4626         * modules/posix_openpt-tests: New test module.
4627         * tests/test-posix_openpt.c: New test.
4628
4629 2011-10-15  Bruno Haible  <bruno@clisp.org>
4630
4631         xstrtoll: Fix compilation failure.
4632         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
4633         from lib/strtol.c.
4634         * doc/posix-headers/limits.texi: Mention missing numerical limits on
4635         some platforms.
4636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4637
4638 2011-10-15  Bruno Haible  <bruno@clisp.org>
4639
4640         vasnprintf: Optimize bit search operation.
4641         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
4642         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
4643         gl_DOUBLE_EXPONENT_LOCATION.
4644         * modules/vasnprintf (Files): Add m4/exponentd.m4.
4645         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4646         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4647         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4648         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4649         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4650         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4651         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4652         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
4653
4654 2011-10-15  Bruno Haible  <bruno@clisp.org>
4655
4656         vasnprintf: Fix comments.
4657         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
4658
4659 2011-10-14  Bruno Haible  <bruno@clisp.org>
4660
4661         Tests for module 'integer_length_ll'.
4662         * modules/integer_length_ll-tests: New file.
4663         * tests/test-integer_length_ll.c: New file.
4664
4665         New module 'integer_length_ll'.
4666         * lib/integer_length_ll.c: New file.
4667         * modules/integer_length_ll: New file.
4668
4669 2011-10-14  Bruno Haible  <bruno@clisp.org>
4670
4671         Tests for module 'integer_length_l'.
4672         * modules/integer_length_l-tests: New file.
4673         * tests/test-integer_length_l.c: New file.
4674
4675         New module 'integer_length_l'.
4676         * lib/integer_length_l.c: New file.
4677         * modules/integer_length_l: New file.
4678
4679 2011-10-14  Bruno Haible  <bruno@clisp.org>
4680
4681         Tests for module 'integer_length'.
4682         * modules/integer_length-tests: New file.
4683         * tests/test-integer_length.c: New file.
4684
4685         New module 'integer_length'.
4686         * lib/integer_length.h: New file.
4687         * lib/integer_length.c: New file.
4688         * modules/integer_length: New file.
4689
4690 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4691
4692         popen: Fix dependency conditions.
4693         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
4694
4695 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
4696
4697         perror: Fix autoconf test.
4698         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
4699         <stdlib.h> and <string.h>.
4700
4701 2011-10-14  Bruno Haible  <bruno@clisp.org>
4702
4703         ffsl: Optimize on 64-bit platforms.
4704         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
4705         unrolling.
4706
4707 2011-10-13  Bruno Haible  <bruno@clisp.org>
4708
4709         ffsl: Optimize on 32-bit platforms.
4710         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
4711         use ffs() without a loop.
4712
4713         ffsl, ffsll: Optimize for GCC.
4714         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
4715         * lib/ffsl.c (GCC_BUILTIN): New macro.
4716         * lib/ffsll.c (GCC_BUILTIN): Likewise.
4717
4718 2011-10-13  Bruno Haible  <bruno@clisp.org>
4719
4720         ffs, bcopy, memset: Support symbol renaming via config.h.
4721         * lib/ffs.c: Include <config.h>.
4722         * lib/bcopy.c: Likewise.
4723         * lib/memset.c: Likewise.
4724
4725 2011-10-10  Bruno Haible  <bruno@clisp.org>
4726
4727         atanl: Simplify for platforms where 'long double' == 'double'.
4728         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4729         alternative implementation.
4730         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4731         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4732         * modules/atanl (Depends-on): Add atan. Update conditions.
4733
4734 2011-10-10  Bruno Haible  <bruno@clisp.org>
4735
4736         acosl: Simplify for platforms where 'long double' == 'double'.
4737         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4738         alternative implementation.
4739         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4740         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4741         * modules/acosl (Depends-on): Add acos. Update conditions.
4742
4743 2011-10-10  Bruno Haible  <bruno@clisp.org>
4744
4745         asinl: Simplify for platforms where 'long double' == 'double'.
4746         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4747         alternative implementation.
4748         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4749         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4750         * modules/asinl (Depends-on): Add asin. Update conditions.
4751
4752 2011-10-10  Bruno Haible  <bruno@clisp.org>
4753
4754         tanl: Simplify for platforms where 'long double' == 'double'.
4755         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4756         implementation.
4757         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4758         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4759         * modules/tanl (Depends-on): Add tan. Update conditions.
4760         (configure.ac): Don't compile trigl.c if
4761         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4762
4763 2011-10-10  Bruno Haible  <bruno@clisp.org>
4764
4765         cosl: Simplify for platforms where 'long double' == 'double'.
4766         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4767         implementation.
4768         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4769         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4770         * modules/cosl (Depends-on): Add cos. Update conditions.
4771         (configure.ac): Don't compile sincosl.c and trigl.c if
4772         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4773
4774 2011-10-10  Bruno Haible  <bruno@clisp.org>
4775
4776         sinl: Simplify for platforms where 'long double' == 'double'.
4777         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4778         implementation.
4779         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4780         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4781         * modules/sinl (Depends-on): Add sin. Update conditions.
4782         (configure.ac): Don't compile sincosl.c and trigl.c if
4783         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4784
4785 2011-10-10  Bruno Haible  <bruno@clisp.org>
4786
4787         logl: Simplify for platforms where 'long double' == 'double'.
4788         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4789         implementation.
4790         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4791         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4792         * modules/logl (Depends-on): Add log. Update conditions.
4793
4794 2011-10-10  Bruno Haible  <bruno@clisp.org>
4795
4796         expl: Simplify for platforms where 'long double' == 'double'.
4797         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
4798         implementation.
4799         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4800         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4801         * modules/expl (Depends-on): Add exp. Update conditions.
4802
4803 2011-10-10  Bruno Haible  <bruno@clisp.org>
4804
4805         sqrtl: Simplify for platforms where 'long double' == 'double'.
4806         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4807         alternative implementation.
4808         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4809         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4810         * modules/sqrtl (Depends-on): Update conditions.
4811
4812 2011-10-10  Bruno Haible  <bruno@clisp.org>
4813
4814         ldexpl: Simplify for platforms where 'long double' == 'double'.
4815         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4816         alternative implementation.
4817         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4818         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4819         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
4820
4821 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
4822
4823         ffsll: set correct witness
4824         * modules/ffsll (configure.ac): Fix typo.
4825
4826 2011-10-10  Bruno Haible  <bruno@clisp.org>
4827
4828         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
4829         * lib/printf-frexpl.c: Include <config.h>.
4830         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4831         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
4832         second time.
4833         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
4834         gl_LONG_DOUBLE_VS_DOUBLE.
4835         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
4836         conditions.
4837
4838 2011-10-10  Bruno Haible  <bruno@clisp.org>
4839
4840         frexpl: Simplify for platforms where 'long double' == 'double'.
4841         * lib/frexpl.c: Include <config.h>.
4842         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4843         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4844         time.
4845         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4846         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4847         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
4848         * modules/frexpl (Depends-on): Add frexp. Update conditions.
4849         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
4850         conditions.
4851
4852 2011-10-10  Jim Meyering  <meyering@redhat.com>
4853
4854         test-renameat: don't leave behind a temporary file
4855         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
4856           ERROR: files left in build directory after distclean:
4857           ./gltests/test-renameat.too
4858           make[1]: *** [distcleancheck] Error 1
4859         Reported by Tom G. Christensen.
4860
4861 2011-10-09  Bruno Haible  <bruno@clisp.org>
4862
4863         rint: Determine RINT_LIBM correctly on AIX 7.
4864         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
4865         directly, not only through a function pointer. Also accept an optional
4866         4th argument with extra code.
4867         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
4868         rintf() call by gcc when optimizing.
4869
4870         mathfunc.m4: Refactor.
4871         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
4872         m4 variable.
4873
4874 2011-10-09  Bruno Haible  <bruno@clisp.org>
4875
4876         rintl: Simplify for platforms where 'long double' == 'double'.
4877         * lib/rintl.c: Include <config.h>.
4878         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4879         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4880         time.
4881         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4882         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4883         * modules/rintl (Depends-on): Add rint. Update conditions.
4884
4885 2011-10-09  Bruno Haible  <bruno@clisp.org>
4886
4887         roundl: Simplify for platforms where 'long double' == 'double'.
4888         * lib/roundl.c: Include <config.h>.
4889         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4890         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4891         time.
4892         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4893         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4894         * modules/roundl (Depends-on): Add round. Update conditions.
4895
4896 2011-10-09  Bruno Haible  <bruno@clisp.org>
4897
4898         truncl: Simplify for platforms where 'long double' == 'double'.
4899         * lib/truncl.c: Include <config.h>.
4900         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4901         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4902         time.
4903         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4904         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4905         * modules/truncl (Depends-on): Add trunc. Update conditions.
4906
4907 2011-10-09  Bruno Haible  <bruno@clisp.org>
4908
4909         ceill: Simplify for platforms where 'long double' == 'double'.
4910         * lib/ceill.c: Include <config.h>.
4911         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4912         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4913         time.
4914         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4915         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4916         * modules/ceill (Depends-on): Add ceil. Update conditions.
4917
4918 2011-10-09  Bruno Haible  <bruno@clisp.org>
4919
4920         floorl: Simplify for platforms where 'long double' == 'double'.
4921         * lib/floorl.c: Include <config.h>.
4922         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
4923         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
4924         time.
4925         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4926         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4927         * modules/floorl (Depends-on): Add floor. Update conditions.
4928
4929 2011-10-09  Bruno Haible  <bruno@clisp.org>
4930
4931         rint: Fix ordering constraints.
4932         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
4933         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4934         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4935
4936 2011-10-09  Bruno Haible  <bruno@clisp.org>
4937
4938         copysignl: Simplify for platforms where 'long double' == 'double'.
4939         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
4940         alternative.
4941         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4942         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
4943         * modules/copysignl (Depends-on): Add copysign. Update conditions.
4944
4945 2011-10-09  Bruno Haible  <bruno@clisp.org>
4946
4947         Tests for module 'rintl'.
4948         * modules/rintl-tests: New file.
4949         * tests/test-rintl.c: New file.
4950
4951         New module 'rintl'.
4952         * lib/math.in.h (rintl): New declaration.
4953         * lib/rintl.c: New file.
4954         * m4/rintl.m4: New file.
4955         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
4956         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
4957         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
4958         * modules/rintl: New file.
4959         * tests/test-math-c++.cc: Check the declaration of rintl.
4960         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4961         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
4962         * doc/posix-functions/rintl.texi: Mention the new module.
4963
4964 2011-10-09  Bruno Haible  <bruno@clisp.org>
4965
4966         Tests for module 'rintf'.
4967         * modules/rintf-tests: New file.
4968         * tests/test-rintf.c: New file.
4969
4970         New module 'rintf'.
4971         * lib/math.in.h (rintf): New declaration.
4972         * lib/rintf.c: New file.
4973         * m4/rintf.m4: New file.
4974         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4976         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4977         * modules/rintf: New file.
4978         * tests/test-math-c++.cc: Check the declaration of rintf.
4979         * doc/posix-functions/rintf.texi: Mention the new module.
4980
4981 2011-10-09  Bruno Haible  <bruno@clisp.org>
4982
4983         rint: Support for MSVC.
4984         * lib/math.in.h (rint): New declaration.
4985         * lib/rint.c: New file.
4986         * m4/rint.m4: New file.
4987         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4988         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4989         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4990         * modules/rint (Description): Fix.
4991         (Files): Add lib/rint.c, m4/rint.m4.
4992         (Depends-on): Add math.
4993         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4994         gl_MATH_MODULE_INDICATOR.
4995         * tests/test-math-c++.cc: Check the declaration of rint.
4996         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4997         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4998         * doc/posix-functions/rint.texi: Mention the replacement provided by
4999         the module.
5000
5001         rint tests: More tests.
5002         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5003         minus-zero.h, infinity.h, nan.h.
5004         (main): Skip the test if the current rounding mode is not standard. Add
5005         tests for negative numbers, minus zero, infinity, NaN.
5006         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5007         tests/nan.h.
5008         (Depends-on): Add isnand-nolibm.
5009
5010 2011-10-09  Bruno Haible  <bruno@clisp.org>
5011
5012         Tests for module 'copysignl'.
5013         * modules/copysignl-tests: New file.
5014         * tests/test-copysignl.c: New file.
5015
5016         New module 'copysignl'.
5017         * lib/math.in.h (copysignl): New declaration.
5018         * lib/copysignl.c: New file.
5019         * m4/copysignl.m4: New file.
5020         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5021         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5022         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5023         HAVE_COPYSIGNL.
5024         * modules/copysignl: New file.
5025         * tests/test-math-c++.cc: Check the declaration of copysignl.
5026         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5027         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5028         * doc/posix-functions/copysignl.texi: Mention the new module.
5029
5030 2011-10-09  Bruno Haible  <bruno@clisp.org>
5031
5032         Tests for module 'copysignf'.
5033         * modules/copysignf-tests: New file.
5034         * tests/test-copysignf.c: New file.
5035
5036         New module 'copysignf'.
5037         * lib/math.in.h (copysignf): New declaration.
5038         * lib/copysignf.c: New file.
5039         * m4/copysignf.m4: New file.
5040         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5042         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5043         HAVE_COPYSIGNF.
5044         * modules/copysignf: New file.
5045         * tests/test-math-c++.cc: Check the declaration of copysignf.
5046         * doc/posix-functions/copysignf.texi: Mention the new module.
5047
5048 2011-10-09  Bruno Haible  <bruno@clisp.org>
5049
5050         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5051         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5052         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5053         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5054         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5055         gl_SIGNAL_H_DEFAULTS.
5056
5057 2011-10-09  Bruno Haible  <bruno@clisp.org>
5058
5059         poll: Make macro safer.
5060         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5061         ac_cv_header_poll_h is not set.
5062
5063 2011-10-09  Bruno Haible  <bruno@clisp.org>
5064
5065         copysign: Provide replacement.
5066         * lib/math.in.h (copysign): New declaration.
5067         * lib/copysign.c: New file.
5068         * m4/copysign.m4: New file.
5069         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5070         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5071         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5072         HAVE_COPYSIGN.
5073         * modules/copysign (Description): Clarify.
5074         (Files): Add lib/copysign.c, m4/copysign.m4.
5075         (Depends-on): Add math, signbit.
5076         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5077         gl_MATH_MODULE_INDICATOR.
5078         * tests/test-math-c++.cc: Check the declaration of copysign.
5079         * doc/posix-functions/copysign.texi: Mention the effects of the module
5080         on Minix and MSVC.
5081
5082 2011-10-09  Bruno Haible  <bruno@clisp.org>
5083
5084         isinf: Ensure macro on AIX 5.1.
5085         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5086         macro.
5087         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5088
5089 2011-10-09  Bruno Haible  <bruno@clisp.org>
5090
5091         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5092         * modules/snprintf-posix-tests (configure.ac): Require
5093         gl_LONG_DOUBLE_VS_DOUBLE.
5094         * modules/sprintf-posix-tests (configure.ac): Likewise.
5095         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5096         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5097         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5098         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5099         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5100         tests on platforms where 'long double' is the same as 'double'.
5101         * tests/test-sprintf-posix.h (test_function): Likewise.
5102         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5103         * tests/test-vasprintf-posix.c (test_function): Likewise.
5104
5105         *printf: Fix for platforms where 'long double' == 'double'.
5106         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5107         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5108         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5109         * modules/fprintf-posix (Files): Likewise.
5110         * modules/obstack-printf-posix (Files): Likewise.
5111         * modules/snprintf-posix (Files): Likewise.
5112         * modules/sprintf-posix (Files): Likewise.
5113         * modules/vasnprintf (Files): Likewise.
5114         * modules/vasnprintf-posix (Files): Likewise.
5115         * modules/vasprintf-posix (Files): Likewise.
5116         * modules/vdprintf-posix (Files): Likewise.
5117         * modules/vfprintf-posix (Files): Likewise.
5118         * modules/vsnprintf-posix (Files): Likewise.
5119         * modules/vsprintf-posix (Files): Likewise.
5120         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5121         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5122         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5123         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5124         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5125         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5126         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5127
5128         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5129         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5130         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5131         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5132         'long double'.
5133         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5134
5135         isinf: Fix for platforms where 'long double' == 'double'.
5136         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5137         Don't blindly assume 80-bit 'long double'.
5138
5139         isfinite: Fix for platforms where 'long double' == 'double'.
5140         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5141         Don't blindly assume 80-bit 'long double'.
5142
5143         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5144         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5145         * modules/isfinite-tests (configure.ac): Require
5146         gl_LONG_DOUBLE_VS_DOUBLE.
5147         * modules/isinf-tests (configure.ac): Likewise.
5148         * modules/isnan-tests (configure.ac): Likewise.
5149         * modules/isnanl-tests (configure.ac): Likewise.
5150         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5151         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5152         tests on platforms where 'long double' is the same as 'double'.
5153         * tests/test-isinf.c (test_isinfl): Likewise.
5154         * tests/test-isnan.c (test_long_double): Likewise.
5155         * tests/test-isnanl.h (main): Likewise.
5156
5157 2011-10-08  Bruno Haible  <bruno@clisp.org>
5158
5159         Tests for module 'tanhf'.
5160         * modules/tanhf-tests: New file.
5161         * tests/test-tanhf.c: New file.
5162
5163         New module 'tanhf'.
5164         * lib/math.in.h (tanhf): New declaration.
5165         * lib/tanhf.c: New file.
5166         * m4/tanhf.m4: New file.
5167         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5169         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5170         * modules/tanhf: New file.
5171         * tests/test-math-c++.cc: Check the declaration of tanhf.
5172         * doc/posix-functions/tanhf.texi: Mention the new module.
5173
5174         tanh: Use a .m4 file.
5175         * m4/tanh.m4: New file.
5176         * modules/tanh (Files): Add it.
5177         (configure.ac): Just invoke gl_FUNC_TANH.
5178
5179 2011-10-08  Bruno Haible  <bruno@clisp.org>
5180
5181         Tests for module 'coshf'.
5182         * modules/coshf-tests: New file.
5183         * tests/test-coshf.c: New file.
5184
5185         New module 'coshf'.
5186         * lib/math.in.h (coshf): New declaration.
5187         * lib/coshf.c: New file.
5188         * m4/coshf.m4: New file.
5189         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5190         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5191         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5192         * modules/coshf: New file.
5193         * tests/test-math-c++.cc: Check the declaration of coshf.
5194         * doc/posix-functions/coshf.texi: Mention the new module.
5195
5196         cosh: Use a .m4 file.
5197         * m4/cosh.m4: New file.
5198         * modules/cosh (Files): Add it.
5199         (configure.ac): Just invoke gl_FUNC_COSH.
5200
5201 2011-10-08  Bruno Haible  <bruno@clisp.org>
5202
5203         Tests for module 'sinhf'.
5204         * modules/sinhf-tests: New file.
5205         * tests/test-sinhf.c: New file.
5206
5207         New module 'sinhf'.
5208         * lib/math.in.h (sinhf): New declaration.
5209         * lib/sinhf.c: New file.
5210         * m4/sinhf.m4: New file.
5211         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5212         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5213         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5214         * modules/sinhf: New file.
5215         * tests/test-math-c++.cc: Check the declaration of sinhf.
5216         * doc/posix-functions/sinhf.texi: Mention the new module.
5217
5218         sinh: Use a .m4 file.
5219         * m4/sinh.m4: New file.
5220         * modules/sinh (Files): Add it.
5221         (configure.ac): Just invoke gl_FUNC_SINH.
5222
5223 2011-10-08  Bruno Haible  <bruno@clisp.org>
5224
5225         Tests for module 'atan2f'.
5226         * modules/atan2f-tests: New file.
5227         * tests/test-atan2f.c: New file.
5228
5229         New module 'atan2f'.
5230         * lib/math.in.h (atan2f): New declaration.
5231         * lib/atan2f.c: New file.
5232         * m4/atan2f.m4: New file.
5233         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5235         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5236         * modules/atan2f: New file.
5237         * tests/test-math-c++.cc: Check the declaration of atan2f.
5238         * doc/posix-functions/atan2f.texi: Mention the new module.
5239
5240         atan2: Use a .m4 file.
5241         * m4/atan2.m4: New file.
5242         * modules/atan2 (Files): Add it.
5243         (configure.ac): Just invoke gl_FUNC_ATAN2.
5244
5245 2011-10-08  Bruno Haible  <bruno@clisp.org>
5246
5247         Tests for module 'atanf'.
5248         * modules/atanf-tests: New file.
5249         * tests/test-atanf.c: New file.
5250
5251         New module 'atanf'.
5252         * lib/math.in.h (atanf): New declaration.
5253         * lib/atanf.c: New file.
5254         * m4/atanf.m4: New file.
5255         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5256         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5257         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5258         * modules/atanf: New file.
5259         * tests/test-math-c++.cc: Check the declaration of atanf.
5260         * doc/posix-functions/atanf.texi: Mention the new module.
5261
5262         atan: Use a .m4 file.
5263         * m4/atan.m4: New file.
5264         * modules/atan (Files): Add it.
5265         (configure.ac): Just invoke gl_FUNC_ATAN.
5266
5267 2011-10-08  Bruno Haible  <bruno@clisp.org>
5268
5269         Tests for module 'acosf'.
5270         * modules/acosf-tests: New file.
5271         * tests/test-acosf.c: New file.
5272
5273         New module 'acosf'.
5274         * lib/math.in.h (acosf): New declaration.
5275         * lib/acosf.c: New file.
5276         * m4/acosf.m4: New file.
5277         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5278         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5279         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5280         * modules/acosf: New file.
5281         * tests/test-math-c++.cc: Check the declaration of acosf.
5282         * doc/posix-functions/acosf.texi: Mention the new module.
5283
5284         acos: Use a .m4 file.
5285         * m4/acos.m4: New file.
5286         * modules/acos (Files): Add it.
5287         (configure.ac): Just invoke gl_FUNC_ACOS.
5288
5289 2011-10-08  Bruno Haible  <bruno@clisp.org>
5290
5291         Tests for module 'asinf'.
5292         * modules/asinf-tests: New file.
5293         * tests/test-asinf.c: New file.
5294
5295         New module 'asinf'.
5296         * lib/math.in.h (asinf): New declaration.
5297         * lib/asinf.c: New file.
5298         * m4/asinf.m4: New file.
5299         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5301         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5302         * modules/asinf: New file.
5303         * tests/test-math-c++.cc: Check the declaration of asinf.
5304         * doc/posix-functions/asinf.texi: Mention the new module.
5305
5306         asin: Use a .m4 file.
5307         * m4/asin.m4: New file.
5308         * modules/asin (Files): Add it.
5309         (configure.ac): Just invoke gl_FUNC_ASIN.
5310
5311 2011-10-08  Bruno Haible  <bruno@clisp.org>
5312
5313         Tests for module 'tanf'.
5314         * modules/tanf-tests: New file.
5315         * tests/test-tanf.c: New file.
5316
5317         New module 'tanf'.
5318         * lib/math.in.h (tanf): New declaration.
5319         * lib/tanf.c: New file.
5320         * m4/tanf.m4: New file.
5321         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5322         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5323         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5324         * modules/tanf: New file.
5325         * tests/test-math-c++.cc: Check the declaration of tanf.
5326         * doc/posix-functions/tanf.texi: Mention the new module.
5327
5328         tan: Use a .m4 file.
5329         * m4/tan.m4: New file.
5330         * modules/tan (Files): Add it.
5331         (configure.ac): Just invoke gl_FUNC_TAN.
5332
5333 2011-10-08  Bruno Haible  <bruno@clisp.org>
5334
5335         Tests for module 'cosf'.
5336         * modules/cosf-tests: New file.
5337         * tests/test-cosf.c: New file.
5338
5339         New module 'cosf'.
5340         * lib/math.in.h (cosf): New declaration.
5341         * lib/cosf.c: New file.
5342         * m4/cosf.m4: New file.
5343         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
5344         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
5345         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
5346         * modules/cosf: New file.
5347         * tests/test-math-c++.cc: Check the declaration of cosf.
5348         * doc/posix-functions/cosf.texi: Mention the new module.
5349
5350         cos: Use a .m4 file.
5351         * m4/cos.m4: New file.
5352         * modules/cos (Files): Add it.
5353         (configure.ac): Just invoke gl_FUNC_COS.
5354
5355 2011-10-08  Bruno Haible  <bruno@clisp.org>
5356
5357         Tests for module 'sinf'.
5358         * modules/sinf-tests: New file.
5359         * tests/test-sinf.c: New file.
5360
5361         New module 'sinf'.
5362         * lib/math.in.h (sinf): New declaration.
5363         * lib/sinf.c: New file.
5364         * m4/sinf.m4: New file.
5365         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
5366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
5367         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
5368         * modules/sinf: New file.
5369         * tests/test-math-c++.cc: Check the declaration of sinf.
5370         * doc/posix-functions/sinf.texi: Mention the new module.
5371
5372         sin: Use a .m4 file.
5373         * m4/sin.m4: New file.
5374         * modules/sin (Files): Add it.
5375         (configure.ac): Just invoke gl_FUNC_SIN.
5376
5377 2011-10-08  Bruno Haible  <bruno@clisp.org>
5378
5379         Tests for module 'powf'.
5380         * modules/powf-tests: New file.
5381         * tests/test-powf.c: New file.
5382
5383         New module 'powf'.
5384         * lib/math.in.h (powf): New declaration.
5385         * lib/powf.c: New file.
5386         * m4/powf.m4: New file.
5387         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
5388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
5389         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
5390         * modules/powf: New file.
5391         * tests/test-math-c++.cc: Check the declaration of powf.
5392         * doc/posix-functions/powf.texi: Mention the new module.
5393
5394         pow: Use a .m4 file.
5395         * m4/pow.m4: New file.
5396         * modules/pow (Files): Add it.
5397         (configure.ac): Just invoke gl_FUNC_POW.
5398
5399 2011-10-08  Bruno Haible  <bruno@clisp.org>
5400
5401         Tests for module 'log10f'.
5402         * modules/log10f-tests: New file.
5403         * tests/test-log10f.c: New file.
5404
5405         New module 'log10f'.
5406         * lib/math.in.h (log10f): New declaration.
5407         * lib/log10f.c: New file.
5408         * m4/log10f.m4: New file.
5409         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
5410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
5411         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
5412         * modules/log10f: New file.
5413         * tests/test-math-c++.cc: Check the declaration of log10f.
5414         * doc/posix-functions/log10f.texi: Mention the new module.
5415
5416         log10: Use a .m4 file.
5417         * m4/log10.m4: New file.
5418         * modules/log10 (Files): Add it.
5419         (configure.ac): Just invoke gl_FUNC_LOG10.
5420
5421 2011-10-08  Bruno Haible  <bruno@clisp.org>
5422
5423         Tests for module 'logf'.
5424         * modules/logf-tests: New file.
5425         * tests/test-logf.c: New file.
5426
5427         New module 'logf'.
5428         * lib/math.in.h (logf): New declaration.
5429         * lib/logf.c: New file.
5430         * m4/logf.m4: New file.
5431         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
5432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
5433         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
5434         * modules/logf: New file.
5435         * tests/test-math-c++.cc: Check the declaration of logf.
5436         * doc/posix-functions/logf.texi: Mention the new module.
5437
5438         log: Use a .m4 file.
5439         * m4/log.m4: New file.
5440         * modules/log (Files): Add it.
5441         (configure.ac): Just invoke gl_FUNC_LOG.
5442
5443 2011-10-08  Bruno Haible  <bruno@clisp.org>
5444
5445         Tests for module 'expf'.
5446         * modules/expf-tests: New file.
5447         * tests/test-expf.c: New file.
5448
5449         New module 'expf'.
5450         * lib/math.in.h (expf): New declaration.
5451         * lib/expf.c: New file.
5452         * m4/expf.m4: New file.
5453         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
5454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
5455         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
5456         * modules/expf: New file.
5457         * tests/test-math-c++.cc: Check the declaration of expf.
5458         * doc/posix-functions/expf.texi: Mention the new module.
5459
5460         exp: Use a .m4 file.
5461         * m4/exp.m4: New file.
5462         * modules/exp (Files): Add it.
5463         (configure.ac): Just invoke gl_FUNC_EXP.
5464
5465 2011-10-08  Bruno Haible  <bruno@clisp.org>
5466
5467         Tests for module 'sqrtf'.
5468         * modules/sqrtf-tests: New file.
5469         * tests/test-sqrtf.c: New file.
5470
5471         New module 'sqrtf'.
5472         * lib/math.in.h (sqrtf): New declaration.
5473         * lib/sqrtf.c: New file.
5474         * m4/sqrtf.m4: New file.
5475         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
5476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
5477         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
5478         * modules/sqrtf: New file.
5479         * tests/test-math-c++.cc: Check the declaration of sqrtf.
5480         * doc/posix-functions/sqrtf.texi: Mention the new module.
5481
5482 2011-10-08  Bruno Haible  <bruno@clisp.org>
5483
5484         Tests: Avoid link failures w.r.t. libintl.
5485         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
5486         $(LIBINTL).
5487         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
5488         $(LIBINTL).
5489         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
5490         against $(LIBINTL).
5491         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
5492         $(LIBINTL).
5493         * modules/openat-tests (Makefile.am): Link test-fchmodat against
5494         $(LIBINTL).
5495         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
5496
5497 2011-10-08  Bruno Haible  <bruno@clisp.org>
5498
5499         pow tests: Defeat compiler optimizations.
5500         * tests/test-pow.c (main): Assign arguments to x and y before use.
5501
5502 2011-10-08  Bruno Haible  <bruno@clisp.org>
5503
5504         gnulib-tool: Improve last commit.
5505         * gnulib-tool (func_modules_transitive_closure): Simplify code.
5506         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
5507         ignore dependencies that are not among the modules list.
5508
5509 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
5510
5511         gnulib-tool: don't follow dependencies to avoided modules
5512         This fixes a bug that is related to the previous one.
5513         * gnulib-tool (func_modules_transitive_closure)
5514         (func_emit_autoconf_snippets):
5515         Check whether a dependency is acceptable before using it.
5516         (--extract-dependencies): Report an error if --avoid is also used,
5517         since this combination of options is not yet supported.
5518
5519         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
5520         Problem reported by Peter Dyballa in
5521         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
5522         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
5523         when echoing "$condition".
5524
5525 2011-10-07  Bruno Haible  <bruno@clisp.org>
5526
5527         Fix documentation about math functions on MacOS X.
5528         * doc/posix-functions/exp2.texi: Don't say the function is missing on
5529         MacOS X 10.5.
5530         * doc/posix-functions/fdim.texi: Likewise.
5531         * doc/posix-functions/feclearexcept.texi: Likewise.
5532         * doc/posix-functions/fegetenv.texi: Likewise.
5533         * doc/posix-functions/fegetround.texi: Likewise.
5534         * doc/posix-functions/feholdexcept.texi: Likewise.
5535         * doc/posix-functions/feraiseexcept.texi: Likewise.
5536         * doc/posix-functions/fesetenv.texi: Likewise.
5537         * doc/posix-functions/fesetround.texi: Likewise.
5538         * doc/posix-functions/fetestexcept.texi: Likewise.
5539         * doc/posix-functions/feupdateenv.texi: Likewise.
5540         * doc/posix-functions/fmax.texi: Likewise.
5541         * doc/posix-functions/fmin.texi: Likewise.
5542         * doc/posix-functions/log2.texi: Likewise.
5543         * doc/posix-functions/modff.texi: Likewise.
5544         * doc/posix-functions/nan.texi: Likewise.
5545         * doc/posix-functions/nanf.texi: Likewise.
5546         * doc/posix-functions/nextafterf.texi: Likewise.
5547         * doc/posix-functions/remquo.texi: Likewise.
5548
5549 2011-10-07  Bruno Haible  <bruno@clisp.org>
5550
5551         modff: Drop assumption about library that defines modff.
5552         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
5553         AC_CHECK_FUNCS.
5554         * modules/modff (Files): Add m4/mathfunc.m4.
5555
5556 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
5557
5558         raise tests: Avoid a GCC warning.
5559         * tests/test-raise.c (handler): Use _Noreturn.
5560
5561 2011-10-07  Bruno Haible  <bruno@clisp.org>
5562
5563         Tests for module 'ldexpf'.
5564         * modules/ldexpf-tests: New file.
5565         * tests/test-ldexpf.c: New file.
5566
5567         New module 'ldexpf'.
5568         * lib/math.in.h (ldexpf): New declaration.
5569         * lib/ldexpf.c: New file.
5570         * m4/ldexpf.m4: New file.
5571         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
5572         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
5573         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
5574         * modules/ldexpf: New file.
5575         * tests/test-math-c++.cc: Check the declaration of ldexpf.
5576         * doc/posix-functions/ldexpf.texi: Mention the new module.
5577
5578 2011-10-06  Bruno Haible  <bruno@clisp.org>
5579
5580         frexpf: Work around problems on IRIX and mingw.
5581         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
5582         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
5583         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
5584         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
5585         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
5586         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
5587         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
5588
5589 2011-10-06  Bruno Haible  <bruno@clisp.org>
5590
5591         fabsf: Drop assumption about library that defines fabsf.
5592         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
5593         AC_CHECK_FUNCS.
5594         * modules/fabsf (Files): Add m4/mathfunc.m4.
5595
5596 2011-10-06  Bruno Haible  <bruno@clisp.org>
5597
5598         frexpf: Drop assumption about library that defines frexpf.
5599         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
5600         'int *', 'float *', 'long double *', 'float', 'long double'.
5601         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
5602         AC_CHECK_FUNCS.
5603         * modules/frexpf (Files): Add m4/mathfunc.m4.
5604
5605         Tests for module 'frexpf'.
5606         * modules/frexpf-tests: New file.
5607         * tests/test-frexpf.c: New file.
5608
5609         New module 'frexpf'.
5610         * lib/math.in.h (frexpf): New declaration.
5611         * lib/frexpf.c: New file.
5612         * m4/frexpf.m4: New file.
5613         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
5614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
5615         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
5616         * modules/frexpf: New file.
5617         * tests/test-math-c++.cc: Check the declaration of frexpf.
5618         * doc/posix-functions/frexpf.texi: Mention the new module.
5619
5620 2011-10-06  Bruno Haible  <bruno@clisp.org>
5621
5622         math: Sort function declarations of math.in.h.
5623         * lib/math.in.h (frexp, logb): Move declarations.
5624
5625 2011-10-05  Bruno Haible  <bruno@clisp.org>
5626
5627         Tests for module 'modff'.
5628         * modules/modff-tests: New file.
5629         * tests/test-modff.c: New file.
5630
5631         New module 'modff'.
5632         * lib/math.in.h (modff): New declaration.
5633         * lib/modff.c: New file.
5634         * m4/modff.m4: New file.
5635         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
5636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
5637         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
5638         * modules/modff: New file.
5639         * tests/test-math-c++.cc: Check the declaration of modff.
5640         * doc/posix-functions/modff.texi: Mention the new module.
5641
5642         modf tests: Make test sharper.
5643         * tests/test-modf.c (main): Strengthen upper bound.
5644
5645         modf: Use a .m4 file.
5646         * m4/modf.m4: New file.
5647         * modules/modf (Files): Add it.
5648         (configure.ac): Just invoke gl_FUNC_MODF.
5649
5650 2011-10-05  Bruno Haible  <bruno@clisp.org>
5651
5652         Tests for module 'fmodf'.
5653         * modules/fmodf-tests: New file.
5654         * tests/test-fmodf.c: New file.
5655
5656         New module 'fmodf'.
5657         * lib/math.in.h (fmodf): New declaration.
5658         * lib/fmodf.c: New file.
5659         * m4/fmodf.m4: New file.
5660         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
5661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
5662         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
5663         * modules/fmodf: New file.
5664         * tests/test-math-c++.cc: Check the declaration of fmodf.
5665         * doc/posix-functions/fmodf.texi: Mention the new module.
5666
5667         fmod: Use a .m4 file.
5668         * m4/fmod.m4: New file.
5669         * modules/fmod (Files): Add it.
5670         (configure.ac): Just invoke gl_FUNC_FMOD.
5671
5672 2011-10-05  Bruno Haible  <bruno@clisp.org>
5673
5674         Tests for module 'fabsf'.
5675         * modules/fabsf-tests: New file.
5676         * tests/test-fabsf.c: New file.
5677
5678         New module 'fabsf'.
5679         * lib/math.in.h (fabsf): New declaration.
5680         * lib/fabsf.c: New file.
5681         * m4/fabsf.m4: New file.
5682         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
5683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
5684         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
5685         * modules/fabsf: New file.
5686         * tests/test-math-c++.cc: Check the declaration of fabsf.
5687         * doc/posix-functions/fabsf.texi: Mention the new module.
5688
5689         fabs: Use a .m4 file.
5690         * m4/fabs.m4: New file.
5691         * modules/fabs (Files): Add it.
5692         (configure.ac): Just invoke gl_FUNC_FABS.
5693
5694 2011-10-05  Jim Meyering  <meyering@redhat.com>
5695
5696         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
5697         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
5698         ls -lL regression introduced in coreutils-8.12, it does so at the
5699         cost of an additional stat call in the common case.  Besides, now
5700         that the kernel change that prompted commit 95f7c57f has been reverted
5701         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
5702         we have no use for commit 95f7c57f, "file-has-acl: use
5703         acl_extended_file_nofollow if available".
5704
5705 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
5706
5707         file-has-acl: revert unintended change in behavior of ls -L
5708         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
5709         derived from...
5710         (file_has_acl): ...code here.  Call it.
5711         This problem was introduced with 2011-07-22 commit 95f7c57f,
5712         "file-has-acl: use acl_extended_file_nofollow if available".
5713         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
5714
5715 2011-10-03  Bruno Haible  <bruno@clisp.org>
5716
5717         poll: Avoid link errors on MSVC.
5718         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
5719         * modules/poll (Depends-on): Add sockets.
5720         (Link): New section.
5721         * NEWS: Mention the change.
5722         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
5723         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
5724         $(LIB_POLL) instead of $(LIBSOCKET).
5725
5726 2011-10-03  Bruno Haible  <bruno@clisp.org>
5727
5728         sys_select tests: Fix link error on MSVC 9.
5729         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
5730         with $(LIB_SELECT) instead of $(LIBSOCKET).
5731
5732 2011-10-03  Bruno Haible  <bruno@clisp.org>
5733
5734         sys_select: Fix compilation error on mingw.
5735         * lib/sys_select.in.h: On native Windows, include <io.h>.
5736
5737 2011-10-03  Bruno Haible  <bruno@clisp.org>
5738
5739         wmemset: Support for MSVC.
5740         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
5741         whether wmemset() exists.
5742
5743 2011-10-03  Bruno Haible  <bruno@clisp.org>
5744
5745         wmemmove: Support for MSVC.
5746         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
5747         whether wmemmove() exists.
5748
5749 2011-10-03  Bruno Haible  <bruno@clisp.org>
5750
5751         wmemcpy: Support for MSVC.
5752         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
5753         whether wmemcpy() exists.
5754
5755 2011-10-03  Bruno Haible  <bruno@clisp.org>
5756
5757         wmemcmp: Support for MSVC.
5758         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
5759         whether wmemcmp() exists.
5760
5761 2011-10-03  Bruno Haible  <bruno@clisp.org>
5762
5763         wmemchr: Support for MSVC.
5764         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
5765         whether wmemchr() exists.
5766
5767 2011-10-03  Bruno Haible  <bruno@clisp.org>
5768
5769         glthread/*, strsignal: Support for MSVC.
5770         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
5771         including <winsock.h> on MSVC 9.
5772         * lib/glthread/lock.h: Likewise.
5773         * lib/glthread/thread.h: Likewise.
5774         * lib/glthread/tls.h: Likewise.
5775         * lib/glthread/yield.h: Likewise.
5776         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
5777         if HAVE_UNISTD_H is false.
5778         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
5779
5780 2011-10-03  Bruno Haible  <bruno@clisp.org>
5781
5782         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
5783         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
5784         Set to 100000.
5785
5786 2011-10-03  Bruno Haible  <bruno@clisp.org>
5787
5788         acl: Fix specification.
5789         * lib/file-has-acl.c (file_has_acl): Fix specification.
5790
5791 2011-10-03  Bruno Haible  <bruno@clisp.org>
5792
5793         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
5794         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
5795         (compute_curr_prefix, shared_library_fullname,
5796         find_shared_library_fullname, get_shared_library_fullname, relocate):
5797         Use it together with PIC && INSTALLDIR.
5798         Reported by <jojelino@gmail.com>
5799         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
5800
5801 2011-10-01  Jim Meyering  <meyering@redhat.com>
5802
5803         maint.mk: adjust a release-related rule not to require use of gzip
5804         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
5805         Instead, check each file in $(DIST_ARCHIVES).  This is better for
5806         projects that build only .tar.xz files.  Also fix an erroneous test.
5807
5808         test-linkat: don't leave behind a temporary file
5809         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
5810         Otherwise, coreutils' "make distcheck" would fail with this:
5811           Only in /c/cu/tests/torture/coreutils/test/\
5812             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
5813           make[2]: *** [my-distcheck] Error 1
5814
5815         float, math: add omitted file
5816         * lib/itold.c: Add file, required for yesterday's float change.
5817
5818 2011-10-01  Bruno Haible  <bruno@clisp.org>
5819
5820         isinf: Fix for OpenBSD/x86.
5821         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
5822         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
5823         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
5824
5825 2011-10-01  Bruno Haible  <bruno@clisp.org>
5826
5827         isfinite: Fix syntax error in configure test.
5828         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
5829
5830         isfinite: Fix typo.
5831         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
5832         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
5833
5834 2011-10-01  Bruno Haible  <bruno@clisp.org>
5835
5836         nonblocking tests: Fix test failure on Linux/IA-64.
5837         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
5838         Set to 270000.
5839
5840 2011-10-01  Bruno Haible  <bruno@clisp.org>
5841
5842         mkfifoat tests: Fix a test failure on mingw.
5843         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
5844         with error ENOSYS.
5845
5846 2011-09-30  Bruno Haible  <bruno@clisp.org>
5847
5848         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
5849         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
5850         'long double'. Set REPLACE_ITOLD.
5851         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
5852         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
5853         * lib/itold.c: New file.
5854         * modules/float (Files): Add lib/itold.c.
5855         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
5856         (Makefile.am): Substitute REPLACE_ITOLD.
5857         * modules/math (Depends-on): Add float.
5858         (Makefile.am): Substitute REPLACE_ITOLD.
5859         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
5860         * doc/posix-headers/math.texi: Likewise.
5861         * doc/posix-functions/logl.texi: Likewise.
5862
5863 2011-09-30  Bruno Haible  <bruno@clisp.org>
5864
5865         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
5866         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
5867         Set to 140000.
5868
5869 2011-09-30  Bruno Haible  <bruno@clisp.org>
5870
5871         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
5872         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
5873         invocation, say "right after AC_PROG_CC_STDC", not "right after
5874         AC_PROG_CC".
5875         Reported by Gary V. Vaughan <gary@gnu.org>.
5876
5877 2011-09-30  Bruno Haible  <bruno@clisp.org>
5878
5879         Centralize C99 requirement.
5880         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
5881         * modules/stdarg (configure.ac-early): Invoke it instead of
5882         AC_PROG_CC_STDC.
5883         Reported by Gary V. Vaughan and Paul Eggert.
5884
5885 2011-09-29  Bruno Haible  <bruno@clisp.org>
5886
5887         float: Fix LDBL_MAX value on Linux/PowerPC.
5888         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
5889         on Linux/PowerPC.
5890         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
5891         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
5892         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
5893         platform.
5894         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
5895
5896 2011-09-29  Bruno Haible  <bruno@clisp.org>
5897
5898         doc: Improve doc about gl_EARLY.
5899         * doc/gnulib-tool.texi (Initial import): Mention where to place an
5900         AC_PROG_CC_STDC invocation.
5901         Reported by Gary V. Vaughan <gary@gnu.org>.
5902
5903 2011-09-28  Bruno Haible  <bruno@clisp.org>
5904
5905         fgetc, fputc, fread, fwrite tests: Fix link error.
5906         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
5907         on non-MSVC platforms.
5908         * tests/test-fputc.c (main): Likewise.
5909         * tests/test-fread.c (main): Likewise.
5910         * tests/test-fwrite.c (main): Likewise.
5911         Reported by Jim Meyering.
5912
5913 2011-09-27  Bruno Haible  <bruno@clisp.org>
5914
5915         fputc, fwrite tests: Avoid test failure on MSVC.
5916         * tests/test-fgetc.c: Include msvc-inval.h.
5917         (main): Invoke gl_msvc_inval_ensure_handler.
5918         * tests/test-fputc.c: Include msvc-inval.h.
5919         (main): Invoke gl_msvc_inval_ensure_handler.
5920         * tests/test-fread.c: Include msvc-inval.h.
5921         (main): Invoke gl_msvc_inval_ensure_handler.
5922         * tests/test-fwrite.c: Include msvc-inval.h.
5923         (main): Invoke gl_msvc_inval_ensure_handler.
5924         * modules/fgetc-tests (Depends-on): Add msvc-inval.
5925         * modules/fputc-tests (Depends-on): Likewise.
5926         * modules/fread-tests (Depends-on): Likewise.
5927         * modules/fwrite-tests (Depends-on): Likewise.
5928
5929 2011-09-27  Bruno Haible  <bruno@clisp.org>
5930
5931         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
5932         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
5933         (raise): Remove older, duplicated declaration.
5934         (_gl_raise_SIGPIPE): New declaration.
5935         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
5936         (rpl_raise): Remove function.
5937         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
5938         a gnulib-defined SIGPIPE here.
5939         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
5940         'sigprocmask' has detected missing signal-blocking and the module
5941         'sigpipe' is enabled.
5942         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5943
5944 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
5945
5946         base64-tests: avoid memory leak
5947         * tests/test-base64.c (main): Plug memory leak.
5948
5949         base32: new module
5950         * modules/base32: New module.
5951         * lib/base32.c: New file.
5952         * lib/base32.h: Likewise.
5953         * m4/base32.m4: Likewise.
5954         * modules/base32-tests: New test.
5955         * tests/test-base32.c: Likewise.
5956         * MODULES.html.sh (Misc): Mention it.
5957
5958 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5959
5960         gnulib: use more-standard license notice wording
5961         * gnulib-tool (func_emit_copyright_notice): When emitting a
5962         license notice into a file, use the standard wording as suggested
5963         by the current information for GNU maintainers, except say "file"
5964         rather than "program".  The new wording gives a license version
5965         number, which addresses an issue raised by Glenn Morris in
5966         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5967         * m4/onceonly.m4: Use that same wording here, too.
5968
5969         dup2: minor simplification
5970         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5971         as lib/dup2.c no longer uses 'inline'.
5972
5973 2011-09-25  Bruno Haible  <bruno@clisp.org>
5974
5975         strings: Fix compilation error on MSVC.
5976         * lib/strings.in.h: Include <stddef.h> for size_t.
5977
5978 2011-09-25  Bruno Haible  <bruno@clisp.org>
5979
5980         fflush et al.: Document limitation on MSVC.
5981         * doc/posix-functions/fflush.texi: Document possible crash in handling
5982         mode other than DEFAULT_HANDLING.
5983         * doc/posix-functions/fgetc.texi: Likewise.
5984         * doc/posix-functions/fputc.texi: Likewise.
5985         * doc/posix-functions/fread.texi: Likewise.
5986         * doc/posix-functions/fwrite.texi: Likewise.
5987
5988 2011-09-25  Bruno Haible  <bruno@clisp.org>
5989
5990         msvc-inval: Allow three invalid parameter handling modes.
5991         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5992         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5993         macros.
5994         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5995         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5996         SANE_LIBRARY_HANDLING as a no-op.
5997         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5998         <stdlib.h>.
5999         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6000
6001 2011-09-25  Bruno Haible  <bruno@clisp.org>
6002
6003         msvc-inval: Make handler multithread-safe.
6004         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6005         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6006         declarations.
6007         (gl_msvc_inval_current): New declaration.
6008         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6009         Operate on the structure returned by gl_msvc_inval_current().
6010         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6011         Remove varaiables.
6012         (tls_index, tls_initialized): New variables.
6013         (not_per_thread): New variable.
6014         (gl_msvc_inval_current): New function.
6015         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6016         returned by gl_msvc_inval_current().
6017
6018 2011-09-25  Bruno Haible  <bruno@clisp.org>
6019
6020         msvc-inval: Install handler globally.
6021         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6022         !_MSC_VER.
6023         (gl_msvc_invalid_parameter_handler): Remove declaration.
6024         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6025         declarations.
6026         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6027         Install the handler globally, don't uninstall it.
6028         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6029         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6030         currently valid, call RaiseException instead.
6031         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6032         for !_MSC_VER.
6033
6034 2011-09-25  Bruno Haible  <bruno@clisp.org>
6035
6036         strerror_r-posix: Fix for MSVC 9.
6037         * lib/strerror_r.c (local_snprintf): New function.
6038         (snprintf): Define to local_snprintf, not to _snprintf.
6039
6040 2011-09-25  Bruno Haible  <bruno@clisp.org>
6041
6042         ftruncate: Support for MSVC 9.
6043         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6044         (chsize_nothrow): New function.
6045         (chsize): Redefine as a macro.
6046         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6047         * modules/ftruncate (Depends-on): Add msvc-inval.
6048
6049 2011-09-25  Bruno Haible  <bruno@clisp.org>
6050
6051         New module 'fstat'.
6052         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6053         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6054         * lib/fchdir.c (rpl_fstat): Remove function.
6055         * m4/fstat.m4: New file.
6056         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6057         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6058         declared.
6059         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6060         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6061         * modules/fstat: New file.
6062         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6063         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6064         is set.
6065         * doc/posix-functions/fstat.texi: Mention the new module and the
6066         problem on MSVC.
6067         * NEWS: Mention the change.
6068         * modules/acl (Depends-on): Add fstat.
6069         * modules/chdir-safer (Depends-on): Likewise.
6070         * modules/chown (Depends-on): Likewise.
6071         * modules/copy-file (Depends-on): Likewise.
6072         * modules/fchdir (Depends-on): Likewise.
6073         * modules/fdopendir (Depends-on): Likewise.
6074         * modules/fopen (Depends-on): Likewise.
6075         * modules/fts (Depends-on): Likewise.
6076         * modules/getcwd (Depends-on): Likewise.
6077         * modules/isapipe (Depends-on): Likewise.
6078         * modules/linkat (Depends-on): Likewise.
6079         * modules/lseek (Depends-on): Likewise.
6080         * modules/mkdir-p (Depends-on): Likewise.
6081         * modules/open (Depends-on): Likewise.
6082         * modules/openat (Depends-on): Likewise.
6083         * modules/read-file (Depends-on): Likewise.
6084         * modules/renameat (Depends-on): Likewise.
6085         * modules/utimens (Depends-on): Likewise.
6086
6087 2011-09-25  Bruno Haible  <bruno@clisp.org>
6088
6089         linkat: Fix compilation on MSVC 9.
6090         * lib/linkat.c: Don't include <stdint.h>.
6091
6092 2011-09-25  Bruno Haible  <bruno@clisp.org>
6093
6094         fclose: Support for MSVC 9.
6095         * lib/fclose.c: Include msvc-inval.h.
6096         (fclose_nothrow): New function.
6097         (rpl_fclose): Use it.
6098         * modules/fclose (Depends-on): Add msvc-inval.
6099         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6100
6101 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6102
6103         dup2: minor simplifications
6104         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6105         that it's a performance win.
6106         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6107         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6108
6109 2011-09-24  Jim Meyering  <meyering@redhat.com>
6110
6111         test-futimens: avoid a warning from gcc -Wshadow
6112         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6113         to avoid a shadowing warning.
6114
6115 2011-09-24  Bruno Haible  <bruno@clisp.org>
6116
6117         fdopen: Support for MSVC 9.
6118         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6119         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6120         * lib/fdopen.c: Include msvc-inval.h.
6121         (fdopen_nothrow): New function.
6122         (rpl_fdopen): Use it.
6123         * modules/fdopen (Depends-on): Add msvc-inval.
6124         * modules/fclose-tests (Depends-on): Add fdopen.
6125         * modules/fflush-tests (Depends-on): Likewise.
6126         * modules/fgetc-tests (Depends-on): Likewise.
6127         * modules/fputc-tests (Depends-on): Likewise.
6128         * modules/fread-tests (Depends-on): Likewise.
6129         * modules/freopen-tests (Depends-on): Likewise.
6130         * modules/fseeko-tests (Depends-on): Likewise.
6131         * modules/ftello-tests (Depends-on): Likewise.
6132         * modules/fwrite-tests  (Depends-on): Likewise.
6133         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6134
6135 2011-09-24  Bruno Haible  <bruno@clisp.org>
6136
6137         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6138         * modules/fgetc-tests (Depends-on): Add unistd.
6139         * modules/fputc-tests (Depends-on): Likewise.
6140         * modules/fread-tests (Depends-on): Likewise.
6141         * modules/fwrite-tests (Depends-on): Likewise.
6142
6143 2011-09-24  Bruno Haible  <bruno@clisp.org>
6144
6145         dup: Simplify autoconf test.
6146         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6147         on gl_MSVC_INVAL's result.
6148
6149 2011-09-24  Bruno Haible  <bruno@clisp.org>
6150
6151         Tests for function fwrite().
6152         * modules/fwrite-tests: New file.
6153         * tests/test-fwrite.c: New file.
6154         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6155
6156         Tests for function fread().
6157         * modules/fread-tests: New file.
6158         * tests/test-fread.c: New file.
6159         * modules/stdio-tests (Depends-on): Add fread-tests.
6160
6161         Activate fputc tests.
6162         * modules/stdio-tests (Depends-on): Add fputc-tests.
6163
6164         Enhance fgetc, fputc tests.
6165         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6166         * tests/test-fputc.c (main): Likewise.
6167
6168 2011-09-24  Bruno Haible  <bruno@clisp.org>
6169
6170         write: Support for MSVC 9.
6171         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6172         is not 1.
6173         * lib/write.c (write_nothrow): New function.
6174         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6175         not 1. Use write_nothrow.
6176         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6177         invalid parameter handler.
6178         (gl_PREREQ_WRITE): New macro.
6179         * modules/write (Depends-on): Add msvc-inval.
6180         (configure.ac): Invoke gl_PREREQ_WRITE.
6181         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6182
6183 2011-09-24  Bruno Haible  <bruno@clisp.org>
6184
6185         read: Fix last commit.
6186         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6187
6188 2011-09-24  Bruno Haible  <bruno@clisp.org>
6189
6190         dup2: Fix last commit.
6191         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6192         (rpl_dup2): Disable fcntl workaround on native Windows.
6193
6194         sigprocmask: Make code safer.
6195         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6196         section that changes macro definitions for this compilation unit.
6197
6198 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6199
6200         dup2: clarify by coalescing Windows-specific material
6201         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6202         "msvc-nothrow.h"' to the Windows-specific section, so that the
6203         Emacs source need not contain these include files.
6204         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6205         Windows-specific fixes into this function rather than just the
6206         nothrow fix, as this shortens and clarifies the code.  Always
6207         define as a function, as that's a bit cleaner than having it be
6208         sometimes a function and sometimes a macro.
6209         (rpl_dup2): Move the Windows-specific stuff out of here and into
6210         ms_windows_dup2.  Don't protect the Haiku-related fix with
6211         "#if !defined __linux__", as the same code also works around
6212         a Linux kernel bug, and it doesn't add any system calls on any
6213         platform.  Add comment about FreeBSD 6.1.
6214
6215         sigprocmask: move #include directive
6216         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6217         Windows-specific section, so that the Emacs source need not
6218         contain msvc-inval.h.
6219
6220 2011-09-23  Bruno Haible  <bruno@clisp.org>
6221
6222         read: Support for MSVC 9.
6223         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6224         is not 1.
6225         * lib/read.c (read_nothrow): New function.
6226         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6227         read_nothrow.
6228         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6229         invalid parameter handler.
6230         (gl_PREREQ_READ): New macro.
6231         * modules/read (Depends-on): Add msvc-inval.
6232         (configure.ac): Invoke gl_PREREQ_READ.
6233         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6234
6235 2011-09-23  Bruno Haible  <bruno@clisp.org>
6236
6237         close: Support for MSVC 9.
6238         * lib/close.c: Include <errno.h>, msvc-inval.h.
6239         (close_nothrow): New function.
6240         (rpl_close): Use it.
6241         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6242         invalid parameter handler.
6243         * modules/close (Depends-on): Add msvc-inval.
6244         * modules/dup2-tests (Depends-on): Add close.
6245         * modules/dup3-tests (Depends-on): Likewise.
6246         * modules/fcntl-tests (Depends-on): Likewise.
6247         * modules/spawn-pipe-tests (Depends-on): Likewise.
6248         * modules/unistd-safer-tests (Depends-on): Likewise.
6249         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6250
6251 2011-09-23  Bruno Haible  <bruno@clisp.org>
6252
6253         New module 'dup'.
6254         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6255         Allow replacement.
6256         * lib/dup.c: New file.
6257         * lib/fchdir.c (rpl_dup): Remove function.
6258         * m4/dup.m4: New file.
6259         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6260         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6261         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6262         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6263         * modules/dup: New file.
6264         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6265         'dup' module is in use.
6266         * modules/fdopendir (Depends-on): Add dup.
6267         * modules/fdutimensat-tests (Depends-on): Likewise.
6268         * modules/fts (Depends-on): Likewise.
6269         * modules/futimens-tests (Depends-on): Likewise.
6270         * modules/posix_spawnp-tests (Depends-on): Likewise.
6271         * modules/unistd-safer-tests (Depends-on): Likewise.
6272         * modules/utimens-tests (Depends-on): Likewise.
6273         * doc/posix-functions/dup.texi: Mention the new module and the problem
6274         on MSVC.
6275
6276 2011-09-23  Bruno Haible  <bruno@clisp.org>
6277
6278         getdtablesize: Support for MSVC 9.
6279         * lib/getdtablesize.c: Include msvc-inval.h.
6280         (_setmaxstdio_nothrow): New function.
6281         (_setmaxstdio): Redefine it.
6282         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6283         * modules/getdtablesize (Depends-on): Add msvc-inval.
6284         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6285
6286 2011-09-23  Bruno Haible  <bruno@clisp.org>
6287
6288         signal-h: Rename from signal.
6289         * modules/signal-h: Renamed from modules/signal.
6290         * modules/pthread_sigmask (Depends-on): Update.
6291         * modules/raise (Depends-on): Likewise.
6292         * modules/sigaction (Depends-on): Likewise.
6293         * modules/sigpipe (Depends-on): Likewise.
6294         * modules/sigprocmask (Depends-on): Likewise.
6295         * modules/sys_select (Depends-on): Likewise.
6296         * modules/signal-h-tests: Renamed from modules/signal-tests.
6297         (Files, Depends-on, Makefile.am): Update.
6298         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6299         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6300         (Files, Makefile.am): Update.
6301         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6302         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6303         * modules/signal: New placeholder file.
6304         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6305         * doc/posix-headers/signal.texi: Update.
6306         * NEWS: Mention the change.
6307
6308 2011-09-23  Bruno Haible  <bruno@clisp.org>
6309
6310         sigprocmask: Avoid crashes through signal() on MSVC 9.
6311         * lib/sigprocmask.c: Include msvc-inval.h.
6312         (signal_nothrow): New function.
6313         (signal): Redefine it.
6314         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6315         * modules/sigprocmask (Depends-on): Add msvc-inval.
6316         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6317
6318 2011-09-23  Bruno Haible  <bruno@clisp.org>
6319
6320         Tests for module 'raise'.
6321         * modules/raise-tests: New file.
6322         * tests/test-raise.c: New file.
6323
6324         raise: Support for MSVC.
6325         * lib/signal.in.h (raise): New declaration.
6326         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6327         for native Windows platforms.
6328         * m4/raise.m4: New file.
6329         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6330         HAVE_RAISE, REPLACE_RAISE.
6331         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
6332         REPLACE_RAISE.
6333         * modules/raise (Status, Notice): Remove fields.
6334         (Files): Add m4/raise.m4.
6335         (Depends-on): Add signal, msvc-inval.
6336         (configure.ac): Use the common idioms.
6337         (Maintainer): Add me.
6338         * tests/test-signal-c++.cc: Check the signature of raise.
6339         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
6340
6341 2011-09-23  Bruno Haible  <bruno@clisp.org>
6342
6343         pipe2: Fix compilation on pre-C99 compilers.
6344         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
6345
6346 2011-09-23  Bruno Haible  <bruno@clisp.org>
6347
6348         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
6349         * lib/msvc-nothrow.h: New file.
6350         * lib/msvc-nothrow.c: New file.
6351         * m4/msvc-nothrow.m4: New file.
6352         * modules/msvc-nothrow: New file.
6353         * lib/dup2.c: Include msvc-nothrow.h.
6354         (rpl_dup2): No need to protect _get_osfhandle call here.
6355         * lib/accept4.c: Include msvc-nothrow.h.
6356         * lib/error.c: Likewise.
6357         * lib/fcntl.c: Likewise.
6358         * lib/lseek.c: Likewise.
6359         * lib/nonblocking.c: Likewise.
6360         * lib/poll.c: Likewise.
6361         * lib/read.c: Likewise.
6362         * lib/select.c: Likewise.
6363         * lib/sockets.h: Likewise.
6364         * lib/sockets.c: Likewise.
6365         * lib/stdio-read.c: Likewise.
6366         * lib/stdio-write.c: Likewise.
6367         * lib/write.c: Likewise.
6368         * lib/w32sock.h: Likewise.
6369         * lib/w32spawn.h: Likewise.
6370         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
6371         * lib/fsync.c: Likewise.
6372         * lib/isapipe.c: Likewise.
6373         * modules/dup2 (Depends-on): Add msvc-nothrow.
6374         * modules/accept4 (Depends-on): Likewise.
6375         * modules/error (Depends-on): Likewise.
6376         * modules/fcntl (Depends-on): Likewise.
6377         * modules/lseek (Depends-on): Likewise.
6378         * modules/nonblocking (Depends-on): Likewise.
6379         * modules/poll (Depends-on): Likewise.
6380         * modules/read (Depends-on): Likewise.
6381         * modules/select (Depends-on): Likewise.
6382         * modules/sockets (Depends-on): Likewise.
6383         * modules/sigpipe (Depends-on): Likewise.
6384         * modules/write (Depends-on): Likewise.
6385         * modules/accept (Depends-on): Likewise.
6386         * modules/bind (Depends-on): Likewise.
6387         * modules/connect (Depends-on): Likewise.
6388         * modules/gethostname (Depends-on): Likewise.
6389         * modules/getpeername (Depends-on): Likewise.
6390         * modules/getsockname (Depends-on): Likewise.
6391         * modules/getsockopt (Depends-on): Likewise.
6392         * modules/ioctl (Depends-on): Likewise.
6393         * modules/listen (Depends-on): Likewise.
6394         * modules/recv (Depends-on): Likewise.
6395         * modules/recvfrom (Depends-on): Likewise.
6396         * modules/send (Depends-on): Likewise.
6397         * modules/sendto (Depends-on): Likewise.
6398         * modules/setsockopt (Depends-on): Likewise.
6399         * modules/shutdown (Depends-on): Likewise.
6400         * modules/socket (Depends-on): Likewise.
6401         * modules/execute (Depends-on): Likewise.
6402         * modules/spawn-pipe (Depends-on): Likewise.
6403         * modules/flock (Depends-on): Likewise.
6404         * modules/fsync (Depends-on): Likewise.
6405         * modules/isapipe (Depends-on): Likewise.
6406         * tests/test-cloexec.c: Include msvc-nothrow.h.
6407         * tests/test-dup-safer.c: Likewise.
6408         * tests/test-dup2.c: Likewise.
6409         * tests/test-dup3.c: Likewise.
6410         * tests/test-fcntl.c: Likewise.
6411         * tests/test-pipe.c: Likewise.
6412         * tests/test-pipe2.c: Likewise.
6413         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
6414         * modules/unistd-safer-tests (Depends-on): Likewise.
6415         * modules/dup2-tests (Depends-on): Likewise.
6416         * modules/dup3-tests (Depends-on): Likewise.
6417         * modules/fcntl-tests (Depends-on): Likewise.
6418         * modules/pipe-posix-tests (Depends-on): Likewise.
6419         * modules/pipe2-tests (Depends-on): Likewise.
6420
6421 2011-09-23  Bruno Haible  <bruno@clisp.org>
6422
6423         dup2: Make code more maintainable.
6424         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
6425         (rpl_dup2): Use it.
6426         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
6427         * modules/dup2 (configure.ac): Invoke it.
6428         Reported by Paul Eggert.
6429
6430 2011-09-23  Bruno Haible  <bruno@clisp.org>
6431
6432         msvc-inval: Fix compilation error.
6433         * lib/msvc-inval.h: Include <excpt.h>.
6434
6435 2011-09-23  Bruno Haible  <bruno@clisp.org>
6436
6437         mkdir: Tweak for MSVC 9.
6438         * lib/sys_stat.in.h: Update comments.
6439         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
6440
6441         Tests for module 'chdir'.
6442         * modules/chdir-tests: New file.
6443         * tests/test-chdir.c: New file.
6444
6445         New module 'chdir'.
6446         * modules/chdir: New file.
6447         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
6448         (chdir): New declaration.
6449         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
6450         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
6451         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
6452         * tests/test-unistd-c++.cc: Check signature of chdir.
6453         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
6454         * modules/chdir-long (Depends-on): Add chdir.
6455         * modules/fchdir (Depends-on): Likewise.
6456         * modules/rename (Depends-on): Likewise.
6457         * modules/savewd (Depends-on): Likewise.
6458
6459         rmdir: Support for mingw, MSVC 9.
6460         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
6461         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
6462
6463         getcwd: Tweak for MSVC 9.
6464         * lib/unistd.in.h: Update comments.
6465         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
6466
6467 2011-09-22  Bruno Haible  <bruno@clisp.org>
6468
6469         strerror_r-posix: Avoid a link error on MSVC.
6470         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
6471         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
6472
6473 2011-09-22  Bruno Haible  <bruno@clisp.org>
6474
6475         select: Avoid link errors on MSVC.
6476         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
6477         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
6478         * modules/pselect (Link): Likewise.
6479         * NEWS: Mention the change.
6480         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
6481         test-select-stdin against $(LIB_SELECT).
6482         * modules/pselect-tests (Makefile.am): Link test-pselect against
6483         $(LIB_SELECT).
6484
6485 2011-09-22  Bruno Haible  <bruno@clisp.org>
6486
6487         select: Avoid compilation error on MSVC.
6488         * lib/select.c: Don't include <stdbool.h>.
6489
6490 2011-09-21  Bruno Haible  <bruno@clisp.org>
6491
6492         Consolidate all uses of PATH_MAX in *.m4 files.
6493         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
6494         macros.
6495         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
6496         and gl_PATHMAX_SNIPPET.
6497         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6498         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6499         * modules/chdir-long (Files): Add m4/pathmax.m4.
6500         * modules/getcwd (Files): Likewise.
6501
6502 2011-09-21  Bruno Haible  <bruno@clisp.org>
6503
6504         ftruncate: Un-deprecate, concentrate on Win32 support.
6505         * modules/ftruncate (Status, Notice): Remove sections.
6506         (Depends-on): Add largefile.
6507         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
6508         non-mingw platforms.
6509         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
6510         include <io.h>.
6511         * modules/perror-tests (Depends-on): Add ftruncate.
6512         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
6513         'ftruncate' module.
6514
6515 2011-09-21  Bruno Haible  <bruno@clisp.org>
6516
6517         Add dependencies to new dirent related modules.
6518         * modules/opendir (Depends-on): Add closedir.
6519         * modules/getcwd (Depends-on): Add opendir, closedir.
6520         * modules/dirent-safer-tests (Depends-on): Likewise.
6521         * modules/fdopendir-tests (Depends-on): Likewise.
6522         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
6523         * modules/renameat-tests (Depends-on): Likewise.
6524
6525 2011-09-21  Bruno Haible  <bruno@clisp.org>
6526
6527         opendir: Avoid compilation error on mingw.
6528         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
6529         * modules/opendir (Depends-on): Add unistd.
6530
6531 2011-09-21  Bruno Haible  <bruno@clisp.org>
6532
6533         ftruncate tests: Avoid a test failure on mingw.
6534         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
6535
6536 2011-09-21  Bruno Haible  <bruno@clisp.org>
6537
6538         select tests: Avoid test failures on OSF/1 5.1 and mingw.
6539         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
6540         native Windows.
6541
6542 2011-09-21  Bruno Haible  <bruno@clisp.org>
6543
6544         New module 'fdopen'.
6545         * lib/stdio.in.h (fdopen): New declaration.
6546         * lib/fdopen.c: New file.
6547         * m4/fdopen.m4: New file.
6548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
6549         REPLACE_FDOPEN.
6550         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
6551         REPLACE_FDOPEN.
6552         * modules/fdopen: New file.
6553         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
6554         * tests/test-stdio-c++.cc: Check signature of fdopen.
6555         * doc/posix-functions/fdopen.texi: Mention the new module.
6556
6557 2011-09-21  Bruno Haible  <bruno@clisp.org>
6558
6559         unlockpt tests: Avoid test failure on NetBSD 5.1.
6560         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
6561         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
6562
6563 2011-09-21  Bruno Haible  <bruno@clisp.org>
6564
6565         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
6566         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
6567         * tests/test-getlogin_r.c (main): Likewise.
6568
6569 2011-09-20  Bruno Haible  <bruno@clisp.org>
6570
6571         time tests: Don't require pid_t.
6572         * doc/posix-headers/time.texi: Revert last change.
6573         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
6574         * tests/test-time.c: Comment out the check for pid_t.
6575
6576 2011-09-20  Bruno Haible  <bruno@clisp.org>
6577
6578         fsync tests: Avoid a test failure on mingw.
6579         * tests/test-fsync.c (main): Allow a failure with EIO.
6580
6581 2011-09-20  Bruno Haible  <bruno@clisp.org>
6582
6583         euidaccess: Update comments.
6584         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
6585
6586 2011-09-20  Bruno Haible  <bruno@clisp.org>
6587
6588         Ensure EBADF returns for socket functions on mingw.
6589         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
6590         descriptor is invalid.
6591         * lib/bind.c (rpl_bind): Likewise.
6592         * lib/connect.c (rpl_connect): Likewise.
6593         * lib/getpeername.c (rpl_getpeername): Likewise.
6594         * lib/getsockname.c (rpl_getsockname): Likewise.
6595         * lib/getsockopt.c (rpl_getsockopt): Likewise.
6596         * lib/listen.c (rpl_listen): Likewise.
6597         * lib/recv.c (rpl_recv): Likewise.
6598         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6599         * lib/send.c (rpl_send): Likewise.
6600         * lib/sendto.c (rpl_sendto): Likewise.
6601         * lib/setsockopt.c (rpl_setsockopt): Likewise.
6602         * lib/shutdown.c (rpl_shutdown): Likewise.
6603
6604 2011-09-20  Bruno Haible  <bruno@clisp.org>
6605
6606         select tests: EBADF tests.
6607         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
6608         test_bad_fd): New functions.
6609         (test_function): Invoke also test_bad_fd.
6610
6611 2011-09-20  Bruno Haible  <bruno@clisp.org>
6612
6613         Tests for module 'posix_spawn_file_actions_addopen.
6614         * modules/posix_spawn_file_actions_addopen-tests: New file.
6615         * tests/test-posix_spawn_file_actions_addopen.c: New file.
6616
6617         Tests for module 'posix_spawn_file_actions_adddup2'.
6618         * modules/posix_spawn_file_actions_adddup2-tests: New file.
6619         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
6620
6621         Tests for module 'posix_spawn_file_actions_addclose'.
6622         * modules/posix_spawn_file_actions_addclose-tests: New file.
6623         * tests/test-posix_spawn_file_actions_addclose.c: New file.
6624
6625 2011-09-20  Bruno Haible  <bruno@clisp.org>
6626
6627         Tests for module 'unlockpt'.
6628         * modules/unlockpt-tests: New file.
6629         * tests/test-unlockpt.c: New file.
6630         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
6631
6632         Tests for module 'grantpt'.
6633         * modules/grantpt-tests: New file.
6634         * tests/test-grantpt.c: New file.
6635         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
6636
6637 2011-09-20  Bruno Haible  <bruno@clisp.org>
6638
6639         freopen tests: EBADF tests.
6640         * tests/test-freopen.c: Include errno.h, unistd.h.
6641         (main): Add tests for EBADF, commented out for the moment.
6642
6643         fclose tests: EBADF tests.
6644         * tests/test-fclose.c (main): Add tests for EBADF.
6645
6646         fflush tests: EBADF tests.
6647         * tests/test-fflush.c: Include errno.h, macros.h.
6648         (main): Add tests for EBADF.
6649
6650         ftello tests: EBADF tests.
6651         * tests/test-ftello4.sh: New file.
6652         * tests/test-ftello4.c: New file.
6653         * modules/ftello-tests (Files): Add them.
6654         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
6655
6656         fseeko tests: EBADF tests.
6657         * tests/test-fseeko4.sh: New file.
6658         * tests/test-fseeko4.c: New file.
6659         * modules/fseeko-tests (Files): Add them.
6660         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
6661
6662         Tests for function fputc().
6663         * modules/fputc-tests: New file.
6664         * tests/test-fputc.c: New file.
6665         * modules/stdio-tests (Depends-on): Add fputc-tests.
6666
6667         Tests for function fgetc().
6668         * modules/fgetc-tests: New file.
6669         * tests/test-fgetc.c: New file.
6670         * modules/stdio-tests (Depends-on): Add fgetc-tests.
6671
6672         Tests for function fdopen().
6673         * modules/fdopen-tests: New file.
6674         * tests/test-fdopen.c: New file.
6675         * modules/stdio-tests (Depends-on): Add fdopen-tests.
6676
6677         Tests for module 'vdprintf'.
6678         * modules/vdprintf-tests: New file.
6679         * tests/test-vdprintf.c: New file.
6680
6681         Tests for module 'dprintf'.
6682         * modules/dprintf-tests: New file.
6683         * tests/test-dprintf.c: New file.
6684
6685 2011-09-20  Bruno Haible  <bruno@clisp.org>
6686
6687         Tests for module 'ioctl'.
6688         * modules/ioctl-tests: New file.
6689         * tests/test-ioctl.c: New file.
6690
6691 2011-09-20  Bruno Haible  <bruno@clisp.org>
6692
6693         fcntl tests: EBADF tests.
6694         * tests/test-fcntl.c (main): Add more tests for EBADF.
6695
6696 2011-09-20  Bruno Haible  <bruno@clisp.org>
6697
6698         utimensat tests: EBADF tests.
6699         * tests/test-utimensat.c (main): Add tests for EBADF.
6700
6701         renameat tests: EBADF tests.
6702         * tests/test-renameat.c (main): Add tests for EBADF.
6703
6704         mkfifoat tests: EBADF tests.
6705         * tests/test-mkfifoat.c (main): Add tests for EBADF.
6706
6707         readlinkat tests: EBADF tests.
6708         * tests/test-readlinkat.c (main): Add tests for EBADF.
6709
6710         symlinkat tests: EBADF tests.
6711         * tests/test-symlinkat.c (main): Add tests for EBADF.
6712
6713         linkat tests: EBADF tests.
6714         * tests/test-linkat.c (main): Add tests for EBADF.
6715
6716         Tests for module 'faccessat'.
6717         * modules/faccessat-tests: New file.
6718         * tests/test-faccessat.c: New file.
6719
6720         fdopendir tests: EBADF tests.
6721         * tests/test-fdopendir.c (main): Add more tests for EBADF.
6722
6723         openat tests: EBADF tests.
6724         * tests/test-fchownat.c (main): Add tests for EBADF.
6725         * tests/test-fstatat.c (main): Likewise.
6726         * tests/test-mkdirat.c (main): Likewise.
6727         * tests/test-openat.c (main): Likewise.
6728         * tests/test-unlinkat.c (main): Likewise.
6729         * tests/test-fchmodat.c: New file.
6730         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
6731         (Makefile.am): Also run 'test-fchmodat'.
6732
6733 2011-09-20  Bruno Haible  <bruno@clisp.org>
6734
6735         utimens, futimens, fdutimensat tests: EBADF tests.
6736         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
6737
6738         Tests for function fstat().
6739         * modules/fstat-tests: New file.
6740         * tests/test-fstat.c: New file.
6741         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
6742
6743 2011-09-20  Bruno Haible  <bruno@clisp.org>
6744
6745         test-ttyname_r tests: EBADF tests.
6746         * tests/test-ttyname_r.c (main): Add tests for EBADF.
6747
6748         Tests for module 'isatty'.
6749         * modules/isatty-tests: New file.
6750         * tests/test-isatty.c: New file.
6751
6752         Tests for module 'write'.
6753         * modules/write-tests: New file.
6754         * tests/test-write.c: New file.
6755
6756         Tests for module 'read'.
6757         * modules/read-tests: New file.
6758         * tests/test-read.c: New file.
6759
6760         pwrite tests: EBADF tests.
6761         * tests/test-pwrite.c (main): Add tests for EBADF.
6762
6763         pread tests: EBADF tests.
6764         * tests/test-pread.c (main): Add tests for EBADF.
6765
6766         lseek tests: EBADF tests.
6767         * tests/test-lseek.c (main): Add more tests for EBADF.
6768
6769         Tests for module 'ftruncate'.
6770         * modules/ftruncate-tests: New file.
6771         * tests/test-ftruncate.sh: New file.
6772         * tests/test-ftruncate.c: New file.
6773
6774         fsync tests: EBADF tests.
6775         * tests/test-fsync.c (main): Add more tests for EBADF.
6776
6777         fdatasync tests: EBADF tests.
6778         * tests/test-fdatasync.c (main): Add more tests for EBADF.
6779
6780         Tests for module 'fchown'.
6781         * modules/fchown-tests: New file.
6782         * tests/test-fchown.c: New file.
6783
6784         Tests for module 'fchmod'.
6785         * modules/fchmod-tests: New file.
6786         * tests/test-fchmod.c: New file.
6787
6788         fchdir tests: EBADF tests.
6789         * tests/test-fchdir.c (main): Add more tests for EBADF.
6790
6791         dup2 tests: EBADF tests.
6792         * tests/test-dup2.c (main): Add more tests for EBADF.
6793
6794         Tests for module 'dup'.
6795         * modules/dup-tests: New file.
6796         * tests/test-dup.c: New file.
6797
6798         Tests for module 'close'.
6799         * modules/close-tests: New file.
6800         * tests/test-close.c: New file.
6801
6802 2011-09-20  Bruno Haible  <bruno@clisp.org>
6803
6804         Tests for module 'shutdown'.
6805         * modules/shutdown-tests: New file.
6806         * tests/test-shutdown.c: New file.
6807
6808         Tests for module 'setsockopt'.
6809         * modules/setsockopt-tests: New file.
6810         * tests/test-setsockopt.c: New file.
6811
6812         Tests for module 'sendto'.
6813         * modules/sendto-tests: New file.
6814         * tests/test-sendto.c: New file.
6815
6816         Tests for module 'send'.
6817         * modules/send-tests: New file.
6818         * tests/test-send.c: New file.
6819
6820         Tests for module 'recvfrom'.
6821         * modules/recvfrom-tests: New file.
6822         * tests/test-recvfrom.c: New file.
6823
6824         Tests for module 'recv'.
6825         * modules/recv-tests: New file.
6826         * tests/test-recv.c: New file.
6827
6828         Tests for module 'listen'.
6829         * modules/listen-tests: New file.
6830         * tests/test-listen.c: New file.
6831
6832         Tests for module 'getsockopt'.
6833         * modules/getsockopt-tests: New file.
6834         * tests/test-getsockopt.c: New file.
6835
6836         Tests for module 'getsockname'.
6837         * modules/getsockname-tests: New file.
6838         * tests/test-getsockname.c: New file.
6839
6840         Tests for module 'getpeername'.
6841         * modules/getpeername-tests: New file.
6842         * tests/test-getpeername.c: New file.
6843
6844         Tests for module 'connect'.
6845         * modules/connect-tests: New file.
6846         * tests/test-connect.c: New file.
6847
6848         Tests for module 'bind'.
6849         * modules/bind-tests: New file.
6850         * tests/test-bind.c: New file.
6851
6852         accept4 tests: Fix for native Windows.
6853         * tests/test-accept4.c: Include sockets.h.
6854         (main): Invoke gl_sockets_startup.
6855         * modules/accept4-tests (Depends-on): Add sockets.
6856
6857         accept tests: Fix for native Windows.
6858         * tests/test-accept.c: Include sockets.h.
6859         (main): Invoke gl_sockets_startup.
6860         * modules/accept-tests (Depends-on): Add sockets.
6861
6862 2011-09-19  Bruno Haible  <bruno@clisp.org>
6863
6864         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
6865         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
6866         do...while(0).
6867         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
6868         Suggested by Paul Eggert.
6869
6870 2011-09-19  Bruno Haible  <bruno@clisp.org>
6871
6872         sched: Ensure pid_t is defined.
6873         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
6874         not define pid_t.
6875         * lib/sched.in.h: Include <sys/types.h>.
6876         * doc/posix-headers/sched.texi: Mention the pid_t problem.
6877         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6878
6879 2011-09-19  Bruno Haible  <bruno@clisp.org>
6880
6881         msvc-inval: Ensure the entire expansion is a single statement.
6882         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
6883         of braces.
6884
6885 2011-09-19  Jim Meyering  <meyering@redhat.com>
6886
6887         tests: use printf, not echo in init.sh's warn_ function
6888         * tests/init.sh (warn_): Use printf, not echo.  The latter would
6889         misbehave when given strings containing a backslash or starting
6890         with e.g., -n.  James Youngman suggested setting IFS.
6891
6892 2011-09-19  Eric Blake  <eblake@redhat.com>
6893
6894         futimens: enhance test
6895         * tests/test-futimens.h (test_futimens): Also check for EBADF on
6896         closed non-negative fd.
6897
6898         date: accept 'hence' as opposite of 'ago'
6899         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
6900         * tests/test-parse-datetime.c (main): Enhance test.
6901         Suggested by Jesse Wilson.
6902
6903 2011-09-19  Jim Meyering  <meyering@redhat.com>
6904
6905         getcwd: don't fail in a deep directory on a system without openat
6906         Before this change, getcwd would fail when called from a directory
6907         of depth PATH_MAX / 3 or greater.  That was due to the fact that
6908         the non-openat implementation used "..", "../..", "../../..", etc.
6909         to access ancestor directories.  With too many, that string would
6910         be longer than PATH_MAX.
6911         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
6912         using gnulib's openat replacement.
6913         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
6914         we're using the replacement function.
6915
6916 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
6917
6918         maint.mk: avoid warnings from perl about missing files
6919         * top/maint.mk (def_sym_regex): Ignore files listed in
6920         $(gl_other_headers_) that do not exist, say because a project
6921         does not use a corresponding module.
6922
6923 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
6924
6925         stat: use pathmax.h only if needed
6926         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
6927         This is better for Emacs, which does not have a mingw port and
6928         therefore can avoid the pathmax module.
6929
6930         utimens: remove dependency on dup2
6931         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
6932         to work around the Linux kernel bug.
6933         * modules/utimens (Depends-on): Remove dup2.
6934
6935 2011-09-18  Bruno Haible  <bruno@clisp.org>
6936
6937         inet_ntop, inet_pton: Look for it also in libresolv.
6938         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
6939         libnsl, search for it in libresolv.
6940         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6941         Needed on Solaris 7.
6942
6943 2011-09-18  Bruno Haible  <bruno@clisp.org>
6944
6945         accept, accept4 tests: Avoid link error on Solaris.
6946         * modules/accept-tests (Makefile.am): Link test-accept against
6947         $(LIBSOCKET).
6948         * modules/accept4-tests (Makefile.am): Link test-accept4 against
6949         $(LIBSOCKET).
6950
6951         accept4: Avoid link error on Solaris.
6952         * modules/accept4 (Link): New section.
6953
6954         socket functions: Avoid link errors on Solaris.
6955         * modules/accept (Depends-on): Add socketlib.
6956         (Link): New section.
6957         * modules/bind (Depends-on): Add socketlib.
6958         (Link): New section.
6959         * modules/connect (Depends-on): Add socketlib.
6960         (Link): New section.
6961         * modules/getpeername (Depends-on): Add socketlib.
6962         (Link): New section.
6963         * modules/getsockname (Depends-on): Add socketlib.
6964         (Link): New section.
6965         * modules/getsockopt (Depends-on): Add socketlib.
6966         (Link): New section.
6967         * modules/listen (Depends-on): Add socketlib.
6968         (Link): New section.
6969         * modules/recv (Depends-on): Add socketlib.
6970         (Link): New section.
6971         * modules/recvfrom (Depends-on): Add socketlib.
6972         (Link): New section.
6973         * modules/send (Depends-on): Add socketlib.
6974         (Link): New section.
6975         * modules/sendto (Depends-on): Add socketlib.
6976         (Link): New section.
6977         * modules/setsockopt (Depends-on): Add socketlib.
6978         (Link): New section.
6979         * modules/shutdown (Depends-on): Add socketlib.
6980         (Link): New section.
6981         * modules/socket (Depends-on): Add socketlib.
6982         (Link): New section.
6983
6984 2011-09-18  Bruno Haible  <bruno@clisp.org>
6985
6986         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6987         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6988         than 5 seconds.
6989         * modules/ptsname-tests (configure.ac): Test for alarm.
6990
6991 2011-09-18  Bruno Haible  <bruno@clisp.org>
6992
6993         posix_spawn_file_actions_add*: Fix module dependencies.
6994         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6995         posix_spawn_file_actions_init.
6996         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6997         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6998
6999 2011-09-18  Bruno Haible  <bruno@clisp.org>
7000
7001         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7002         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7003         * tests/test-renameat.c (main): Likewise.
7004
7005 2011-09-18  Bruno Haible  <bruno@clisp.org>
7006
7007         Tests for module 'accept4'.
7008         * modules/accept4-tests: New file.
7009         * tests/test-accept4.c: New file.
7010
7011 2011-09-18  Bruno Haible  <bruno@clisp.org>
7012
7013         Tests for module 'accept'.
7014         * modules/accept-tests: New file.
7015         * tests/test-accept.c: New file.
7016
7017 2011-09-18  Bruno Haible  <bruno@clisp.org>
7018
7019         dup2: Support for MSVC.
7020         * lib/dup2.c: Include msvc-inval.h.
7021         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7022         _get_osfhandle calls.
7023         * modules/dup2 (Depends-on): Add msvc-inval.
7024         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7025
7026         New module 'msvc-inval'.
7027         * lib/msvc-inval.h: New file.
7028         * lib/msvc-inval.c: New file.
7029         * m4/msvc-inval.m4: New file.
7030         * modules/msvc-inval: New file.
7031
7032 2011-09-17  Bruno Haible  <bruno@clisp.org>
7033
7034         Tests for module 'pclose'.
7035         * modules/pclose-tests: New file.
7036
7037         New module 'pclose'.
7038         * lib/stdio.in.h (pclose): New declaration.
7039         * lib/pclose.c: New file.
7040         * m4/pclose.m4: New file.
7041         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7042         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7043         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7044         * modules/pclose: New file.
7045         * modules/popen-tests (Depends-on): Add pclose.
7046         * modules/popen-safer-tests (Depends-on): Likewise.
7047         * doc/posix-functions/pclose.texi: Mention the new module.
7048
7049 2011-09-17  Bruno Haible  <bruno@clisp.org>
7050
7051         popen: Support for MSVC.
7052         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7053         * lib/popen.c (popen): Provide alternate definition for native Windows.
7054         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7056         * modules/popen (Depends-on, configure.ac): Update condition.
7057         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7058         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7059         fixed.
7060
7061 2011-09-17  Bruno Haible  <bruno@clisp.org>
7062
7063         isnanl, isnand, isnanf: Work around MSVC bug.
7064         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7065
7066 2011-09-17  Bruno Haible  <bruno@clisp.org>
7067
7068         sys_socket tests: Fix recent mistake.
7069         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7070
7071 2011-09-17  Bruno Haible  <bruno@clisp.org>
7072
7073         putenv: Support for MSVC.
7074         * modules/putenv (Depends-on): Add environ.
7075         * lib/putenv.c (environ): Disable declaration.
7076         * lib/unistd.in.h: Update comment.
7077
7078 2011-09-17  Bruno Haible  <bruno@clisp.org>
7079
7080         math: Avoid macro redefinition warnings on MSVC.
7081         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7082         Undefine before redefining.
7083
7084 2011-09-17  Bruno Haible  <bruno@clisp.org>
7085
7086         doc: Mention functions which are declared as macros.
7087         * doc/posix-functions/*[fl].texi: Mention that some functions are
7088         defined as macros with arguments only.
7089
7090 2011-09-17  Bruno Haible  <bruno@clisp.org>
7091
7092         Add dependencies to new dirent related modules.
7093         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7094         * modules/fts (Depends-on): Likewise.
7095         * modules/glob (Depends-on): Likewise.
7096         * modules/savedir (Depends-on): Likewise.
7097         * modules/scandir (Depends-on): Likewise.
7098         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7099         * modules/fdopendir (Depends-on): Add opendir.
7100
7101 2011-09-17  Bruno Haible  <bruno@clisp.org>
7102
7103         inet_pton: Support for MSVC on Windows Vista or newer.
7104         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7105         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7106         HAVE_DECL_INET_PTON is defined.
7107         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7108         On platforms with <winsock2.h>, test whether inet_pton is declared in
7109         <ws2tcpip.h>. If so, arrange to replace it.
7110         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7111         REPLACE_INET_PTON.
7112         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7113         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7114         (Depends-on, configure.ac): Update condition.
7115         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7116
7117 2011-09-17  Bruno Haible  <bruno@clisp.org>
7118
7119         inet_ntop: Support for MSVC on Windows Vista or newer.
7120         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7121         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7122         HAVE_DECL_INET_NTOP is defined.
7123         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7124         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7125         <ws2tcpip.h>. If so, arrange to replace it.
7126         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7127         REPLACE_INET_NTOP.
7128         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7129         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7130         (Depends-on, configure.ac): Update condition.
7131         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7132
7133 2011-09-16  Eric Blake  <eblake@redhat.com>
7134
7135         test-fsync: yet another enhancement
7136         * tests/test-fsync.c (main): Also test behavior on read-only text
7137         file.
7138
7139 2011-09-16  Bruno Haible  <bruno@clisp.org>
7140
7141         Enhance fsync, fdatasync tests.
7142         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7143         * tests/test-fdatasync.c (main): Likewise.
7144
7145 2011-09-16  Bruno Haible  <bruno@clisp.org>
7146
7147         Support for MSVC compiler: Ensure mode_t gets defined.
7148         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7149         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7150         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7151         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7152         * tests/test-fcntl-h.c: Check that mode_t is defined.
7153         * tests/test-sys_stat.c: Likewise.
7154         * tests/test-sys_types.c: Likewise.
7155         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7156         * doc/posix-headers/sys_stat.texi: Likewise.
7157         * doc/posix-headers/sys_types.texi: Likewise.
7158
7159 2011-09-16  Bruno Haible  <bruno@clisp.org>
7160
7161         sys_stat: Support for MSVC.
7162         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7163         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7164         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7165         MSVC.
7166
7167 2011-09-16  Bruno Haible  <bruno@clisp.org>
7168
7169         Support for MSVC compiler: Ensure off_t gets defined.
7170         * lib/unistd.in.h: Include <sys/types.h>.
7171         * tests/test-fcntl-h.c: Check that off_t is defined.
7172         * tests/test-sys_stat.c: Likewise.
7173         * tests/test-sys_types.c: Likewise.
7174
7175 2011-09-16  Eric Blake  <eblake@redhat.com>
7176
7177         fdatasync: port to Solaris
7178         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7179         * modules/fdatasync (Link): Document it.
7180         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7181
7182         fdatasync: port to MacOS X 10.7
7183         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7184         declared.
7185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7186         * modules/unistd (Makefile.am): Substitute it.
7187         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7188         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7189
7190         fdatasync: minor improvements
7191         * modules/fdatasync (Depends-on): Add condition for fsync.
7192         * lib/fdatasync.c (fdatasync): Add comment.
7193         * tests/test-unistd-c++.cc: Test fdatasync.
7194
7195         unistd: update refs to newer POSIX
7196         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7197         Suggested by Bruno Haible.
7198
7199         fdatasync: new module
7200         * modules/fsync (Description): Document difference to fdatasync.
7201         * modules/fdatasync: New module.
7202         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7203         * lib/fdatasync.c (fdatasync): Likewise.
7204         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7205         defaults.
7206         * modules/unistd (Makefile.am): Set witnesses.
7207         * lib/unistd.in.h (fdatasync): Declare.
7208         * MODULES.html.sh: Document it.
7209         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7210         * modules/fdatasync-tests: New test.
7211         * tests/test-fdatasync.c: Likewise.
7212
7213 2011-09-16  Eric Blake  <eblake@redhat.com>
7214
7215         test-fsync: enhance tests
7216         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7217         * tests/test-fsync.c (main): Enhance test.
7218
7219 2011-09-15  Bruno Haible  <bruno@clisp.org>
7220
7221         Support for MSVC compiler: Ensure ssize_t gets defined.
7222         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7223         * doc/posix-headers/stdio.texi: Likewise.
7224         * modules/stdio (Depends-on): Add ssize_t.
7225         * modules/sys_socket (Depends-on): Likewise.
7226         * modules/sys_types (Depends-on): Likewise.
7227         * modules/sys_uio (Depends-on): Likewise.
7228         * modules/unistd (Depends-on): Likewise.
7229         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7230         * tests/test-sys_types.c: Check that ssize_t is defined.
7231
7232 2011-09-14  Bruno Haible  <bruno@clisp.org>
7233
7234         Avoid using #, the m4 comment starter character, near brackets.
7235         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7236         delimiter character in sed expressions.
7237         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7238         Suggested by Eric Blake.
7239
7240         Properly quote AC_CHECK_DECLS' 4th argument.
7241         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7242         argument.
7243         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7244         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7245         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7246         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7247         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7248         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7249         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7250         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7251         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7252         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7253         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7254         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7255         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7256         * m4/isinf.m4 (gl_ISINF): Likewise.
7257         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7258         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7259         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7260         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7261         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7262         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7263         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7264         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7265         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7266         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7267         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7268         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7269         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7270         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7272         Reported by Eric Blake.
7273
7274         Properly quote AC_CHECK_DECL's 4th argument.
7275         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7276         argument.
7277         * m4/argp.m4 (gl_ARGP): Likewise.
7278         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7279         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7280         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7281         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7282         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7283         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7284         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7285         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7286         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7287         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7288         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7289         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7290         Reported by Eric Blake.
7291
7292 2011-09-14  Eric Blake  <eblake@redhat.com>
7293
7294         opendir: avoid compile warning
7295         * lib/opendir.c (includes): Always include errno.h.
7296         Reported by Tatsuro MATSUOKA.
7297
7298 2011-09-14  Jim Meyering  <meyering@redhat.com>
7299
7300         maint.mk: sc_tight_scope: propagate failure from sub-make
7301         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7302         Reported by Martin von Gagern.
7303
7304 2011-09-13  Bruno Haible  <bruno@clisp.org>
7305
7306         tempname: Support for MSVC.
7307         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7308         MSVC.
7309         * modules/tempname (Depends-on): Add fcntl-h.
7310
7311 2011-09-13  Bruno Haible  <bruno@clisp.org>
7312
7313         sys_time: Support for MSVC.
7314         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7315         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7316         include <winsock2.h>.
7317         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7318         function declarations that collide with POSIX.
7319         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7320         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7321
7322 2011-09-13  Bruno Haible  <bruno@clisp.org>
7323
7324         stat: Support for MSVC.
7325         * lib/stat.c: Include pathmax.h.
7326         * modules/stat (Depends-on): Add pathmax.
7327
7328         pathmax: Support for native Windows.
7329         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7330
7331 2011-09-12  Bruno Haible  <bruno@clisp.org>
7332
7333         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
7334         * lib/dirent.in.h (struct dirent): New type.
7335         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
7336         DT_WHT): New macros.
7337         (DIR): New type.
7338         (opendir, closedir): Declare only if the module 'opendir' is enabled.
7339         (readdir, rewinddir): New declarations.
7340         * lib/dirent-private.h: New file.
7341         * lib/opendir.c: New file.
7342         * lib/readdir.c: New file.
7343         * lib/rewinddir.c: New file.
7344         * lib/closedir.c: New file.
7345         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
7346         * m4/opendir.m4: New file.
7347         * m4/readdir.m4: New file.
7348         * m4/rewinddir.m4: New file.
7349         * m4/closedir.m4: New file.
7350         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
7351         REPLACE_CLOSEDIR here.
7352         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
7353         readdir, rewinddir are declared.
7354         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
7355         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
7356         HAVE_REWINDDIR, HAVE_CLOSEDIR.
7357         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
7358         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
7359         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
7360         * modules/opendir: New file.
7361         * modules/readdir: New file.
7362         * modules/rewinddir: New file.
7363         * modules/closedir: New file.
7364         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
7365         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
7366         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
7367         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
7368         * NEWS: Mention the 'fchdir' change.
7369
7370 2011-09-11  Bruno Haible  <bruno@clisp.org>
7371
7372         asm-underscore.m4: Support for MSVC.
7373         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
7374         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
7375
7376 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
7377
7378         Doc about crypt functions.
7379         * doc/posix-functions/crypt.texi: Expand range of glibc versions
7380         needing for _GNU_SOURCE to get crypt.
7381         * doc/posix-functions/encrypt.texi: Likewise.
7382         * doc/posix-functions/setkey.texi: Likewise.
7383
7384 2011-09-11  Bruno Haible  <bruno@clisp.org>
7385
7386         doc: Update regarding MSVC 9.
7387         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
7388         tested".
7389         * doc/posix-functions/*.texi: Update with info about MSVC 9.
7390         * doc/posix-headers/*.texi: Likewise.
7391         * doc/pastposix-functions/*.texi: Likewise.
7392         * doc/glibc-functions/*.texi: Likewise.
7393         * doc/glibc-headers/*.texi: Likewise.
7394
7395 2011-09-11  Bruno Haible  <bruno@clisp.org>
7396
7397         unistd et al.: Don't assume <unistd.h> exists.
7398         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
7399         does not exist.
7400         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
7401         exist. But include <stdlib.h>.
7402         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
7403         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
7404         symlink() does not exist.
7405         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
7406         include <io.h> instead.
7407         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
7408         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
7409         include <direct.h> instead.
7410         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7411         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7412         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
7413         <io.h> instead.
7414         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
7415         correctly if the system does not have hard links.
7416         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
7417         <direct.h> instead.
7418         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
7419         it when looking for function declarations.
7420         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
7421         <direct.h> and <io.h> instead.
7422         * doc/posix-headers/unistd.texi: More details about MSVC problem.
7423
7424 2011-09-11  Bruno Haible  <bruno@clisp.org>
7425
7426         strcase: Support for MSVC.
7427         * modules/strcase (Status, Notice): Remove obsoletion mark.
7428         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
7429         * doc/posix-functions/strncasecmp.texi: Likewise.
7430
7431         strings: Don't assume <strings.h> exists.
7432         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
7433         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
7434         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
7435         * doc/posix-headers/strings.texi: Mention the MSVC problem.
7436
7437 2011-09-11  Bruno Haible  <bruno@clisp.org>
7438
7439         dirent: Don't assume <dirent.h> exists.
7440         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
7441         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
7442         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
7443         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
7444
7445 2011-09-11  Bruno Haible  <bruno@clisp.org>
7446
7447         Fix wint_t on MSVC.
7448         * lib/wchar.in.h (wint_t): On MSVC, override it.
7449         * lib/wctype.in.h (wint_t): Likewise.
7450         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
7451         MSVC.
7452         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
7453         * doc/posix-headers/wctype.texi: Likewise.
7454
7455 2011-09-11  Bruno Haible  <bruno@clisp.org>
7456
7457         sys_types: Fix typo.
7458         * lib/sys_types.in.h: Fix typo in comment.
7459         Reported by Paul Eggert.
7460
7461         Support for MSVC compiler: Ensure size_t gets defined.
7462         * modules/strings (Depends-on): Add 'sys_types'.
7463         * modules/sys_uio (Depends-on): Likewise.
7464         * lib/sys_uio.in.h: Update comment.
7465
7466         C++ tests for module 'sys_types'.
7467         * modules/sys_types-c++-tests: New file.
7468         * tests/test-sys_types-c++.cc: New file.
7469
7470         Tests for module 'sys_types'.
7471         * modules/sys_types-tests: New file.
7472         * tests/test-sys_types.c: New file.
7473
7474         New module 'sys_types'.
7475         * lib/sys_types.in.h: New file.
7476         * m4/sys_types_h.m4: New file.
7477         * modules/sys_types: New file.
7478         * doc/posix-headers/sys_types.texi: Mention the new module and the
7479         size_t problem on MSVC 9.
7480
7481 2011-09-11  Bruno Haible  <bruno@clisp.org>
7482
7483         Support for MSVC compiler: Avoid division by a literal 0.
7484         * lib/math.in.h (NAN): Define through a function call also on MSVC.
7485         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
7486         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
7487         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
7488         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
7489         * tests/infinity.h: New file.
7490         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
7491         on MSVC.
7492         * tests/test-ceilf1.c: Include infinity.h.
7493         (main): Use Infinityf.
7494         * tests/test-ceil1.c: Include infinity.h.
7495         (main): Use Infinityd.
7496         * tests/test-ceill.c: Include infinity.h.
7497         (main): Use Infinityl.
7498         * tests/test-dprintf-posix.c: Include infinity.h.
7499         (test_function): Use Infinityd.
7500         * tests/test-floorf1.c: Include infinity.h.
7501         (main): Use Infinityf.
7502         * tests/test-floor1.c: Include infinity.h.
7503         (main): Use Infinityd.
7504         * tests/test-floorl.c: Include infinity.h.
7505         (main): Use Infinityl.
7506         * tests/test-fprintf-posix.c: Include infinity.h.
7507         (test_function): Use Infinityd.
7508         * tests/test-frexp.c: Include infinity.h.
7509         (main): Use Infinityd.
7510         * tests/test-frexpl.c: Include infinity.h.
7511         (main): Use Infinityl.
7512         * tests/test-isfinite.c: Include infinity.h.
7513         (test_isfinitef): Use Infinityf.
7514         (test_isfinited): Use Infinityd.
7515         (test_isfinitel): Use Infinityl.
7516         * tests/test-isinf.c: Include infinity.h.
7517         (test_isinff): Use Infinityf.
7518         (test_isinfd): Use Infinityd.
7519         (test_isinfl): Use Infinityl.
7520         * tests/test-isnan.c: Include infinity.h.
7521         (test_float): Use Infinityf.
7522         (test_double): Use Infinityd.
7523         (test_long_double): Use Infinityl.
7524         * tests/test-isnanf.h: Include infinity.h.
7525         (main): Use Infinityf.
7526         * tests/test-isnand.h: Include infinity.h.
7527         (main): Use Infinityd.
7528         * tests/test-isnanl.h: Include infinity.h.
7529         (main): Use Infinityl.
7530         * tests/test-ldexpl.c: Include infinity.h.
7531         (main): Use Infinityl.
7532         * tests/test-printf-posix.h: Include infinity.h.
7533         (test_function): Use Infinityd.
7534         * tests/test-roundf1.c: Include infinity.h.
7535         (main): Use Infinityf.
7536         * tests/test-round1.c: Include infinity.h.
7537         (main): Use Infinityd.
7538         * tests/test-roundl.c: Include infinity.h.
7539         (main): Use Infinityl.
7540         * tests/test-signbit.c: Include infinity.h.
7541         (test_signbitf): Use Infinityf.
7542         (test_signbitd): Use Infinityd.
7543         (test_signbitl): Use Infinityl.
7544         * tests/test-snprintf-posix.h: Include infinity.h.
7545         (test_function): Use Infinityd, Infinityl.
7546         * tests/test-sprintf-posix.h: Include infinity.h.
7547         (test_function): Use Infinityd, Infinityl.
7548         * tests/test-truncf1.c: Include infinity.h.
7549         (main): Use Infinityf.
7550         * tests/test-trunc1.c: Include infinity.h.
7551         (main): Use Infinityd.
7552         * tests/test-truncl.c: Include infinity.h.
7553         (main): Use Infinityl.
7554         * tests/test-vasnprintf-posix.c: Include infinity.h.
7555         (test_function): Use Infinityd, Infinityl.
7556         * tests/test-vasprintf-posix.c: Include infinity.h.
7557         (test_function): Use Infinityd, Infinityl.
7558         * modules/ceilf-tests (Files): Add tests/infinity.h.
7559         * modules/ceil-tests (Files): Likewise.
7560         * modules/ceill-tests (Files): Likewise.
7561         * modules/dprintf-posix-tests (Files): Likewise.
7562         * modules/floorf-tests (Files): Likewise.
7563         * modules/floor-tests (Files): Likewise.
7564         * modules/floorl-tests (Files): Likewise.
7565         * modules/fprintf-posix-tests (Files): Likewise.
7566         * modules/frexp-tests (Files): Likewise.
7567         * modules/frexp-nolibm-tests (Files): Likewise.
7568         * modules/frexpl-tests (Files): Likewise.
7569         * modules/frexpl-nolibm-tests (Files): Likewise.
7570         * modules/isfinite-tests (Files): Likewise.
7571         * modules/isinf-tests (Files): Likewise.
7572         * modules/isnan-tests (Files): Likewise.
7573         * modules/isnanf-tests (Files): Likewise.
7574         * modules/isnanf-nolibm-tests (Files): Likewise.
7575         * modules/isnand-tests (Files): Likewise.
7576         * modules/isnand-nolibm-tests (Files): Likewise.
7577         * modules/isnanl-tests (Files): Likewise.
7578         * modules/isnanl-nolibm-tests (Files): Likewise.
7579         * modules/ldexpl-tests (Files): Likewise.
7580         * modules/printf-posix-tests (Files): Likewise.
7581         * modules/roundf-tests (Files): Likewise.
7582         * modules/round-tests (Files): Likewise.
7583         * modules/roundl-tests (Files): Likewise.
7584         * modules/signbit-tests (Files): Likewise.
7585         * modules/snprintf-posix-tests (Files): Likewise.
7586         * modules/sprintf-posix-tests (Files): Likewise.
7587         * modules/truncf-tests (Files): Likewise.
7588         * modules/trunc-tests (Files): Likewise.
7589         * modules/truncl-tests (Files): Likewise.
7590         * modules/vasnprintf-posix-tests (Files): Likewise.
7591         * modules/vasprintf-posix-tests (Files): Likewise.
7592         * modules/vdprintf-posix-tests (Files): Likewise.
7593         * modules/vfprintf-posix-tests (Files): Likewise.
7594         * modules/vprintf-posix-tests (Files): Likewise.
7595         * modules/vsnprintf-posix-tests (Files): Likewise.
7596         * modules/vsprintf-posix-tests (Files): Likewise.
7597         * modules/xprintf-posix-tests (Files): Likewise.
7598
7599 2011-09-11  Bruno Haible  <bruno@clisp.org>
7600
7601         Ensure pid_t gets defined.
7602         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
7603         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
7604         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7605         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7606         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7607         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
7608         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
7609         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7610         * tests/test-fcntl-h.c: Check that pid_t is defined.
7611         * tests/test-sched.c: Likewise.
7612         * tests/test-termios.c: Likewise.
7613         * tests/test-time.c: Likewise.
7614         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
7615         * doc/posix-headers/signal.texi: Likewise.
7616         * doc/posix-headers/sys_types.texi: Likewise.
7617         * doc/posix-headers/time.texi: Likewise.
7618
7619 2011-09-11  Bruno Haible  <bruno@clisp.org>
7620
7621         acl: Fix compilation on Solaris 10 (older version).
7622         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
7623         of ACE_EVERYONE.
7624         * lib/set-mode-acl.c (qset_acl): Likewise.
7625         Reported by Christian Jullien <eligis@orange.fr>.
7626
7627 2011-09-10  Bruno Haible  <bruno@clisp.org>
7628
7629         iconv, unsetenv: Add support for MSVC compiler.
7630         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
7631         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
7632
7633 2011-09-10  Bruno Haible  <bruno@clisp.org>
7634
7635         *printf: Add support for MSVC compiler.
7636         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
7637         handles the exception caused by the %n directive. When cross-compiling,
7638         guess no on native Windows.
7639         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
7640         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
7641         emulate it through vsnprintf.
7642         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
7643         * doc/posix-functions/dprintf.texi: Update documentation regarding
7644         MSVC 9.
7645         * doc/posix-functions/fprintf.texi: Likewise.
7646         * doc/posix-functions/printf.texi: Likewise.
7647         * doc/posix-functions/snprintf.texi: Likewise.
7648         * doc/posix-functions/sprintf.texi: Likewise.
7649         * doc/posix-functions/swprintf.texi: Likewise.
7650         * doc/posix-functions/vdprintf.texi: Likewise.
7651         * doc/posix-functions/vfprintf.texi: Likewise.
7652         * doc/posix-functions/vprintf.texi: Likewise.
7653         * doc/posix-functions/vsnprintf.texi: Likewise.
7654         * doc/posix-functions/vsprintf.texi: Likewise.
7655         * doc/glibc-functions/asprintf.texi: Likewise.
7656         * doc/glibc-functions/obstack_printf.texi: Likewise.
7657         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7658         * doc/glibc-functions/vasprintf.texi: Likewise.
7659
7660 2011-09-10  Bruno Haible  <bruno@clisp.org>
7661
7662         nocrash: Add support for native Windows.
7663         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
7664
7665 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
7666             Bruno Haible  <bruno@clisp.org>
7667
7668         absolute-header, include-next: Add support for MSVC compiler.
7669         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
7670         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
7671         directory separator in #line directives.
7672         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
7673         recognize also backslash as directory separator in #line directives.
7674
7675 2011-09-08  Jim Meyering  <meyering@redhat.com>
7676
7677         maint.mk: mark the post-release commit log with "maint: " prefix
7678         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
7679         one-line commit-log summary.
7680
7681 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
7682             Bruno Haible  <bruno@clisp.org>
7683
7684         Doc about crypt functions.
7685         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
7686         systems.
7687         * doc/posix-functions/encrypt.texi: Likewise.
7688         * doc/posix-functions/setkey.texi: Likewise.
7689
7690 2011-09-08  Simon Josefsson  <simon@josefsson.org>
7691
7692         * lib/gc.h: Fix copyright header.
7693
7694 2011-09-07  Bruno Haible  <bruno@clisp.org>
7695
7696         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
7697         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
7698         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
7699
7700 2011-09-07  Bruno Haible  <bruno@clisp.org>
7701
7702         openat: Work around compilation error with OSF/1 5.1 DTK cc.
7703         * lib/fopen.c: Use different syntax for include of <stdio.h>.
7704         * lib/freopen.c: Likewise.
7705         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
7706         * lib/lstat.c: Likewise.
7707         * lib/stat.c: Likewise.
7708         * lib/open.c: Use different syntax for include of <fcntl.h>.
7709         * lib/openat.c: Include fcntl.h again, explicitly.
7710
7711 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
7712
7713         parse-datetime: document the newly accepted format
7714         * doc/parse-datetime.texi (Combined date and time of day items):
7715         New section.
7716
7717 2011-09-06  Bruno Haible  <bruno@clisp.org>
7718
7719         acl: Fix a test failure on newer Solaris 10 with ZFS.
7720         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
7721         ENOSYS as no ACL.
7722         Reported by Jim Meyering.
7723
7724 2011-09-06  Bruno Haible  <bruno@clisp.org>
7725
7726         acl: Update for AIX >= 5.3 with NFS.
7727         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
7728         ENOSYS as no ACL.
7729
7730         acl: Fix a test failure on AIX >= 5.3 with NFS.
7731         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
7732         as no ACL.
7733
7734 2011-09-06  Bruno Haible  <bruno@clisp.org>
7735
7736         acl: Fix a test failure on IRIX 6.5 with NFS.
7737         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
7738         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
7739         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
7740         * lib/copy-acl.c (qcopy_acl): Likewise.
7741
7742 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
7743
7744         openat: port to AIX 7.1 with large files
7745         AIX 7.1 does a "#define openat open64at" if large files are in use,
7746         so we can't simply #undef openat.  Use the orig_openat trick (similar
7747         to orig_open in lib/open.c) to work around the problem.  Problem
7748         reported by Kevin Brott for GNU tar, in the thread containing
7749         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
7750         * lib/openat.c (__need_system_fcntl_h): Define first.
7751         Include <fcntl.h> and <sys/types.h> before undefining.
7752         (orig_openat) [HAVE_OPENAT]: New inline function.
7753         (openat) [HAVE_OPENAT]: Do not undef.
7754         (rpl_openat): Use orig_openat, not openat.
7755
7756 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7757             Bruno Haible  <bruno@clisp.org>
7758
7759         acl: Avoid errors on NonStop Kernel.
7760         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
7761         ENOTSUP errors.
7762
7763 2011-09-05  Bruno Haible  <bruno@clisp.org>
7764
7765         acl: Clean up Solaris code.
7766         * lib/acl-internal.h: Remove no-op #if.
7767         * lib/file-has-acl.c: Likewise.
7768         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
7769         * lib/copy-acl.c (qcopy_acl): Likewise.
7770
7771 2011-09-05  Bruno Haible  <bruno@clisp.org>
7772
7773         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
7774         binaries built on the original Solaris 10.
7775         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
7776         trivial.
7777
7778 2011-09-05  Bruno Haible  <bruno@clisp.org>
7779
7780         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7781         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
7782         10.
7783         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
7784         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
7785         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
7786         instead of acl_get, facl_get, acl_set, facl_set.
7787
7788 2011-09-05  Bruno Haible  <bruno@clisp.org>
7789
7790         copy-file: Try unit tests on more file systems.
7791         * tests/test-copy-file-1.sh: New file.
7792         * tests/test-copy-file-2.sh: New file.
7793         * modules/copy-file-tests (Files): Add them.
7794         (Makefile.am): Add them to TESTS.
7795
7796         acl: Try unit tests on more file systems.
7797         * tests/test-file-has-acl-1.sh: New file.
7798         * tests/test-file-has-acl-2.sh: New file.
7799         * tests/test-set-mode-acl-1.sh: New file.
7800         * tests/test-set-mode-acl-2.sh: New file.
7801         * tests/test-copy-acl-1.sh: New file.
7802         * tests/test-copy-acl-2.sh: New file.
7803         * modules/acl-tests (Files): Add them.
7804         (Makefile.am): Add them to TESTS.
7805
7806 2011-09-04  Bruno Haible  <bruno@clisp.org>
7807
7808         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
7809         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
7810         10.
7811         (OLD_ALLOW, OLD_DENY): New macros.
7812         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
7813         ACE_ACCESS_ALLOWED_ACE_TYPE.
7814         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
7815         ACE_ACCESS_DENIED_ACE_TYPE.
7816         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
7817         (NEW_ACE_EXECUTE): Fix value.
7818         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
7819         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
7820         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
7821         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
7822         NEW_ACE_SYNCHRONIZE): New macros.
7823         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
7824         instead of acl_fromtext, acl_set, facl_set.
7825         Fixes a coreutils/tests/cp/perm failure.
7826
7827 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
7828
7829         openat: test for fstatat (..., 0) bug
7830         Further testing with tar suggests that fstatat (..., 0)
7831         does not work in general, on AIX 7.1; see
7832         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
7833         So, give up entirely on AIX 7.1's fstatat, and fall back on our
7834         replacement fstatat (which is what older AIX releases were using
7835         anyway).
7836         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
7837         use is now changed to orig_fstatat.  This was probably the right
7838         thing to do anyway.
7839         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
7840         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
7841         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
7842         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
7843         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
7844         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
7845         if the bug is found.
7846
7847         openat: test for fstatat (AT_FDCWD, ..., 0) bug
7848         This tests for another fstatat bug on AIX 7.1:
7849         fstatat (AT_FDCWD, ..., 0) does not work.  See
7850         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
7851         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
7852         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
7853         (rpl_fstatat): Adjust so that it works around either (or both)
7854         bugs if present.
7855         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
7856
7857 2011-09-03  Karl Berry  <karl@gnu.org>
7858
7859         * doc/regex.texi (Character Class Operators): Avoid literal ":"
7860         in index entries.
7861
7862 2011-09-02  Bruno Haible  <bruno@clisp.org>
7863
7864         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
7865         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
7866         values of AR, ARFLAGS, RANLIB.
7867         Reported by John W. Eaton <jwe@gnu.org> for Octave.
7868
7869 2011-09-02  Bruno Haible  <bruno@clisp.org>
7870
7871         Find 'ar' program that fits with --host argument.
7872         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
7873
7874 2011-09-02  Bruno Haible  <bruno@clisp.org>
7875
7876         tests: init.sh: Support any non-GNU diff.
7877         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
7878         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
7879         Solaris 8.
7880
7881 2011-09-02  Bruno Haible  <bruno@clisp.org>
7882
7883         tests: init.sh: work also with any non-GNU diff that supports -u
7884         * tests/init.sh: Relax check for diff -u support.
7885         Rather than checking for GNU diff via --version, simply check
7886         for support for -u itself.  Useful at least on OpenBSD 4.9,
7887         AIX 7.1, IRIX 6.5, and Solaris 10.
7888
7889 2011-09-01  Bruno Haible  <bruno@clisp.org>
7890
7891         strtoimax, strtoumax: Document problem on HP-UX 11.
7892         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
7893         * doc/posix-functions/strtoumax.texi: Likewise.
7894
7895 2011-09-01  Bruno Haible  <bruno@clisp.org>
7896
7897         strtoumax: Avoid link error on OSF/1 with DTK cc.
7898         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
7899         defined as a function.
7900         * modules/strtoumax (Depends-on, configure.ac): Test only whether
7901         strtoumax is defined, not whether it is declared.
7902
7903 2011-09-01  Bruno Haible  <bruno@clisp.org>
7904
7905         strtoimax: Avoid link error on OSF/1 with DTK cc.
7906         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
7907         defined as a function.
7908         * modules/strtoimax (Depends-on, configure.ac): Test only whether
7909         strtoimax is defined, not whether it is declared.
7910
7911 2011-09-01  Bruno Haible  <bruno@clisp.org>
7912
7913         imaxdiv: Avoid link error on OSF/1 with DTK cc.
7914         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
7915         as a function.
7916         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
7917         whether it is declared.
7918
7919 2011-09-01  Bruno Haible  <bruno@clisp.org>
7920
7921         imaxabs: Avoid link error on OSF/1 with DTK cc.
7922         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
7923         as a function.
7924         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
7925         whether it is declared.
7926
7927 2011-09-01  Bruno Haible  <bruno@clisp.org>
7928
7929         Tests for module 'strtoumax'.
7930         * modules/strtoumax-tests: New file.
7931         * tests/test-strtoumax.c: New file.
7932
7933         Tests for module 'strtoimax'.
7934         * modules/strtoimax-tests: New file.
7935         * tests/test-strtoimax.c: New file.
7936
7937         Tests for module 'imaxdiv'.
7938         * modules/imaxdiv-tests: New file.
7939         * tests/test-imaxdiv.c: New file.
7940
7941         Tests for module 'imaxabs'.
7942         * modules/imaxabs-tests: New file.
7943         * tests/test-imaxabs.c: New file.
7944
7945 2011-09-01  Bruno Haible  <bruno@clisp.org>
7946
7947         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
7948         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
7949         pthread_create.
7950
7951 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
7952
7953         openat: work around AIX 7.1 fstatat issue
7954         This should fix the problem that was not properly fixed
7955         in the previous change, dated 2011-08-30.
7956         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
7957         __need_system_stat_h defined.
7958         (orig_fstatat) [HAVE_FSTATAT]: New function.
7959         (rpl_fstatat): Go back to the old way of doing things,
7960         except call orig_fstatat instead of fstatat.
7961         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
7962         Remove unnecessary check whether fstatat fills in st_size etc.
7963
7964 2011-09-01  Bruno Haible  <bruno@clisp.org>
7965
7966         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7967         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7968         just include the system's header.
7969
7970 2011-08-31  Jim Meyering  <meyering@redhat.com>
7971
7972         tests: avoid spurious assertion failure in test-float.c on ppc64
7973         * tests/test-float.c (test_long_double): Comment out an assertion,
7974         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7975         with gcc-4.4.4.
7976
7977         maint: indent with spaces, not TABs
7978         I need to get in the habit of running gnulib's "make check".
7979         Both of these would have been caught.
7980         * m4/largefile.m4: Indent with spaces, not TABs.
7981         * lib/parse-datetime.y (iso_8601_time): Likewise.
7982         Spotted by Pádraig Brady.
7983
7984         test-parse-datetime.c: accommodate a relatively strict gcc warning
7985         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7986         to avoid a warning from gcc's -Werror=missing-declarations.
7987         Insert a few spaces-before-funcall-parenthesis.
7988
7989 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7990
7991         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7992         The parser now accepts ISO 8601 date-time strings with "T" as the
7993         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7994         with a space between the date and time strings.  Now it also parses
7995         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7996         variants like "2004-02-29T16:21:42.333-07:00"
7997         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7998         of day representation using the 'T' separator character.
7999         * doc/parse-datetime.texi (General date syntax): replace use of
8000         deprecated --iso-8601 option with --rfc-3339 in example of date
8001         command output formats that can be parsed.
8002         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8003         lib/parse-datetime.y.
8004         (gmt_offset): New function.
8005         (main): Add additional test cases to validate ISO8601 extended
8006         date and time of day parsing.
8007
8008 2011-08-31  Bruno Haible  <bruno@clisp.org>
8009
8010         freopen: Documentation.
8011         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8012         name.
8013         Reported by Claudio Bley <claudio.bley@gmail.com>.
8014
8015 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8016
8017         freopen: Don't crash if the filename argument is NULL.
8018         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8019         NULL.
8020
8021 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8022
8023         openat: work around AIX 7.1 fstatat bug
8024         Problem reported by Kevin Brott for GNU tar, in the thread containing
8025         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8026         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8027         FSTATAT_ST_SIZE_ETC_BROKEN.
8028         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8029         rpl_fstatat.
8030         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8031         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8032         AC_CHECK_FUNCS_ONCE for fstatat.
8033         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8034         fchmodat, mkdirat, openat and unlinkat.
8035
8036 2011-08-30  Bruno Haible  <bruno@clisp.org>
8037
8038         Avoid endless recursions if config.h includes some header files.
8039         * lib/fopen.c (__need_FILE): Define already before including config.h.
8040         * lib/freopen.c (__need_FILE): Likewise.
8041         * lib/open.c (__need_system_fcntl_h): Likewise.
8042         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8043         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8044         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8045
8046 2011-08-25  Karl Berry  <karl@gnu.org>
8047
8048         * config/srclist.txt (ylwrap): new try.
8049         * build-aux/ylwrap: new file.
8050
8051 2011-08-23  Bruno Haible  <bruno@clisp.org>
8052
8053         tmpdir: Use a good default directory on native Windows.
8054         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8055         (P_tmpdir): Default to _P_tmpdir on native Windows.
8056         (path_search): On native Windows, try the value returned by GetTempPath
8057         before trying P_tmpdir.
8058         * modules/tmpdir (Depends-on): Add pathmax.
8059         Suggested by John Darrington <john@darrington.wattle.id.au>.
8060
8061 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8062
8063         doc: fix typo in README-release
8064         * top/README-release: Capitalize first word of a sentence.
8065
8066 2011-08-19  Jim Meyering  <meyering@redhat.com>
8067
8068         fts: do not exhaust memory when processing million-entry directories
8069         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8070         directory would require about 256*N bytes of memory.  Thus, it was
8071         easy to construct a directory too large to be processed by any of
8072         those tools.  With this change, fts' maximum memory utilization is
8073         now limited to around 30MB.
8074         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8075         (fts_read): When we've processed the final entry (i.e., when
8076         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8077         using the parent entry to read any remaining entries.  Dispatch
8078         depending on what fts_build returns:
8079         - NULL+stop, aka failure: stop
8080         - NULL otherwise: move up in the dir hierarchy
8081         - non-NULL: handle this new entry
8082         (fts_build): Declare and use new local, continue_readdir.
8083         Prepare to be called from fts_read, when the entries
8084         from a partially-read directory have just been exhausted.
8085         In that case, we'll skip the opendir and instead use the parent's
8086         fts_dirp and derive dir_fd from that.
8087         Finally, in the readdir loop, if we read max_entries entries,
8088         exit the loop ensuring *not* to call closedir.  This is required
8089         so that fts_dirp can be reused on a subsequent call.
8090         Prompted by Ben England's report of memory exhaustion in find
8091         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8092
8093         maint: fts: move decl of `dp' down into while loop; split a long line
8094         * lib/fts.c (fts_build): No semantic change.
8095
8096         fts: add/use new struct member, fts_dirp
8097         We are about to use this to manage any directory with
8098         too many entries to read all of them into memory at once.
8099         To do that, we'll need to save the DIR* pointer in each
8100         affected FTSENT struct.
8101         * lib/fts_.h: Include <dirent.h>.
8102         (struct FTSENT) [fts_dirp]: New member.
8103         * lib/fts.c (closedir_and_clear): Define.
8104         Use it in place of closedir so that we are sure to
8105         clear the new fts_dirp member when done with it.
8106         (fts_alloc): Initialize the new member.
8107         (fts_lfree): Free, if needed.
8108
8109         maint: fts: give __opendir2 a new parameter and rename
8110         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8111         than surreptitiously using sole caller's "dir_fd".
8112         (fts_opendir): Rename from __opendir2.
8113
8114         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8115         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8116
8117         maint: fts.c: correct off-by-one indentation
8118         * lib/fts.c (fts_build): Correct indentation, change style
8119         of a couple of block comments, and bracing style.
8120
8121         maint: fts.c: move __opendir2 #define "up" out of function body
8122         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8123
8124         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8125         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8126         out for a long time and besides was useful only on BSD systems.
8127
8128 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8129
8130         regex: port to Stratus OpenVOS
8131         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8132         define to empty, rather than attempting nonportable optimizations.
8133         Problem reported by Paul Green in:
8134         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8135         and fix suggested by Eric Blake in:
8136         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8137
8138 2011-08-17  Eric Blake  <eblake@redhat.com>
8139
8140         getcwd: fix test failures on mingw
8141         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8142         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8143         test if long directory cannot be created, and allow mingw errno.
8144
8145         getcwd-lgpl: fix m4 to match relaxed test for BSD
8146         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8147         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8148         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8149         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8150         signature problem.
8151
8152         getcwd: fix compilation on mingw64
8153         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8154         getcwd.
8155         Reported by Marc-André Lureau.
8156
8157         pipe2: silence compiler warning
8158         * lib/pipe2.c (pipe2): Hide label if it is not used.
8159
8160 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8161
8162         relocatable-prog: fix link error
8163         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8164         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8165         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8166         into modules/relocatable-lib without noticing that
8167         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8168         also needs to build relocatable.c.
8169
8170 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8171
8172         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8173         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8174         shell code: it contained a 'break' that was not in a loop.
8175         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8176         via a shell-language loop; this may have been true in old Autoconf
8177         versions, but it's not true in Autoconf 2.68.  I found this bug
8178         when testing coreutils git on Solaris 8, whose shell complains
8179         about the syntax error.
8180
8181 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8182
8183         * lib/base64.c: Fix comment to reference RFC 4648.
8184         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8185         <gvtulder@gmail.com>.
8186
8187 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8188
8189         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8190
8191         po/Makefile.in.in: fix make -q problem
8192         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8193         rule, since there's no file named 'check-macro-version' and its
8194         use as a file breaks make -q.
8195         (all): Don't depend on check-macro-version.
8196         (CHECK_MACRO_VERSION): New macro.
8197         (stamp-po): Use it.
8198
8199         configmake: fix make -q problem
8200         * modules/configmake (configmake.h): Update configmake.h's time stamp
8201         even if the file does not change.  Otherwise, 'make -q' fails.
8202         Problem reported by Simon Josefsson in
8203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8204
8205 2011-08-11  Jim Meyering  <meyering@redhat.com>
8206
8207         git-version-gen: correct the advice in a comment
8208         * build-aux/git-version-gen: Correct comment.
8209         Don't recommend to list .tarball-version in .gitignore.
8210
8211 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8212
8213         base64: fix off-by-one buffer size bug
8214         Problem and (trivial) fix reported by Gijs van Tulder in
8215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8216         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8217         * tests/test-base64.c (main): Catch the bug.
8218
8219 2011-08-10  Eric Blake  <eblake@redhat.com>
8220
8221         closein: correct comments
8222         * lib/closein.c (close_stdin): Improve comments.
8223
8224 2011-08-09  Bruno Haible  <bruno@clisp.org>
8225
8226         More tests for 'fseeko'.
8227         * tests/test-fseeko3.c: New file, from Eric Blake.
8228         * tests/test-fseeko3.sh: New file.
8229         * modules/fseeko-tests (Files): Add them.
8230         (TESTS): Add test-fseeko3.sh.
8231         (check_PROGRAMS): Add test-fseeko3.
8232
8233 2011-08-09  Eric Blake  <eblake@redhat.com>
8234
8235         fseeko: remove unneeded hack
8236         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8237
8238         fseeko: fix bug on glibc
8239         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8240         Reported by John W. Eaton.
8241
8242 2011-08-08  Bruno Haible  <bruno@clisp.org>
8243
8244         unictype/base: Fix interoperability with preinstalled libunistring.
8245         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8246         Reported by Simon Josefsson.
8247
8248 2011-08-08  Bruno Haible  <bruno@clisp.org>
8249
8250         iswblank: Detect declaration correctly.
8251         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8252         AC_CHECK_DECLS invocation.
8253
8254 2011-08-08  Bruno Haible  <bruno@clisp.org>
8255
8256         tcgetsid: Detect declaration correctly.
8257         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8258         AC_CHECK_DECLS invocation.
8259         Reported by Simon Josefsson.
8260
8261 2011-08-08  Eric Blake  <eblake@redhat.com>
8262
8263         largefile: fix typo that regressed large file support
8264         * modules/largefile (configure.ac-early): Fix section name.
8265
8266 2011-08-06  Karl Berry  <karl@gnu.org>
8267
8268         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8269         a separate module.
8270
8271 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8272
8273         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8274         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8275         get prototype for free.
8276
8277 2011-08-04  Bruno Haible  <bruno@clisp.org>
8278
8279         Tests for module 'pathmax'.
8280         * modules/pathmax-tests: New file.
8281         * tests/test-pathmax.c: New file.
8282
8283         canonicalize-lgpl: Support larger filenames on the Hurd.
8284         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8285         Reported by Paul Eggert.
8286
8287         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8288         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8289         * lib/chdir-long.h: Include pathmax.h.
8290         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8291         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8292         (PATH_MAX): Remove code that is done by pathmax.h.
8293         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8294         * lib/tmpfile.c: Add a comment.
8295         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8296         * modules/chdir-long (Depends-on): Add pathmax.
8297         * modules/getcwd (Depends-on): Add pathmax.
8298         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8299         is not defined.
8300         * doc/posix-headers/limits.texi: Mention the pathmax module.
8301         * NEWS: Mention the change.
8302
8303 2011-08-02  Bruno Haible  <bruno@clisp.org>
8304
8305         pthread_sigmask: Actually use results of gl_THREADLIB.
8306         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8307         gl_THREADLIB, not gl_[]THREADLIB.
8308         Reported by Eric Blake.
8309
8310 2011-08-02  Jim Meyering  <meyering@redhat.com>
8311
8312         maint.mk: relax the default _gl_TS_function_match regexp
8313         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8314         space between function name and "(" in an "extern" declaration.
8315         That would fail to match a decl with no space there: extern void foo();
8316
8317 2011-07-31  Iain Nicol  <iain@thenicols.net>
8318
8319         git-version-gen: document that EXTRA_DIST must include .version
8320         * build-aux/git-version-gen: In the how-to-use comment, document
8321         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8322         will fail when run from an unpacked distribution tarball.
8323
8324 2011-08-01  Bruno Haible  <bruno@clisp.org>
8325
8326         wctype-h: Fix last change.
8327         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8328         REPLACE_TOWLOWER to 0.
8329         Reported by Sam Steingold <sds@gnu.org>.
8330
8331 2011-07-31  Bruno Haible  <bruno@clisp.org>
8332
8333         frexpl: Update autoconf test.
8334         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
8335         according to changes of 2011-06-20.
8336
8337 2011-07-31  Bruno Haible  <bruno@clisp.org>
8338
8339         sys_utsname: Add support for Minix.
8340         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
8341         <sys/utsname.h>.
8342         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8343         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
8344
8345 2011-07-31  Bruno Haible  <bruno@clisp.org>
8346
8347         strings: Add support for Minix.
8348         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
8349         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8350         * doc/posix-headers/strings.texi: Document the Minix problem.
8351
8352 2011-07-31  Bruno Haible  <bruno@clisp.org>
8353
8354         wctype-h: Add support for Minix.
8355         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
8356         REPLACE_TOWLOWER.
8357         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
8358         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
8359         REPLACE_ISWCNTRL.
8360
8361 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
8362
8363         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
8364         This is a performance improvement for 64-bit hosts: it causes the
8365         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
8366
8367 2011-07-31  Bruno Haible  <bruno@clisp.org>
8368
8369         stdioext: Add support for Minix.
8370         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
8371         * lib/fpurge.c (fpurge): Likewise.
8372         * lib/freadahead.c (freadahead): Likewise.
8373         * lib/freadable.c (freadable): Likewise.
8374         * lib/freading.c (freading): Likewise.
8375         * lib/freadptr.c (freadptr): Likewise.
8376         * lib/freadseek.c (freadptrinc): Likewise.
8377         * lib/fseeko.c (rpl_fseeko): Likewise.
8378         * lib/fseterr.c (fseterr): Likewise.
8379         * lib/fwritable.c (fwritable): Likewise.
8380         * lib/fwriting.c (fwriting): Likewise.
8381         * lib/fflush.c (clear_ungetc_buffer): Update comment.
8382         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
8383
8384 2011-07-31  Bruno Haible  <bruno@clisp.org>
8385
8386         errno: Port to Minix.
8387         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
8388         ECONNABORTED are defined.
8389         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
8390         GNULIB_defined_ECONNABORTED): New macros.
8391         * lib/strerror-override.h (strerror_override): Test also
8392         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
8393         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
8394         ECONNABORTED.
8395         * doc/posix-headers/errno.texi: Mention the Minix problem.
8396
8397 2011-07-31  Bruno Haible  <bruno@clisp.org>
8398
8399         Work around declaration collisions on Minix.
8400         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
8401         defined, set REPLACE_MBSINIT.
8402         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
8403         defined, set REPLACE_MBRTOWC.
8404         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
8405         set REPLACE_MBRLEN.
8406         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
8407         defined, set REPLACE_MBSRTOWCS.
8408         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
8409         defined, set REPLACE_WCRTOMB.
8410         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
8411         defined, set REPLACE_WCSRTOMBS.
8412
8413 2011-07-31  Bruno Haible  <bruno@clisp.org>
8414
8415         Add support for Minix with ACK compiler.
8416         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
8417         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
8418         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
8419
8420 2011-07-31  Bruno Haible  <bruno@clisp.org>
8421
8422         Documentation about Minix.
8423         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
8424         * doc/glibc-headers/*.texi: Likewise.
8425         * doc/posix-functions/*.texi: Likewise.
8426         * doc/glibc-functions/*.texi: Likewise.
8427
8428 2011-07-31  Bruno Haible  <bruno@clisp.org>
8429
8430         snippet/warn-on-use: Fix indentation.
8431         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
8432
8433 2011-07-25  Jim Meyering  <meyering@redhat.com>
8434
8435         tests: test-update-copyright.sh: remove unnecessary "rm" commands
8436         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
8437         commands.
8438
8439 2011-07-27  Jim Meyering  <meyering@redhat.com>
8440
8441         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
8442         * top/maint.mk (gl_extract_significant_defines_): Now that
8443         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
8444         gnulib/lib/signal.in.h, and now that we recommend to
8445         define-if-undefined those two symbols in application code,
8446         we must filter them out of the "significant" list.
8447         This avoids a "make syntax-check" failure in coreutils.
8448
8449 2011-07-26  Eric Blake  <eblake@redhat.com>
8450
8451         warnings: add comments about previous patch
8452         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
8453         * m4/include_next.m4: Likewise.
8454         * m4/warn-on-use.m4: Likewise.
8455         * m4/warnings.m4: Likewise, and simplify use.
8456         Suggested by Stefano Lattarini.
8457
8458         include-next, warnings: support older autoconf
8459         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
8460         AS_VAR_PUSHDEF in a way that works with older autoconf.
8461         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
8462         Reported by Daniel P. Berrange.
8463
8464 2011-07-25  Bruno Haible  <bruno@clisp.org>
8465
8466         fseek, ftell: Fix doc.
8467         * doc/posix-functions/fseek.texi: Reword statement about
8468         AC_SYS_LARGEFILE.
8469         * doc/posix-functions/ftell.texi: Likewise.
8470
8471 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8472             Bruno Haible  <bruno@clisp.org>
8473
8474         Add dependencies to the 'largefile' module.
8475         * modules/fopen (Depends-on): Add 'largefile'.
8476         * modules/freopen (Depends-on): Likewise.
8477         * modules/fseeko (Depends-on): Likewise.
8478         * modules/ftello (Depends-on): Likewise.
8479         * modules/glob (Depends-on): Likewise.
8480         * modules/lseek (Depends-on): Likewise.
8481         * modules/lstat (Depends-on): Likewise.
8482         * modules/mkostemp (Depends-on): Likewise.
8483         * modules/mkostemps (Depends-on): Likewise.
8484         * modules/mkstemp (Depends-on): Likewise.
8485         * modules/mkstemps (Depends-on): Likewise.
8486         * modules/open (Depends-on): Likewise.
8487         * modules/openat (Depends-on): Likewise.
8488         * modules/pread (Depends-on): Likewise.
8489         * modules/pwrite (Depends-on): Likewise.
8490         * modules/scandir (Depends-on): Likewise.
8491         * modules/stat (Depends-on): Likewise.
8492         * modules/tmpfile (Depends-on): Likewise.
8493         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
8494         since the containing module now depends on the largefile module.
8495         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
8496         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
8497         off_t is fixed by gnulib.
8498         * doc/posix-functions/freopen.texi: Likewise.
8499         * doc/posix-functions/fseeko.texi: Likewise.
8500         * doc/posix-functions/fstatat.texi: Likewise.
8501         * doc/posix-functions/ftello.texi: Likewise.
8502         * doc/posix-functions/glob.texi: Likewise.
8503         * doc/posix-functions/lseek.texi: Likewise.
8504         * doc/posix-functions/lstat.texi: Likewise.
8505         * doc/posix-functions/mkstemp.texi: Likewise.
8506         * doc/posix-functions/open.texi: Likewise.
8507         * doc/posix-functions/openat.texi: Likewise.
8508         * doc/posix-functions/pread.texi: Likewise.
8509         * doc/posix-functions/pwrite.texi: Likewise.
8510         * doc/posix-functions/scandir.texi: Likewise.
8511         * doc/posix-functions/stat.texi: Likewise.
8512         * doc/posix-functions/tmpfile.texi: Likewise.
8513         * doc/glibc-functions/mkostemp.texi: Likewise.
8514         * doc/glibc-functions/mkostemps.texi: Likewise.
8515         * doc/glibc-functions/mkstemps.texi: Likewise.
8516
8517 2011-07-25  Bruno Haible  <bruno@clisp.org>
8518
8519         fcntl: Move AC_LIBOBJ invocation to module description.
8520         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
8521         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
8522
8523         fcntl: Remove call-in from fchdir.m4.
8524         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
8525         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
8526
8527         dup3: Remove potential call-in from fchdir.m4.
8528         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
8529         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
8530
8531         dup2: Move AC_LIBOBJ invocation to module description.
8532         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
8533         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
8534         Don't invoke AC_LIBOBJ.
8535         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
8536
8537         dup2: Remove call-in from fchdir.m4.
8538         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
8539         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
8540
8541         fclose: Move AC_LIBOBJ invocation to module description.
8542         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
8543         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
8544         to 1.
8545         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
8546
8547         fclose: Remove call-in from close.m4.
8548         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
8549         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
8550
8551         close: Move AC_LIBOBJ invocation to module description.
8552         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
8553         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
8554         1.
8555         * modules/close (configure.ac): Invoke AC_LIBOBJ.
8556
8557         close: Remove call-in from fchdir.m4.
8558         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
8559         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
8560
8561         open: Move AC_LIBOBJ invocation to module description.
8562         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
8563         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
8564         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
8565
8566         open: Remove call-in from fchdir.m4.
8567         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
8568         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
8569
8570         fchdir: Start to remove gl_REPLACE_* idiom.
8571         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
8572         (gl_FUNC_FCHDIR): Invoke it.
8573
8574 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8575
8576         * lib/ftell.c (ftell): Comment out cast.
8577
8578         close: use gl_REPLACE_FCLOSE only if defined
8579         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
8580         is defined.  The close module doesn't depend on the fclose module
8581         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
8582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
8583         I reproduced the problem with "./gnulib-tool --test close sys_socket".
8584
8585 2011-07-24  Jim Meyering  <meyering@redhat.com>
8586
8587         test-select.h: avoid warning when using gcc's -Wmissing-declarations
8588         * tests/test-select.h (test_function): Declare as "static".
8589
8590 2011-07-24  Bruno Haible  <bruno@clisp.org>
8591
8592         doc: Mention the effects of AC_SYS_LARGEFILE.
8593         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
8594         on this function.
8595         * doc/posix-functions/aio_error.texi: Likewise.
8596         * doc/posix-functions/aio_fsync.texi: Likewise.
8597         * doc/posix-functions/aio_read.texi: Likewise.
8598         * doc/posix-functions/aio_return.texi: Likewise.
8599         * doc/posix-functions/aio_suspend.texi: Likewise.
8600         * doc/posix-functions/aio_write.texi: Likewise.
8601         * doc/posix-functions/fgetpos.texi: Likewise.
8602         * doc/posix-functions/fopen.texi: Likewise.
8603         * doc/posix-functions/freopen.texi: Likewise.
8604         * doc/posix-functions/fsetpos.texi: Likewise.
8605         * doc/posix-functions/fstatvfs.texi: Likewise.
8606         * doc/posix-functions/ftruncate.texi: Likewise.
8607         * doc/posix-functions/ftw.texi: Likewise.
8608         * doc/posix-functions/getrlimit.texi: Likewise.
8609         * doc/posix-functions/glob.texi: Likewise.
8610         * doc/posix-functions/lio_listio.texi: Likewise.
8611         * doc/posix-functions/lockf.texi: Likewise.
8612         * doc/posix-functions/mkstemp.texi: Likewise.
8613         * doc/posix-functions/mmap.texi: Likewise.
8614         * doc/posix-functions/nftw.texi: Likewise.
8615         * doc/posix-functions/openat.texi: Likewise.
8616         * doc/posix-functions/opendir.texi: Likewise.
8617         * doc/posix-functions/posix_fadvise.texi: Likewise.
8618         * doc/posix-functions/posix_fallocate.texi: Likewise.
8619         * doc/posix-functions/pread.texi: Likewise.
8620         * doc/posix-functions/pwrite.texi: Likewise.
8621         * doc/posix-functions/readdir.texi: Likewise.
8622         * doc/posix-functions/readdir_r.texi: Likewise.
8623         * doc/posix-functions/rewinddir.texi: Likewise.
8624         * doc/posix-functions/scandir.texi: Likewise.
8625         * doc/posix-functions/seekdir.texi: Likewise.
8626         * doc/posix-functions/setrlimit.texi: Likewise.
8627         * doc/posix-functions/statvfs.texi: Likewise.
8628         * doc/posix-functions/telldir.texi: Likewise.
8629         * doc/posix-functions/tmpfile.texi: Likewise.
8630         * doc/posix-functions/truncate.texi: Likewise.
8631         * doc/glibc-functions/fallocate.texi: Likewise.
8632         * doc/glibc-functions/fstatfs.texi: Likewise.
8633         * doc/glibc-functions/fts_children.texi: Likewise.
8634         * doc/glibc-functions/fts_read.texi: Likewise.
8635         * doc/glibc-functions/getdirentries.texi: Likewise.
8636         * doc/glibc-functions/mkostemp.texi: Likewise.
8637         * doc/glibc-functions/mkostemps.texi: Likewise.
8638         * doc/glibc-functions/mkstemps.texi: Likewise.
8639         * doc/glibc-functions/preadv.texi: Likewise.
8640         * doc/glibc-functions/pwritev.texi: Likewise.
8641         * doc/glibc-functions/sendfile.texi: Likewise.
8642         * doc/glibc-functions/statfs.texi: Likewise.
8643
8644 2011-07-24  Bruno Haible  <bruno@clisp.org>
8645
8646         doc: Fix typo.
8647         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
8648
8649 2011-07-24  Bruno Haible  <bruno@clisp.org>
8650
8651         doc: Mention fsusage.
8652         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
8653
8654 2011-07-24  Bruno Haible  <bruno@clisp.org>
8655
8656         doc: Mention new glibc headers and functions.
8657         * doc/glibc-headers/gshadow.texi: New file.
8658         * doc/glibc-functions/endsgent.texi: New file.
8659         * doc/glibc-functions/fgetsgent.texi: New file.
8660         * doc/glibc-functions/fgetsgent_r.texi: New file.
8661         * doc/glibc-functions/getsgent.texi: New file.
8662         * doc/glibc-functions/getsgent_r.texi: New file.
8663         * doc/glibc-functions/getsgnam.texi: New file.
8664         * doc/glibc-functions/getsgnam_r.texi: New file.
8665         * doc/glibc-functions/putsgent.texi: New file.
8666         * doc/glibc-functions/setsgent.texi: New file.
8667         * doc/glibc-functions/sgetsgent.texi: New file.
8668         * doc/glibc-functions/sgetsgent_r.texi: New file.
8669         * doc/glibc-functions/malloc_info.texi: New file.
8670         * doc/glibc-functions/preadv.texi: New file.
8671         * doc/glibc-functions/pwritev.texi: New file.
8672         * doc/glibc-functions/register_printf_modifier.texi: New file.
8673         * doc/glibc-functions/register_printf_specifier.texi: New file.
8674         * doc/glibc-functions/register_printf_type.texi: New file.
8675         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
8676         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
8677         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
8678         * doc/glibc-functions/pthread_getname_np.texi: New file.
8679         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
8680         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
8681         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
8682         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
8683         * doc/glibc-functions/pthread_setname_np.texi: New file.
8684         * doc/glibc-functions/pthread_sigqueue.texi: New file.
8685         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
8686         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
8687         * doc/glibc-functions/qsort_r.texi: New file.
8688         * doc/glibc-functions/quick_exit.texi: New file.
8689         * doc/glibc-functions/syncfs.texi: New file.
8690         * doc/gnulib.texi: Include them.
8691         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
8692         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
8693         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
8694         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
8695         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
8696         * doc/glibc-functions/execvpe.texi: Likewise.
8697
8698 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8699
8700         ftell: don't include <unistd.h>
8701         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
8702         guaranteed to define off_t, and the ftell module depends on the
8703         stdio module.
8704
8705         ftell: do not assume wraparound signed arithmetic
8706         * lib/ftell.c: Include <limits.h>.
8707         (ftell): Don't assume wraparound signed arithmetic.
8708
8709 2011-07-24  Bruno Haible  <bruno@clisp.org>
8710
8711         close: No longer depend on module 'fclose'.
8712         * modules/close (Depends-on): Remove fclose.
8713         * NEWS: Mention the change.
8714         Suggested by Sam Steingold <sds@gnu.org>.
8715
8716 2011-07-24  Bruno Haible  <bruno@clisp.org>
8717
8718         fsusage: Enable large volume support on AIX >= 5.2.
8719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
8720         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
8721         instead of STAT_STATVFS.
8722         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
8723
8724         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
8725         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
8726         f_blocks field only on MacOS X.
8727
8728         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
8729         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
8730         * modules/fsusage (Depends-on): Add largefile.
8731
8732 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
8733
8734         * README: Modernize discussion of signed integers.
8735         Assuming overflow wraparound is no longer safe.
8736         Mention ones' complement and signed magnitude.
8737
8738 2011-07-22  Bruno Haible  <bruno@clisp.org>
8739
8740         select tests, pselect tests: Refactor.
8741         * tests/test-select.h: New file, extracted from tests/test-select.c.
8742         (select_fn): New type.
8743         (test, do_select, do_select_nowait, do_select_wait, test_tty,
8744         test_connect_first, test_accept_first, test_pair, test_socket_pair,
8745         test_pipe): Add my_select argument.
8746         (test_function): Renamed from main. Add my_select argument.
8747         * tests/test-select.c: Move most code to tests/test-select.h. Include
8748         test-select.h.
8749         * modules/select-tests (Files): Add tests/test-select.h.
8750         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
8751         (my_select, main): New functions.
8752         * modules/pselect-tests (Files): Add tests/test-select.h,
8753         tests/macros.h, tests/signature.h.
8754         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
8755         (configure.ac): Check for <sys/wait.h>.
8756
8757 2011-07-22  Bruno Haible  <bruno@clisp.org>
8758
8759         sys_select tests: Check the signature of FD_*.
8760         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
8761         signature tests from here...
8762         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
8763         here.
8764         * modules/sys_select-tests (Files): Add tests/signature.h.
8765
8766 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
8767
8768         largefile: new module, replacing large-inode
8769         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
8770         * MODULES.html.sh: Add largefile, remove large-inode.
8771         * modules/largefile, m4/largefile.m4: New files.
8772         * modules/large-inode, m4/large-inode.m4: Remove.
8773
8774         fsusage: port to MacOS X 10.7 with 4 TiB file systems
8775         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
8776         implementations that use only 32 bits to count blocks.
8777         On typical hosts with 1024-byte blocks, this fails with file
8778         systems as small as 4 TiB.  Problem reported by Herb Wartens
8779         <http://debbugs.gnu.org/9140> and this should also fix a similar
8780         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
8781
8782         large-inode: New module
8783         * MODULES.html.sh: Add it.
8784         * modules/large-inode, m4/large-inode.m4: New files.
8785
8786         extensions: Enable extensions on MacOS X 10.5 and later.
8787         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
8788
8789 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
8790
8791         file-has-acl: use acl_extended_file_nofollow if available
8792         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
8793         (acl_extended_file): New macro.
8794         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
8795         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
8796
8797 2011-07-21  Bruno Haible  <bruno@clisp.org>
8798
8799         Declare system functions in a way that works with C++.
8800         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
8801         declare fdopendir as extern "C".
8802         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
8803         declare frexpl as extern "C".
8804         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
8805         declare gai_strerror as extern "C".
8806         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
8807         programs, declare gai_strerror as extern "C".
8808         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
8809         declare getlogin_r as extern "C".
8810         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
8811         as extern "C".
8812         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
8813         declare ldexpl as extern "C".
8814         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
8815         as extern "C".
8816         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
8817         program, declare getmntinfo as extern "C".
8818         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
8819         stpncpy as extern "C".
8820         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
8821         program, declare __xpg_strerror_r as extern "C".
8822         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
8823         strndup as extern "C".
8824         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
8825         declare memset and bzero as extern "C".
8826         Reported by Sam Steingold <sds@gnu.org>.
8827
8828 2011-07-12  Jim Meyering  <meyering@redhat.com>
8829
8830         maint.mk: prohibit inclusion of "verify.h" without use
8831         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
8832
8833 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8834
8835         timer-time: A new module to check for timer_settime()
8836         * m4/timer_time.m4: Check for the posix function.
8837         * modules/timer-time: Add the new module.
8838         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
8839         Mention it.
8840
8841 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
8842             Bruno Haible  <bruno@clisp.org>
8843
8844         pthread_sigmask: assume POSIX threads if --avoid=threadlib
8845         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
8846         not defined, assume POSIX threads and look for pthread_sigmask in
8847         $LIBS, without changing $CPPFLAGS.
8848
8849 2011-07-19  Bruno Haible  <bruno@clisp.org>
8850
8851         strstr: Update cross-compilation guess.
8852         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
8853         CPUs, guess no, in view of glibc
8854         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
8855         Suggested by Eric Blake. Reported by Reuben Thomas.
8856
8857 2011-07-19  Pádraig Brady  <P@draigBrady.com>
8858
8859         getopt-gnu: suppress core dumps from detection code
8860         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
8861         to suppress core dumps that may well occur on glibc systems.
8862         * modules/getopt-gnu: Depend on nocrash.
8863
8864 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8865
8866         pthread_sigmask: ensure usleep is declared
8867         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
8868         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
8869
8870 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
8871
8872         doc: Document NonStop portability issues.
8873         * doc/posix-functions/sigaction.texi (sigaction):
8874         * doc/posix-headers/signal.texi (signal.h):
8875         Document NonStop.  See Joachim Schmitz in
8876         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
8877
8878 2011-07-15  Bruno Haible  <bruno@clisp.org>
8879
8880         ffsl, ffsll: Avoid unportable behaviour.
8881         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
8882
8883 2011-07-15  Bruno Haible  <bruno@clisp.org>
8884
8885         ffs: More tests.
8886         * tests/test-ffs.c (NBITS): New macro.
8887         (main): Add more tests.
8888         * tests/test-ffsl.c (NBITS): New macro.
8889         (main): Add more tests.
8890         * tests/test-ffsll.c (NBITS): New macro.
8891         (main): Add more tests.
8892
8893 2011-07-15  Eric Blake  <eblake@redhat.com>
8894
8895         ffsl, ffsll: new modules
8896         * modules/ffsl: New file.
8897         * modules/ffsll: Likewise.
8898         * m4/ffsl.m4: Likewise.
8899         * m4/ffsll.m4: Likewise.
8900         * lib/ffsl.c: Likewise.
8901         * lib/ffsl.h: Likewise.
8902         * lib/ffsll.c: Likewise.
8903         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
8904         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
8905         * modules/string (Makefile.am): Substitute witnesses.
8906         * lib/strings.in.h (ffsl, ffsll): Declare.
8907         * modules/ffsl-tests: New test file.
8908         * modules/ffsll-tests: Likewise.
8909         * tests/test-ffsl.c: Likewise.
8910         * tests/test-ffsll.c: Likewise.
8911         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8912         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
8913         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
8914
8915         ffs: fix m4 prerequisite
8916         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
8917
8918         ffs: avoid undefined behavior
8919         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
8920         * tests/test-ffs.c (naive, main): Avoid signed shifts.
8921         Reported by Bruno Haible.
8922
8923 2011-07-12  Bruno Haible  <bruno@clisp.org>
8924
8925         pthread_sigmask: Rely on module 'threadlib'.
8926         * modules/pthread_sigmask (Depends-on): Add threadlib.
8927         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
8928         is defined.
8929
8930 2011-07-12  Bruno Haible  <bruno@clisp.org>
8931
8932         regex: Depend on module 'strcase'.
8933         * modules/regex (Depends-on): Add strcase, for strcasecmp().
8934
8935 2011-07-12  Jim Meyering  <meyering@redhat.com>
8936
8937         warn-on-use: fix typo in file name
8938         * modules/snippet/warn-on-use (Files): Correct file name:
8939         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
8940
8941 2011-07-12  Bruno Haible  <bruno@clisp.org>
8942
8943         strings: Document module.
8944         * doc/posix-headers/strings.texi: Mention module 'strings'.
8945
8946 2011-07-12  Bruno Haible  <bruno@clisp.org>
8947
8948         Rename module '_Noreturn' to 'snippet/_Noreturn'.
8949         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
8950         (Files, Makefile.am): Update.
8951         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
8952         * modules/stdlib (Depends-on): Update.
8953
8954 2011-07-12  Bruno Haible  <bruno@clisp.org>
8955
8956         * NEWS: Mention the changes.
8957
8958         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
8959         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
8960         (Files, Makefile.am): Update.
8961         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
8962         * modules/arpa_inet (Depends-on): Update.
8963         * modules/ctype (Depends-on): Update.
8964         * modules/dirent (Depends-on): Update.
8965         * modules/fcntl-h (Depends-on): Update.
8966         * modules/glob (Depends-on): Update.
8967         * modules/iconv-h (Depends-on): Update.
8968         * modules/inttypes-incomplete (Depends-on): Update.
8969         * modules/langinfo (Depends-on): Update.
8970         * modules/locale (Depends-on): Update.
8971         * modules/math (Depends-on): Update.
8972         * modules/netdb (Depends-on): Update.
8973         * modules/poll-h (Depends-on): Update.
8974         * modules/pty (Depends-on): Update.
8975         * modules/search (Depends-on): Update.
8976         * modules/signal (Depends-on): Update.
8977         * modules/spawn (Depends-on): Update.
8978         * modules/stdio (Depends-on): Update.
8979         * modules/stdlib (Depends-on): Update.
8980         * modules/string (Depends-on): Update.
8981         * modules/strings (Depends-on): Update.
8982         * modules/sys_file (Depends-on): Update.
8983         * modules/sys_ioctl (Depends-on): Update.
8984         * modules/sys_select (Depends-on): Update.
8985         * modules/sys_socket (Depends-on): Update.
8986         * modules/sys_stat (Depends-on): Update.
8987         * modules/sys_time (Depends-on): Update.
8988         * modules/sys_times (Depends-on): Update.
8989         * modules/sys_utsname (Depends-on): Update.
8990         * modules/sys_wait (Depends-on): Update.
8991         * modules/termios (Depends-on): Update.
8992         * modules/time (Depends-on): Update.
8993         * modules/unistd (Depends-on): Update.
8994         * modules/wchar (Depends-on): Update.
8995         * modules/wctype-h (Depends-on): Update.
8996         * MODULES.html.sh (Support for building libraries and executables):
8997         Update.
8998
8999         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9000         * modules/snippet/unused-parameter: Renamed from
9001         modules/unused-parameter.
9002         (Files, Makefile.am): Update.
9003         * build-aux/snippet/unused-parameter.h: Renamed from
9004         build-aux/unused-parameter.h.
9005         * modules/selinux-h (Depends-on): Update.
9006         * modules/unistr/base (Depends-on): Update.
9007         * MODULES.html.sh (Core language properties): Update.
9008
9009         Rename module 'link-warning' to 'snippet/link-warning'.
9010         * modules/snippet/link-warning: Renamed from modules/link-warning.
9011         (Files, Makefile.am): Update.
9012         * build-aux/snippet/link-warning.h: Renamed from
9013         build-aux/link-warning.h.
9014         * MODULES.html.sh (Support for building libraries and executables):
9015         Update.
9016
9017         Rename module 'c++defs' to 'snippet/c++defs'.
9018         * modules/snippet/c++defs: Renamed from modules/c++defs.
9019         (Files, Makefile.am): Update.
9020         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9021         * modules/arpa_inet (Depends-on): Update.
9022         * modules/ctype (Depends-on): Update.
9023         * modules/dirent (Depends-on): Update.
9024         * modules/fcntl-h (Depends-on): Update.
9025         * modules/glob (Depends-on): Update.
9026         * modules/iconv-h (Depends-on): Update.
9027         * modules/langinfo (Depends-on): Update.
9028         * modules/locale (Depends-on): Update.
9029         * modules/math (Depends-on): Update.
9030         * modules/netdb (Depends-on): Update.
9031         * modules/poll-h (Depends-on): Update.
9032         * modules/pty (Depends-on): Update.
9033         * modules/search (Depends-on): Update.
9034         * modules/signal (Depends-on): Update.
9035         * modules/spawn (Depends-on): Update.
9036         * modules/stdio (Depends-on): Update.
9037         * modules/stdlib (Depends-on): Update.
9038         * modules/string (Depends-on): Update.
9039         * modules/strings (Depends-on): Update.
9040         * modules/sys_ioctl (Depends-on): Update.
9041         * modules/sys_select (Depends-on): Update.
9042         * modules/sys_socket (Depends-on): Update.
9043         * modules/sys_stat (Depends-on): Update.
9044         * modules/sys_time (Depends-on): Update.
9045         * modules/sys_wait (Depends-on): Update.
9046         * modules/termios (Depends-on): Update.
9047         * modules/time (Depends-on): Update.
9048         * modules/unistd (Depends-on): Update.
9049         * modules/wchar (Depends-on): Update.
9050         * modules/wctype-h (Depends-on): Update.
9051
9052         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9053         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9054         (Files, Makefile.am): Update.
9055         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9056         * modules/argv-iter (Depends-on): Update.
9057         * modules/arpa_inet (Depends-on): Update.
9058         * modules/dirent (Depends-on): Update.
9059         * modules/fcntl-h (Depends-on): Update.
9060         * modules/fnmatch (Depends-on): Update.
9061         * modules/getopt-posix (Depends-on): Update.
9062         * modules/glob (Depends-on): Update.
9063         * modules/iconv-h (Depends-on): Update.
9064         * modules/inttypes-incomplete (Depends-on): Update.
9065         * modules/locale (Depends-on): Update.
9066         * modules/math (Depends-on): Update.
9067         * modules/netdb (Depends-on): Update.
9068         * modules/search (Depends-on): Update.
9069         * modules/signal (Depends-on): Update.
9070         * modules/spawn (Depends-on): Update.
9071         * modules/stdio (Depends-on): Update.
9072         * modules/stdlib (Depends-on): Update.
9073         * modules/string (Depends-on): Update.
9074         * modules/strings (Depends-on): Update.
9075         * modules/sys_socket (Depends-on): Update.
9076         * modules/sys_stat (Depends-on): Update.
9077         * modules/sys_time (Depends-on): Update.
9078         * modules/sys_times (Depends-on): Update.
9079         * modules/sys_utsname (Depends-on): Update.
9080         * modules/time (Depends-on): Update.
9081         * modules/unistd (Depends-on): Update.
9082         * modules/wchar (Depends-on): Update.
9083         * MODULES.html.sh (Support for building libraries and executables):
9084         Update.
9085
9086 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9087
9088         Improvements on _Noreturn and related modules.
9089
9090         modules/_Exit-tests: test _Noreturn too
9091         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9092         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9093         (main): Use them.
9094
9095         stdnoreturn, stdnoreturn-tests: remove modules
9096         They're not needed here and a bit premature for use elsewhere.  See
9097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9098         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9099         * tests/test-stdnoreturn.c: Remove files.
9100         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9101         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9102         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9103         and using noreturn.
9104         * modules/openat, modules/sigpipe-die, modules/xalloc:
9105         * modules/xmemdup0, modules/xstrtol:
9106         Remove dependency on stdnoreturn.
9107
9108         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9109         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9110         Reparenthesize to avoid GCC warning.
9111         Support Microsoft's syntax.
9112         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9113
9114         _Noreturn-tests: remove module
9115         * modules/_Noreturn-tests: Remove.
9116         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9117         * tests/test-_Noreturn.c: Remove.
9118         * tests/test-stdnoreturn.c: Merge from the old
9119         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9120
9121 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9122
9123         _Noreturn, stdnoreturn, and related modules.
9124
9125         * top/maint.mk: Adjust to new noreturn support.
9126         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9127         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9128
9129         xalloc: use stdnoreturn.h
9130         * lib/xalloc.h: Include <stdnoreturn.h>.
9131         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9132         * modules/xalloc (Depends-on): Add stdnoreturn.
9133
9134         xstrtol: use stdnoreturn.h
9135         * lib/xstrtol.h: Include <stdnoreturn.h>.
9136         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9137         * modules/xstrtol (Depends-on): Add stdnoreturn.
9138
9139         xmemdup0: use stdnoreturn.h
9140         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9141         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9142         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9143
9144         sigpipe-die: use stdnoreturn.h
9145         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9146         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9147         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9148
9149         openat: use stdnoreturn.h
9150         * lib/openat.h: Include <stdnoreturn.h>.
9151         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9152         * modules/openat (Depends-on): Add stdnoreturn.
9153
9154         * lib/openat-die.c (openat_save_fail): Modernize comment.
9155
9156         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9157
9158         * lib/glthread/thread.h: Modernize comment.
9159
9160         obstack: use _Noreturn
9161         * lib/obstack.c (__attribute__): Remove macro.
9162         (print_and_abort): Use _Noreturn.
9163
9164         c-stack: use _Noreturn
9165         * lib/c-stack.c (die, overflow_handler, segv_handler):
9166         Use _Noreturn rather than __attribute__((noreturn)).
9167
9168         argmatch-tests, exclude_tests: use _Noreturn
9169         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9170         Remove.
9171         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9172
9173         stdlib: use _Noreturn
9174         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9175         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9176         * modules/stdlib (Depends-on): Add _Noreturn.
9177         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9178
9179         stdnoreturn-tests: new module
9180         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9181
9182         stdnoreturn: new module
9183         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9184         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9185
9186         _Noreturn-tests: new module
9187         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9188
9189         _Noreturn: new module
9190         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9191         New section, mentioning it.
9192         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9193
9194         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9195
9196 2011-07-11  Eric Blake  <eblake@redhat.com>
9197
9198         ffs: new module
9199         * modules/ffs: New file.
9200         * m4/ffs.m4: Likewise.
9201         * lib/ffs.c: Likewise.
9202         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9203         * modules/strings (Makefile.am): Substitute witness.
9204         (Depends-on): Add c++defs.
9205         * lib/strings.in.h (ffs): Declare.
9206         * modules/ffs-tests: New test file.
9207         * tests/test-ffs.c: Test new module.
9208         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9209         * doc/posix-functions/ffs.texi (ffs): Likewise.
9210
9211         regex: avoid compiler warning
9212         * lib/regex.c (includes): Include <strings.h>, for use of
9213         strcasecmp in regcomp.c.
9214         Reported by Joachim Schmitz.
9215
9216 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9217
9218         stdint: respect system's intmax_t if INTMAX_MAX
9219         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9220         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9221         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9222         long but int64_t is long long, and where we will clash with the
9223         system intmax_t if we override it.  See
9224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9225         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9226         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9227         similarly for UINTMAX_C.
9228
9229 2011-07-08  Bruno Haible  <bruno@clisp.org>
9230
9231         pthread_sigmask tests: Avoid a compiler warning.
9232         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9233         non-zero.
9234
9235         sigprocmask tests: A better way to avoid a compiler warning.
9236         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9237         (main): Complain if system() returns non-zero.
9238         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9239
9240 2011-07-08  Bruno Haible  <bruno@clisp.org>
9241
9242         pthread_sigmask: Work around IRIX bug.
9243         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9244         bug.
9245         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9246         there may be unblocked pending signals.
9247         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9248
9249 2011-07-08  Bruno Haible  <bruno@clisp.org>
9250
9251         pthread_sigmask: Work around Cygwin bug.
9252         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9253         bug.
9254         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9255         the system's pthread_sigmask function.
9256         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9257
9258 2011-07-08  Bruno Haible  <bruno@clisp.org>
9259
9260         pthread_sigmask: Work around bug in single-threaded implementation.
9261         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9262         FreeBSD, HP-UX, Solaris bug.
9263         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9264         * lib/pthread_sigmask.c: Include <stddef.h>.
9265         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9266         the system's pthread_sigmask function.
9267         * modules/pthread_sigmask (configure.ac): Invoke
9268         gl_PREREQ_PTHREAD_SIGMASK.
9269         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9270         HP-UX, Solaris.
9271
9272 2011-07-08  Eric Blake  <eblake@redhat.com>
9273
9274         test-sigprocmask: avoid compiler warning
9275         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9276         * tests/test-sigprocmask.c (main): Use it to silence warning.
9277         Reported by Jim Meyering.
9278
9279         test-snprintf: avoid compiler warning
9280         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9281         * tests/test-vsnprintf.c (main): Likewise.
9282         Reported by Jim Meyering.
9283
9284 2011-07-08  Bruno Haible  <bruno@clisp.org>
9285
9286         Tests for module 'pthread_sigmask'.
9287         * modules/pthread_sigmask-tests: New file.
9288         * tests/test-pthread_sigmask1.c: New file, based on
9289         tests/test-sigprocmask.c.
9290         * tests/test-pthread_sigmask2.c: New file.
9291
9292 2011-07-08  Jim Meyering  <meyering@redhat.com>
9293
9294         test-getopt.h: avoid warning about an unused variable
9295         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9296
9297 2011-07-07  Jim Meyering  <meyering@redhat.com>
9298
9299         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9300         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9301         now that it no longer contains leading TABs.
9302         Remove unused "url=FIXME" statement.
9303
9304 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9305
9306         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9307         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9308         When gl_THREADLIB is not in use, assume that the POSIX sematics
9309         are desired.  This is better for Emacs, which uses POSIX semantics
9310         on GNUish and/or POSIXish platforms, and does not use threads at
9311         all otherwise.
9312
9313         pthread_sigmask: fix typo when testing for libraries
9314         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9315         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9316
9317 2011-07-08  Eric Blake  <eblake@redhat.com>
9318
9319         fts: introduce FTS_NOATIME
9320         * lib/fts_.h (FTS_NOATIME): New bit flag.
9321         (FTS_OPTIONMASK): Adjust.
9322         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9323         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9324
9325 2011-07-08  Bruno Haible  <bruno@clisp.org>
9326
9327         Tests for module 'thread'.
9328         * modules/thread-tests: New file.
9329         * tests/test-thread_self.c: New file.
9330         * tests/test-thread_create.cc: New file.
9331
9332 2011-07-08  Bruno Haible  <bruno@clisp.org>
9333
9334         thread: Avoid gcc warnings when using gl_thread_self().
9335         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
9336         'void *'.
9337         (gl_thread_self_pointer): Update.
9338
9339 2011-07-07  Bruno Haible  <bruno@clisp.org>
9340
9341         signal-c++-tests: Check declaration of pthread_sigmask.
9342         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
9343         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
9344         $(LIB_PTHREAD_SIGMASK).
9345
9346 2011-07-07  Bruno Haible  <bruno@clisp.org>
9347
9348         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
9349         * lib/signal.in.h (pthread_sigmask): Override if
9350         REPLACE_PTHREAD_SIGMASK is 1.
9351         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9352         REPLACE_PTHREAD_SIGMASK.
9353         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
9354         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
9355         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
9356         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9357         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
9358
9359 2011-07-07  Bruno Haible  <bruno@clisp.org>
9360
9361         pthread_sigmask: Ensure declaration in <signal.h>.
9362         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
9363         include <pthread.h>.
9364         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
9365         problem.
9366
9367 2011-07-07  Bruno Haible  <bruno@clisp.org>
9368
9369         pthread_sigmask: Document the module.
9370         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
9371
9372 2011-07-07  Bruno Haible  <bruno@clisp.org>
9373
9374         pthread_sigmask: Follow gnulib conventions.
9375         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
9376         gl_PTHREAD_SIGMASK.
9377         * modules/pthread_sigmask (configure.ac): Update.
9378
9379 2011-07-07  Bruno Haible  <bruno@clisp.org>
9380
9381         pthread_sigmask: Make declaration C++ safe.
9382         * lib/signal.in.h: In two special conditions, just do an #include_next.
9383         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9384         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
9385         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
9386         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
9387         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
9388         not REPLACE_PTHREAD_MASK.
9389         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
9390         not REPLACE_PTHREAD_MASK.
9391         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
9392
9393 2011-07-07  Bruno Haible  <bruno@clisp.org>
9394
9395         pthread_sigmask: Fix return value.
9396         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
9397         * lib/pthread_sigmask.c: New file.
9398         * modules/pthread_sigmask (Files): Add it.
9399         (configure.ac): Invoke AC_LIBOBJ.
9400
9401 2011-07-07  Eric Blake  <eblake@redhat.com>
9402
9403         getopt: more portable argv creation
9404         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
9405         const, use char arrays rather than strings.
9406         Suggested by Paul Eggert.
9407
9408 2011-07-07  Bruno Haible  <bruno@clisp.org>
9409
9410         Tests for module 'sigprocmask'.
9411         * modules/sigprocmask-tests: New file.
9412         * tests/test-sigprocmask.c: New file.
9413
9414 2011-07-07  Bruno Haible  <bruno@clisp.org>
9415
9416         float tests: Tweak.
9417         * tests/test-float.c (main): Tweak skip message.
9418
9419 2011-07-07  Eric Blake  <eblake@redhat.com>
9420
9421         getopt: avoid compiler warning during configure
9422         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
9423         assigning string literals to non-const pointer.
9424
9425         getopt-gnu: avoid crash in glibc getopt
9426         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
9427         * tests/test-getopt.h (test_getopt): Enhance test.
9428         * tests/test-getopt_long.h (test_getopt_long): Likewise.
9429         * doc/posix-functions/getopt.texi (getopt): Document it.
9430         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9431         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9432         Likewise.
9433
9434 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
9435
9436         getopt: handle W; without long options in getopt [BZ #12922]
9437         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
9438         but no long options are defined, just return 'W'.
9439
9440 2011-07-07  Bruno Haible  <bruno@clisp.org>
9441
9442         Avoid literal tabs.
9443         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
9444         variable containing a tab instead of a literal tab.
9445         Reported by Jim Meyering.
9446
9447 2011-07-07  Bruno Haible  <bruno@clisp.org>
9448
9449         Comments.
9450         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
9451
9452 2011-07-06  Bruno Haible  <bruno@clisp.org>
9453
9454         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
9455         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
9456         <winsock2.h>.
9457         (rpl_fd_isset, FD_ISSET): New definitions, copied from
9458         lib/sys_socket.in.h.
9459         (close, gethostname): Hide declarations from <winsock2.h>.
9460         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9461         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
9462         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
9463         (select): Don't override if gnulib's <sys/select.h> was already
9464         included.
9465         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
9466         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
9467         setsockopt, shutdown, select): Tweak indentation.
9468
9469 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9470
9471         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
9472         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
9473         in an application that does not use the sys_select module.
9474
9475 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
9476
9477         poll: do not return 0 on timeout=-1
9478         * lib/poll.c: Loop with yield if no events occured
9479
9480 2011-07-06  Eric Blake  <eblake@redhat.com>
9481
9482         pthread_sigmask: always replace when not using pthread
9483         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
9484         replacement when using some threading other than pthread.  Fix
9485         logic bug.
9486
9487 2011-07-06  Bruno Haible  <bruno@clisp.org>
9488
9489         Comments.
9490         * m4/printf.m4: Update comments about mingw.
9491
9492 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
9493
9494         sys_select: define sigset_t more portably
9495         * lib/sys_select.in.h: Always include <sys/types.h>, since
9496         we now need sigset_t and mingw defines it there.
9497         Include <signal.h> before split inclusion guard, to avoid
9498         mishaps on Solaris, whose <signal.h> eventually includes us.
9499         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
9500         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
9501         which come from ...
9502         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
9503         gl_CHECK_TYPE_SIGSET_T.
9504         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
9505         does the real work.
9506         * modules/sys_select (Depends-on): Add 'signal'.
9507
9508         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
9509         Suggested by Bruno Haible.
9510
9511         pselect: Use pthread_sigmask, not sigprocmask.
9512         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
9513         multithreaded apps better than sigprocmask does.
9514         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
9515         sigprocmask directly.
9516
9517 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
9518
9519         * lib/pselect.c (pselect): Use plain name, without "rpl_".
9520         Don't #undef,  since we don't need any underlying pselect.
9521         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
9522         (Depends-on): Add select.
9523         (Link): Add $(LIBSOCKET).
9524         These changes suggested by Bruno Haible.
9525
9526         pselect: document better
9527         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9528         * doc/posix-functions/pselect.texi (pselect): Document new module.
9529
9530         pthread_sigmask: new module
9531         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
9532         * doc/posix-functions/pthread_sigmask.texi: Document new module.
9533         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
9534         This is done only as a macro; I don't know how well that'll
9535         work for C++.  Move <sys/types.h> include before the include_next,
9536         to avoid mishap on Solaris.
9537         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
9538         * modules/signal (Makefile.am): Substitute the check's results.
9539         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
9540
9541         test-pselect: new module
9542         * modules/pselect-tests, tests/test-pselect.c: New files.
9543         * tests/test-select.c, tests/test-sys_select-c++.cc:
9544         If TEST_PSELECT is defined, test pselect instead of testing select.
9545
9546         * tests/test-sys_select.c (sigset_t): Test for it, too.
9547         Suggested by Bruno Haible.
9548
9549 2011-07-05  Eric Blake  <eblake@redhat.com>
9550
9551         snprintf: guarantee %1$d, for libintl
9552         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
9553         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
9554         * doc/posix-functions/snprintf.texi (snprintf): Update.
9555         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9556         * tests/test-snprintf.c (main): Enhance test.
9557         * tests/test-vsnprintf.c (main): Likewise.
9558
9559 2011-07-05  Jim Meyering  <meyering@redhat.com>
9560
9561         maint: exempt stdio-read.c and stdio-write.c from the cppi check
9562         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
9563         per Bruno's request, to accommodate this idiom (no space after "#")
9564         even when the function is inside an #if block:
9565         char *
9566         gets (char *s)
9567         #undef gets
9568         {
9569           ...
9570         }
9571
9572 2011-07-04  Jim Meyering  <meyering@redhat.com>
9573
9574         maint: indent with spaces, not TABs, and add a rule to check this
9575         * tests/test-userspec.c: Indent with spaces, not TABs.
9576         * tests/test-argp.c: Likewise.
9577         * tests/test-c-stack2.sh: Likewise.
9578         * tests/test-parse-duration.sh: Likewise
9579         * m4/strtod.m4: Likewise.
9580         * m4/alloca.m4: Likewise.
9581         * m4/pselect.m4: Likewise.
9582         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
9583
9584 2011-07-03  Jim Meyering  <meyering@redhat.com>
9585
9586         maint.mk: correct omissions in prohibit_argmatch_without_use check
9587         This rule would mistakenly report that argmatch.h is included without
9588         use even when both the argmatch and invalid_arg macro were used.
9589         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
9590         of argmatch and invalid_arg.
9591
9592 2011-07-03  Bruno Haible  <bruno@clisp.org>
9593
9594         Comments about EINTR.
9595         * lib/safe-read.h: Explain the purpose of this module.
9596         * lib/safe-write.h: Likewise.
9597         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
9598         module.
9599         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
9600         module.
9601         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9602
9603 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
9604
9605         xnanosleep: Rewrite to use new dtotimespec module.
9606         It has the conversion code that used to be in xnanosleep.
9607         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
9608         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
9609         (TIME_T_MAX): Remove.
9610         (xnanosleep): Rewrite in terms of dtotimespec.
9611         * modules/xnanosleep (Depends-on): Add dtotimespec.
9612         Remove intprops, stdbool.
9613
9614         timespec-add, timespec-sub: new modules
9615         * lib/timespec.h (timespec_add, timespec_sub): New decls.
9616         * lib/timespec-add.c, lib/timespec-sub.c:
9617         * modules/timespec-add, modules/timespec-sub: New files.
9618
9619         dtotimespec: new module
9620         * lib/timespec.h (dtotimespec): New decl.
9621         * lib/dtotimespec.c, modules/dtotimespec: New files.
9622
9623         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
9624
9625         pselect: new module
9626         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
9627         (pselect): New decls.
9628         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
9629         since the standard pselect decl uses 'restrict'.
9630         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
9631         HAVE_PSELECT, REPLACE_PSELECT.
9632         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
9633         HAVE_PSELECT, REPLACE_PSELECT.
9634         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
9635
9636         sys_select: don't depend on sys_socket
9637         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
9638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
9639         This fix works on GNU and GNU-like platforms, but has not been tested
9640         on native Windows.
9641         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
9642         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
9643         gl_HEADER_SYS_SOCKET.
9644         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
9645         gl_PREREQ_SYS_H_WINSOCK2.
9646
9647 2011-06-29  Eric Blake  <eblake@redhat.com>
9648
9649         pipe2: fix C89 compile problem
9650         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
9651         Reported by Bruno Haible.
9652
9653         pipe, pipe2: don't corrupt fd on error
9654         * lib/pipe.c (pipe): Leave fd unchanged on error.
9655         * lib/pipe2.c (pipe2): Likewise.
9656         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
9657         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9658
9659 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
9660
9661         mmap-anon: do not use regular expressions inadvertently
9662         * m4/mmap-anon.m4: Remove trailing period from strings sought
9663         in the output.
9664
9665 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
9666
9667         nanosleep: fix integer overflow problem
9668         * lib/nanosleep.c (my_usleep): Don't assume signed integer
9669         arithmetic wraps around on overflow.
9670
9671         nanosleep: simplify carrying
9672         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
9673         first call to the underyling nanosleep, not for the last one.
9674         This doesn't fix any bugs, but it simplifies the computation of
9675         the remaining delay.  Found while auditing integer overflow issues.
9676
9677         dup2: remove test for existence of fcntl
9678         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
9679         "#if HAVE_FCNTL", in the configure-time test program.
9680         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
9681         and therefore speeds up "configure" a bit.  Found while
9682         adding the dup2 module to Emacs.
9683
9684 2011-06-24  Eric Blake  <eblake@redhat.com>
9685
9686         maint.mk: enhance useless header checks
9687         * top/maint.mk (_sc_header_without_use): Check both include
9688         styles.
9689         (sc_prohibit_assert_without_use)
9690         (sc_prohibit_close_stream_without_use)
9691         (sc_prohibit_getopt_without_use)
9692         (sc_prohibit_quotearg_without_use)
9693         (sc_prohibit_quote_without_use)
9694         (sc_prohibit_long_options_without_use)
9695         (sc_prohibit_inttostr_without_use)
9696         (sc_prohibit_ignore_value_without_use)
9697         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
9698         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
9699         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
9700         (sc_prohibit_hash_pjw_without_use)
9701         (sc_prohibit_safe_read_without_use)
9702         (sc_prohibit_argmatch_without_use)
9703         (sc_prohibit_canonicalize_without_use)
9704         (sc_prohibit_root_dev_ino_without_use)
9705         (sc_prohibit_openat_without_use)
9706         (sc_prohibit_c_ctype_without_use)
9707         (sc_prohibit_signal_without_use)
9708         (sc_prohibit_stdio--_without_use)
9709         (sc_prohibit_stdio-safer_without_use)
9710         (sc_prohibit_strings_without_use)
9711         (sc_prohibit_intprops_without_use)
9712         (sc_prohibit_stddef_without_use)
9713         (sc_prohibit_xfreopen_without_use): Update clients.
9714
9715 2011-06-24  Jim Meyering  <meyering@redhat.com>
9716
9717         syntax-check: keep one maint.mk rule in sync with its header
9718         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
9719         of the bug Eric has just fixed, with today's commit 25e4c2ec.
9720         I prefer to avoid temporary files here, so use <(...), but that
9721         is not supported by /bin/sh, so...
9722         (SHELL): Define to /bin/bash.
9723
9724 2011-06-24  Eric Blake  <eblake@redhat.com>
9725
9726         maint.mk: update sc_prohibit_intprops_without_use
9727         * top/maint.mk (_intprops_names): Match recent changes.
9728
9729 2011-06-24  Bruno Haible  <bruno@clisp.org>
9730
9731         strerror-override: No-op tweak.
9732         * lib/strerror-override.h (strerror_override): Reorder conditions,
9733         for consistency with lib/strerror-override.c.
9734
9735 2011-06-23  Eric Blake  <eblake@redhat.com>
9736
9737         maint.mk: test further PATH_MAX issues
9738         * top/maint.mk (sc_prohibit_path_max_array): Rename...
9739         (sc_prohibit_path_max_allocation): ...and also test alloca.
9740         Suggested by Jim Meyering.
9741
9742 2011-06-22  Eric Blake  <eblake@redhat.com>
9743
9744         maint.mk: add syntax-check to avoid char[PATH_MAX]
9745         * top/maint.mk (sc_prohibit_path_max_array): New rule.
9746
9747         stat: be robust to PATH_MAX definition
9748         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
9749         * modules/stat (Depends-on): Add verify.
9750
9751         link: work around IRIX bug
9752         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
9753         * lib/link.c (rpl_link): Work around it.
9754         * tests/test-link.h (test_link): Enhance test.
9755         * doc/posix-functions/link.texi (link): Document the bug.
9756
9757         getopt: silence clang warning
9758         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
9759         dereference.
9760         Reported by Gustavo Martin Domato.
9761
9762 2011-06-22  Jim Meyering  <meyering@redhat.com>
9763
9764         bootstrap: do not insert a blank line into each .gitignore file
9765         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
9766
9767 2011-06-21  Eric Blake  <eblake@redhat.com>
9768
9769         perror: test for output mismatch
9770         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
9771         perror on IRIX.
9772
9773         strerror_r: fix OpenBSD behavior on out-of-range
9774         * lib/strerror_r.c (strerror_r): Always use maximal string.
9775         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
9776
9777         strerror_r: fix OpenBSD behavior on 0
9778         * lib/strerror-override.c (strerror_override): Also override 0
9779         when needed.
9780         * lib/strerror-override.h (strerror_override): Likewise.
9781         * lib/strerror.c (strerror): Simplify, now that 0 override is done
9782         earlier.
9783         * lib/strerror_r.c (strerror_r): Likewise.
9784         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
9785         behavior...
9786         (gl_FUNC_STRERROR_0): ...into new macro.
9787         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
9788         is overridden.
9789         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
9790         * modules/strerror-override (Files): Add strerror.m4.
9791         (configure.ac): Also provide override for 0 when needed.
9792         * doc/posix-functions/strerror.texi (strerror): Document this.
9793         * doc/posix-functions/perror.texi (perror): Likewise.
9794
9795         perror: adjust array size
9796         * modules/perror (Depends-on): Add strerror-override.
9797         * lib/perror.c (perror): Use it to avoid magic number.
9798
9799         strerror-override: reduce size
9800         * lib/strerror-override.c (strerror_override): Use fewer lines.
9801
9802 2011-06-20  Bruno Haible  <bruno@clisp.org>
9803
9804         pathmax: Ensure correct value for PATH_MAX on HP-UX.
9805         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
9806
9807 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9808
9809         alloca: port to compilers that can optimize like GCC 4.6.0
9810         * lib/alloca.c (find_stack_direction): New signature, taken from
9811         Autoconf git.  This works with GCC 4.6.0.  This code should never
9812         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
9813         be used with other compilers that optimize as well as GCC 4.6.0 does.
9814         (alloca): Adjust to new signature.
9815         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
9816         New macro, which patches Autoconf in a similar way.
9817
9818         c-stack: stop worrying about stack direction
9819         * lib/c-stack.c (find_stack_direction): Remove.
9820         (segv_handler): Don't worry about stack direction growth, as it's
9821         too much of a pain to configure this correctly, given how compilers
9822         are optimizing-away our stack-growth detection code.  Instead, assume
9823         that any access to just before or just after the stack is OK.
9824         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9825         Don't require AC_FUNC_ALLOCA; no longer needed.
9826
9827 2011-06-20  Eric Blake  <eblake@redhat.com>
9828
9829         test-stat: don't allocate PATH_MAX bytes
9830         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
9831         PATH_MAX-sized buffer.
9832         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
9833         * modules/stat-tests (Depends-on): Likewise.
9834         * tests/test-fstatat.c (includes): Drop pathmax.h.
9835         * tests/test-stat.c (includes): Likewise.
9836         Reported by Bruno Haible.
9837
9838 2011-06-20  Bruno Haible  <bruno@clisp.org>
9839
9840         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
9841         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
9842         * lib/float.c: New file.
9843         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
9844         REPLACE_FLOAT_LDBL.
9845         * modules/float (Files): Add lib/float.c.
9846         (configure.ac): Invoke AC_LIBOBJ.
9847         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
9848
9849 2011-06-20  Bruno Haible  <bruno@clisp.org>
9850
9851         Tests for module 'float'.
9852         * modules/float-tests: New file.
9853         * tests/test-float.c: New file.
9854
9855 2011-06-19  Bruno Haible  <bruno@clisp.org>
9856
9857         isinf: Coding style.
9858         * lib/isinf.c: Use GNU coding style.
9859
9860 2011-06-19  Bruno Haible  <bruno@clisp.org>
9861
9862         linkat test: Avoid test failure on AIX 7.1.
9863         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
9864         * tests/test-link.h (test_link): Likewise.
9865
9866 2011-06-19  Bruno Haible  <bruno@clisp.org>
9867
9868         pread test: Avoid test failure on OpenBSD 4.9.
9869         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
9870
9871 2011-06-19  Bruno Haible  <bruno@clisp.org>
9872
9873         sprintf-posix: Fix test failure on AIX 7.1.
9874         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
9875         * doc/posix-functions/dprintf.texi: Mention limited precision problem
9876         on AIX.
9877         * doc/posix-functions/fprintf.texi: Likewise.
9878         * doc/posix-functions/printf.texi: Likewise.
9879         * doc/posix-functions/snprintf.texi: Likewise.
9880         * doc/posix-functions/sprintf.texi: Likewise.
9881         * doc/posix-functions/vdprintf.texi: Likewise.
9882         * doc/posix-functions/vfprintf.texi: Likewise.
9883         * doc/posix-functions/vprintf.texi: Likewise.
9884         * doc/posix-functions/vsnprintf.texi: Likewise.
9885         * doc/posix-functions/vsprintf.texi: Likewise.
9886
9887 2011-06-19  Bruno Haible  <bruno@clisp.org>
9888
9889         roundl-ieee: Fix test failure on AIX 7.1.
9890         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
9891         * doc/posix-functions/roundl.texi: Mention problem with negative
9892         arguments.
9893
9894 2011-06-19  Bruno Haible  <bruno@clisp.org>
9895
9896         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9897         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
9898         * doc/posix-functions/round.texi: Mention problem with negative
9899         arguments.
9900         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
9901
9902 2011-06-19  Bruno Haible  <bruno@clisp.org>
9903
9904         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
9905         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
9906         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
9907         * doc/posix-functions/roundf.texi: Mention problem with negative
9908         arguments.
9909         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
9910
9911 2011-06-19  Bruno Haible  <bruno@clisp.org>
9912
9913         ceilf-ieee: Work around bug on MacOS X 10.5.
9914         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
9915
9916         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
9917         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
9918         IEEE compliant, avoid compiler optimizations.
9919         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
9920         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9921         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
9922         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9923         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9924         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9925         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9926         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9927         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9928         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9929
9930 2011-06-19  Bruno Haible  <bruno@clisp.org>
9931
9932         ceilf-ieee: Work around bug on AIX 7.1.
9933         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
9934         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
9935
9936 2011-06-19  Bruno Haible  <bruno@clisp.org>
9937
9938         ceil-ieee: Work around bug on AIX 7.1.
9939         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
9940         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
9941
9942 2011-06-18  Bruno Haible  <bruno@clisp.org>
9943
9944         fsync test: Avoid test failure on MacOS X and AIX.
9945         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
9946         EINVAL.
9947
9948 2011-06-18  Bruno Haible  <bruno@clisp.org>
9949
9950         openat, fdopendir tests: Fix link errors.
9951         * modules/openat-tests (Depends-on): Add progname.
9952         * modules/fdopendir-tests (Depends-on): Likewise.
9953         * tests/test-fchownat.c: Include progname.h.
9954         (main): Call set_program_name.
9955         * tests/test-fstatat.c: Include progname.h.
9956         (main): Call set_program_name.
9957         * tests/test-mkdirat.c: Include progname.h.
9958         (main): Call set_program_name.
9959         * tests/test-openat.c: Include progname.h.
9960         (main): Call set_program_name.
9961         * tests/test-unlinkat.c: Include progname.h.
9962         (main): Call set_program_name.
9963         * tests/test-fdopendir.c: Include progname.h.
9964         (main): Call set_program_name.
9965
9966 2011-06-18  Bruno Haible  <bruno@clisp.org>
9967
9968         Doc update.
9969         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9970         HP-UX.
9971         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9972
9973 2011-06-18  Bruno Haible  <bruno@clisp.org>
9974
9975         getcwd tests: Avoid compilation error on HP-UX 11.31.
9976         * modules/getcwd-tests (Depends-on): Add pathmax.
9977         * tests/test-getcwd.c: Include pathmax.h.
9978
9979 2011-06-18  Bruno Haible  <bruno@clisp.org>
9980
9981         isfinite, isinf: Fix link error on AIX 6 and 7.
9982         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9983         needed, also test the macro with a 'float' argument.
9984         * m4/isinf.m4 (gl_ISINF): Likewise.
9985
9986 2011-06-18  Bruno Haible  <bruno@clisp.org>
9987
9988         getloadavg: Don't clobber LIBS. Regression from previous commit.
9989         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9990         AC_CHECK_LIB from here...
9991         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9992         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9993         gl_func_getloadavg_done.
9994         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9995
9996 2011-06-18  Bruno Haible  <bruno@clisp.org>
9997
9998         clean-temp: Improve documentation.
9999         * lib/clean-temp.h: Explain better how to use this module.
10000         Reported by John Darrington <john@darrington.wattle.id.au>.
10001
10002 2011-06-17  Bruno Haible  <bruno@clisp.org>
10003
10004         pread, pwrite: Avoid cc warning on AIX.
10005         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10006         (pwrite): Likewise.
10007
10008 2011-06-17  Bruno Haible  <bruno@clisp.org>
10009
10010         spawn-pipe tests: Fix link error.
10011         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10012         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10013
10014 2011-06-17  Bruno Haible  <bruno@clisp.org>
10015
10016         Tests: Remove unnecessary dependency.
10017         * modules/canonicalize-tests (Depends-on): Remove progname.
10018         * modules/chown-tests (Depends-on): Likewise.
10019         * modules/dirname-tests (Depends-on): Likewise.
10020         * modules/fdopendir-tests (Depends-on): Likewise.
10021         * modules/fdutimensat-tests (Depends-on): Likewise.
10022         * modules/hash-tests (Depends-on): Likewise.
10023         * modules/lchown-tests (Depends-on): Likewise.
10024         * modules/linkat-tests (Depends-on): Likewise.
10025         * modules/renameat-tests (Depends-on): Likewise.
10026         * modules/spawn-pipe-tests (Depends-on): Likewise.
10027         * modules/utimensat-tests (Depends-on): Likewise.
10028
10029 2011-06-17  Bruno Haible  <bruno@clisp.org>
10030
10031         spawn-pipe tests: Fix link error.
10032         * tests/test-spawn-pipe-child.c: Undefine fflush.
10033
10034 2011-06-17  Bruno Haible  <bruno@clisp.org>
10035
10036         Fix tests link errors.
10037         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10038         * modules/chown-tests (Makefile.am): Don't link test-chown with
10039         LIBINTL.
10040         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10041         LIBINTL.
10042         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10043         LIBINTL.
10044         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10045         LIBINTL.
10046
10047 2011-06-16  Bruno Haible  <bruno@clisp.org>
10048
10049         crypto/gc-sha1: Fix recent regression.
10050         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10051         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10052
10053         crypto/gc-md5: Fix recent regression.
10054         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10055
10056         crypto/gc-md4: Fix recent regression.
10057         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10058         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10059
10060         crypto/gc-arctwo: Fix recent regression.
10061         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10062         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10063
10064         crypto/gc-rijndael: Fix recent regression.
10065         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10066         (configure.ac): Invoke AC_LIBOBJ here.
10067         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10069
10070         crypto/gc-hmac-sha1: Fix recent regression.
10071         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10072         (configure.ac): Invoke AC_LIBOBJ here.
10073         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10074         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10075
10076         crypto/gc-hmac-md5: Fix recent regression.
10077         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10078         (configure.ac): Invoke AC_LIBOBJ here.
10079         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10081
10082         crypto/gc-des: Fix recent regression.
10083         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10084         (configure.ac): Invoke AC_LIBOBJ here.
10085         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10086         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10087
10088         crypto/gc-arcfour: Fix recent regression.
10089         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10090         (configure.ac): Invoke AC_LIBOBJ here.
10091         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10092         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10093
10094 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10095
10096         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10097         After the 2011-05-21 change, this macro requires
10098         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10099         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10100
10101 2011-06-16  Bruno Haible  <bruno@clisp.org>
10102
10103         fprintftime: Move AC_LIBOBJ invocations to module description.
10104         * m4/fprintftime.m4: Remove file.
10105         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10106         (configure.ac): Remove gl_FPRINTFTIME call.
10107         (Makefile.am): Augment lib_SOURCES.
10108         Reported by Jim Meyering.
10109
10110 2011-06-16  Bruno Haible  <bruno@clisp.org>
10111
10112         tmpfile-safer: Finish 2011-05-23 commit.
10113         * m4/stdio-safer.m4: Really remove file.
10114         Reported by Jim Meyering.
10115
10116 2011-06-16  Bruno Haible  <bruno@clisp.org>
10117
10118         syntax-check: Fix typo.
10119         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10120         printf-posix.m4.
10121         Reported by Jim Meyering.
10122
10123 2011-06-13  Jim Meyering  <meyering@redhat.com>
10124
10125         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10126         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10127
10128 2011-05-23  Bruno Haible  <bruno@clisp.org>
10129
10130         yesno: Move AC_LIBOBJ invocations to module description.
10131         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10132         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10133
10134 2011-05-23  Bruno Haible  <bruno@clisp.org>
10135
10136         xstrtol: Move AC_LIBOBJ invocations to module description.
10137         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10138         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10139
10140 2011-05-23  Bruno Haible  <bruno@clisp.org>
10141
10142         xstrtold: Move AC_LIBOBJ invocations to module description.
10143         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10144         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10145
10146 2011-05-23  Bruno Haible  <bruno@clisp.org>
10147
10148         xstrtod: Move AC_LIBOBJ invocations to module description.
10149         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10150         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10151
10152 2011-05-23  Bruno Haible  <bruno@clisp.org>
10153
10154         xnanosleep: Move AC_LIBOBJ invocations to module description.
10155         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10156         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10157
10158 2011-05-23  Bruno Haible  <bruno@clisp.org>
10159
10160         xgetcwd: Move AC_LIBOBJ invocations to module description.
10161         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10162         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10163
10164 2011-05-23  Bruno Haible  <bruno@clisp.org>
10165
10166         xalloc: Move AC_LIBOBJ invocations to module description.
10167         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10168         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10169
10170 2011-05-23  Bruno Haible  <bruno@clisp.org>
10171
10172         write-any-file: Move AC_LIBOBJ invocations to module description.
10173         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10174         invocation.
10175         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10176
10177 2011-05-23  Bruno Haible  <bruno@clisp.org>
10178
10179         utimens: Move AC_LIBOBJ invocations to module description.
10180         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10181         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10182
10183 2011-05-23  Bruno Haible  <bruno@clisp.org>
10184
10185         utimecmp: Move AC_LIBOBJ invocations to module description.
10186         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10187         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10188
10189 2011-05-23  Bruno Haible  <bruno@clisp.org>
10190
10191         userspec: Move AC_LIBOBJ invocations to module description.
10192         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10193         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10194
10195 2011-05-23  Bruno Haible  <bruno@clisp.org>
10196
10197         unlinkdir: Move AC_LIBOBJ invocations to module description.
10198         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10199         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10200
10201 2011-05-23  Bruno Haible  <bruno@clisp.org>
10202
10203         unistd-safer: Move AC_LIBOBJ invocations to module description.
10204         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10205         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10206
10207 2011-05-23  Bruno Haible  <bruno@clisp.org>
10208
10209         tempname: Move AC_LIBOBJ invocations to module description.
10210         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10211         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10212
10213 2011-05-23  Bruno Haible  <bruno@clisp.org>
10214
10215         strftime: Move AC_LIBOBJ invocations to module description.
10216         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10217         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10218
10219 2011-05-23  Bruno Haible  <bruno@clisp.org>
10220
10221         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10222         * m4/stdlib-safer.m4: Remove file.
10223         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10224         (configure.ac): Remove gl_STDLIB_SAFER call.
10225         (Makefile.am): Augment lib_SOURCES.
10226
10227 2011-05-23  Bruno Haible  <bruno@clisp.org>
10228
10229         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10230         * m4/stdio-safer.m4: Remove file.
10231         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10232         (configure.ac): Remove gl_TMPFILE_SAFER call.
10233         (Makefile.am): Augment lib_SOURCES.
10234
10235 2011-05-23  Bruno Haible  <bruno@clisp.org>
10236
10237         popen-safer: Move AC_LIBOBJ invocations to module description.
10238         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10239         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10240         (configure.ac): Remove gl_POPEN_SAFER call.
10241         (Makefile.am): Augment lib_SOURCES.
10242
10243 2011-05-23  Bruno Haible  <bruno@clisp.org>
10244
10245         freopen-safer: Move AC_LIBOBJ invocations to module description.
10246         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10247         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10248         (configure.ac): Remove gl_FREOPEN_SAFER call.
10249         (Makefile.am): Augment lib_SOURCES.
10250
10251 2011-05-23  Bruno Haible  <bruno@clisp.org>
10252
10253         fopen-safer: Move AC_LIBOBJ invocations to module description.
10254         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10255         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10256         (configure.ac): Remove gl_FOPEN_SAFER call.
10257         (Makefile.am): Augment lib_SOURCES.
10258
10259 2011-05-23  Bruno Haible  <bruno@clisp.org>
10260
10261         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10262         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10263         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10264
10265 2011-05-23  Bruno Haible  <bruno@clisp.org>
10266
10267         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10268         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10269         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10270
10271 2011-05-23  Bruno Haible  <bruno@clisp.org>
10272
10273         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10274         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10275         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10276
10277 2011-05-23  Bruno Haible  <bruno@clisp.org>
10278
10279         settime: Move AC_LIBOBJ invocations to module description.
10280         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10281         * modules/settime (Makefile.am): Augment lib_SOURCES.
10282
10283 2011-05-23  Bruno Haible  <bruno@clisp.org>
10284
10285         savedir: Move AC_LIBOBJ invocations to module description.
10286         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10287         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10288
10289 2011-05-23  Bruno Haible  <bruno@clisp.org>
10290
10291         save-cwd: Move AC_LIBOBJ invocations to module description.
10292         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10293         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10294
10295 2011-05-23  Bruno Haible  <bruno@clisp.org>
10296
10297         same: Move AC_LIBOBJ invocations to module description.
10298         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10299         * modules/same (Makefile.am): Augment lib_SOURCES.
10300
10301 2011-05-23  Bruno Haible  <bruno@clisp.org>
10302
10303         safe-write: Move AC_LIBOBJ invocations to module description.
10304         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10305         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10306         instead of gl_SAFE_WRITE.
10307         (Makefile.am): Augment lib_SOURCES.
10308
10309 2011-05-23  Bruno Haible  <bruno@clisp.org>
10310
10311         safe-read: Move AC_LIBOBJ invocations to module description.
10312         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10313         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10314         of gl_SAFE_READ.
10315         (Makefile.am): Augment lib_SOURCES.
10316
10317 2011-05-23  Bruno Haible  <bruno@clisp.org>
10318
10319         safe-alloc: Move AC_LIBOBJ invocations to module description.
10320         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10321         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10322
10323 2011-05-23  Bruno Haible  <bruno@clisp.org>
10324
10325         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10326         * m4/rijndael.m4: Remove file.
10327         * modules/crypto/rijndael (Files): Remove it.
10328         (configure.ac): Remove gl_RIJNDAEL call.
10329         (Makefile.am): Augment lib_SOURCES.
10330
10331 2011-05-23  Bruno Haible  <bruno@clisp.org>
10332
10333         readtokens: Move AC_LIBOBJ invocations to module description.
10334         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
10335         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
10336
10337 2011-05-23  Bruno Haible  <bruno@clisp.org>
10338
10339         read-file: Move AC_LIBOBJ invocations to module description.
10340         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
10341         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
10342         of gl_FUNC_READ_FILE.
10343         (Makefile.am): Augment lib_SOURCES.
10344
10345 2011-05-23  Bruno Haible  <bruno@clisp.org>
10346
10347         quotearg: Move AC_LIBOBJ invocations to module description.
10348         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
10349         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
10350
10351 2011-05-23  Bruno Haible  <bruno@clisp.org>
10352
10353         quote: Move AC_LIBOBJ invocations to module description.
10354         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
10355         * modules/quote (Makefile.am): Augment lib_SOURCES.
10356
10357 2011-05-23  Bruno Haible  <bruno@clisp.org>
10358
10359         posixver: Move AC_LIBOBJ invocations to module description.
10360         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
10361         * modules/posixver (Makefile.am): Augment lib_SOURCES.
10362
10363 2011-05-23  Bruno Haible  <bruno@clisp.org>
10364
10365         posixtm: Move AC_LIBOBJ invocations to module description.
10366         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
10367         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
10368
10369 2011-05-23  Bruno Haible  <bruno@clisp.org>
10370
10371         physmem: Move AC_LIBOBJ invocations to module description.
10372         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
10373         * modules/physmem (Makefile.am): Augment lib_SOURCES.
10374
10375 2011-05-23  Bruno Haible  <bruno@clisp.org>
10376
10377         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
10378         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
10379         invocation.
10380         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
10381
10382 2011-05-23  Bruno Haible  <bruno@clisp.org>
10383
10384         mpsort: Move AC_LIBOBJ invocations to module description.
10385         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
10386         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
10387
10388 2011-05-23  Bruno Haible  <bruno@clisp.org>
10389
10390         modechange: Move AC_LIBOBJ invocations to module description.
10391         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
10392         * modules/modechange (Makefile.am): Augment lib_SOURCES.
10393
10394 2011-05-23  Bruno Haible  <bruno@clisp.org>
10395
10396         mkdir-p: Move AC_LIBOBJ invocations to module description.
10397         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
10398         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
10399
10400 2011-05-23  Bruno Haible  <bruno@clisp.org>
10401
10402         mkancesdirs: Move AC_LIBOBJ invocations to module description.
10403         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
10404         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
10405
10406 2011-05-23  Bruno Haible  <bruno@clisp.org>
10407
10408         mgetgroups: Move AC_LIBOBJ invocations to module description.
10409         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
10410         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
10411
10412 2011-05-23  Bruno Haible  <bruno@clisp.org>
10413
10414         memxor: Move AC_LIBOBJ invocations to module description.
10415         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
10416         * modules/memxor (Makefile.am): Augment lib_SOURCES.
10417
10418 2011-05-23  Bruno Haible  <bruno@clisp.org>
10419
10420         memcoll: Move AC_LIBOBJ invocations to module description.
10421         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
10422         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
10423
10424 2011-05-23  Bruno Haible  <bruno@clisp.org>
10425
10426         memcasecmp: Move AC_LIBOBJ invocations to module description.
10427         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
10428         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
10429
10430 2011-05-23  Bruno Haible  <bruno@clisp.org>
10431
10432         crypto/md5: Move AC_LIBOBJ invocations to module description.
10433         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
10434         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
10435
10436 2011-05-23  Bruno Haible  <bruno@clisp.org>
10437
10438         crypto/md4: Move AC_LIBOBJ invocations to module description.
10439         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
10440         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
10441
10442 2011-05-23  Bruno Haible  <bruno@clisp.org>
10443
10444         crypto/md2: Move AC_LIBOBJ invocations to module description.
10445         * m4/md2.m4: Remove file.
10446         * modules/crypto/md2 (Files): Remove it.
10447         (configure.ac): Remove gl_MD2 call.
10448         (Makefile.am): Augment lib_SOURCES.
10449
10450 2011-05-23  Bruno Haible  <bruno@clisp.org>
10451
10452         long-options: Move AC_LIBOBJ invocations to module description.
10453         * m4/long-options.m4: Remove file.
10454         * modules/long-options (Files): Remove it.
10455         (configure.ac): Remove gl_LONG_OPTIONS call.
10456         (Makefile.am): Augment lib_SOURCES.
10457
10458 2011-05-23  Bruno Haible  <bruno@clisp.org>
10459
10460         i-ring: Move AC_LIBOBJ invocations to module description.
10461         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
10462         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
10463
10464 2011-05-23  Bruno Haible  <bruno@clisp.org>
10465
10466         idcache: Move AC_LIBOBJ invocations to module description.
10467         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
10468         * modules/idcache (Makefile.am): Augment lib_SOURCES.
10469
10470 2011-05-23  Bruno Haible  <bruno@clisp.org>
10471
10472         human: Move AC_LIBOBJ invocations to module description.
10473         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
10474         * modules/human (Makefile.am): Augment lib_SOURCES.
10475
10476 2011-05-23  Bruno Haible  <bruno@clisp.org>
10477
10478         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
10479         * m4/hmac-sha1.m4: Remove file.
10480         * modules/crypto/hmac-sha1 (Files): Remove it.
10481         (configure.ac): Remove gl_HMAC_SHA1 call.
10482         (Makefile.am): Augment lib_SOURCES.
10483
10484 2011-05-23  Bruno Haible  <bruno@clisp.org>
10485
10486         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
10487         * m4/hmac-md5.m4: Remove file.
10488         * modules/crypto/hmac-md5 (Files): Remove it.
10489         (configure.ac): Remove gl_HMAC_MD5 call.
10490         (Makefile.am): Augment lib_SOURCES.
10491
10492 2011-05-23  Bruno Haible  <bruno@clisp.org>
10493
10494         hash: Move AC_LIBOBJ invocations to module description.
10495         * m4/hash.m4: Remove file.
10496         * modules/hash (Files): Remove it.
10497         (configure.ac): Remove gl_HASH call.
10498         (Makefile.am): Augment lib_SOURCES.
10499
10500 2011-05-23  Bruno Haible  <bruno@clisp.org>
10501
10502         hard-locale: Move AC_LIBOBJ invocations to module description.
10503         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
10504         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
10505
10506 2011-05-23  Bruno Haible  <bruno@clisp.org>
10507
10508         getugroups: Move AC_LIBOBJ invocations to module description.
10509         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
10510         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
10511
10512 2011-05-23  Bruno Haible  <bruno@clisp.org>
10513
10514         gettime: Move AC_LIBOBJ invocations to module description.
10515         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
10516         * modules/gettime (Makefile.am): Augment lib_SOURCES.
10517
10518 2011-05-23  Bruno Haible  <bruno@clisp.org>
10519
10520         getndelim2: Move AC_LIBOBJ invocations to module description.
10521         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
10522         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
10523
10524 2011-05-23  Bruno Haible  <bruno@clisp.org>
10525
10526         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
10527         * m4/gc-pbkdf2-sha1.m4: Remove file.
10528         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
10529         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
10530         (Makefile.am): Augment lib_SOURCES.
10531
10532 2011-05-23  Bruno Haible  <bruno@clisp.org>
10533
10534         fts: Move AC_LIBOBJ invocations to module description.
10535         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
10536         * modules/fts (configure.ac): ... to here.
10537
10538 2011-05-23  Bruno Haible  <bruno@clisp.org>
10539
10540         file-type: Move AC_LIBOBJ invocations to module description.
10541         * m4/file-type.m4: Remove file.
10542         * modules/file-type (Files): Remove it.
10543         (configure.ac): Remove gl_FILE_TYPE call.
10544         (Makefile.am): Augment lib_SOURCES.
10545
10546 2011-05-23  Bruno Haible  <bruno@clisp.org>
10547
10548         filenamecat*: Respect rules for use of AC_LIBOBJ.
10549         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
10550         Remove AC_LIBOBJ invocation.
10551         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
10552         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
10553
10554 2011-05-23  Bruno Haible  <bruno@clisp.org>
10555
10556         filemode: Move AC_LIBOBJ invocations to module description.
10557         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
10558         * modules/filemode (Makefile.am): Augment lib_SOURCES.
10559
10560 2011-05-23  Bruno Haible  <bruno@clisp.org>
10561
10562         openat-safer: Move AC_LIBOBJ invocations to module description.
10563         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
10564         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
10565
10566 2011-05-23  Bruno Haible  <bruno@clisp.org>
10567
10568         fcntl-safer: Move AC_LIBOBJ invocations to module description.
10569         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
10570         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
10571
10572 2011-05-23  Bruno Haible  <bruno@clisp.org>
10573
10574         exclude: Move AC_LIBOBJ invocations to module description.
10575         * m4/exclude.m4: Remove file.
10576         * modules/exclude (Files): Remove it.
10577         (configure.ac): Remove gl_EXCLUDE call.
10578         (Makefile.am): Augment lib_SOURCES.
10579
10580 2011-05-23  Bruno Haible  <bruno@clisp.org>
10581
10582         dirname*: Respect rules for use of AC_LIBOBJ.
10583         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
10584         invocations.
10585         * modules/dirname (Makefile.am): Augment lib_SOURCES.
10586         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
10587
10588 2011-05-23  Bruno Haible  <bruno@clisp.org>
10589
10590         dirent-safer: Move AC_LIBOBJ invocations to module description.
10591         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
10592         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
10593
10594 2011-05-23  Bruno Haible  <bruno@clisp.org>
10595
10596         crypto/des: Move AC_LIBOBJ invocations to module description.
10597         * m4/des.m4: Remove file.
10598         * modules/crypto/des (Files): Remove it.
10599         (configure.ac): Remove gl_DES call.
10600         (Makefile.am): Augment lib_SOURCES.
10601
10602 2011-05-23  Bruno Haible  <bruno@clisp.org>
10603
10604         cycle-check: Move AC_LIBOBJ invocations to module description.
10605         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
10606         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
10607
10608 2011-05-23  Bruno Haible  <bruno@clisp.org>
10609
10610         c-strtold: Move AC_LIBOBJ invocations to module description.
10611         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
10612         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
10613
10614 2011-05-23  Bruno Haible  <bruno@clisp.org>
10615
10616         c-strtod: Move AC_LIBOBJ invocations to module description.
10617         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
10618         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
10619
10620 2011-05-23  Bruno Haible  <bruno@clisp.org>
10621
10622         crc: Move AC_LIBOBJ invocations to module description.
10623         * m4/crc.m4: Remove file.
10624         * modules/crc (Files): Remove it.
10625         (configure.ac): Remove gl_CRC call.
10626         (Makefile.am): Augment lib_SOURCES.
10627
10628 2011-05-23  Bruno Haible  <bruno@clisp.org>
10629
10630         close-stream: Move AC_LIBOBJ invocations to module description.
10631         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
10632         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
10633
10634 2011-05-23  Bruno Haible  <bruno@clisp.org>
10635
10636         closeout: Move AC_LIBOBJ invocations to module description.
10637         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
10638         * modules/closeout (Makefile.am): Augment lib_SOURCES.
10639
10640 2011-05-23  Bruno Haible  <bruno@clisp.org>
10641
10642         closein: Move AC_LIBOBJ invocations to module description.
10643         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
10644         * modules/closein (Makefile.am): Augment lib_SOURCES.
10645
10646 2011-05-23  Bruno Haible  <bruno@clisp.org>
10647
10648         cloexec: Move AC_LIBOBJ invocations to module description.
10649         * m4/cloexec.m4: Remove file.
10650         * modules/cloexec (Files): Remove it.
10651         (configure.ac): Remove gl_CLOEXEC call.
10652         (Makefile.am): Augment lib_SOURCES.
10653
10654 2011-05-23  Bruno Haible  <bruno@clisp.org>
10655
10656         check-version: Move AC_LIBOBJ invocations to module description.
10657         * m4/check-version.m4: Remove file.
10658         * modules/check-version (Files): Remove it.
10659         (configure.ac): Remove gl_CHECK_VERSION call.
10660         (Makefile.am): Augment lib_SOURCES.
10661
10662 2011-05-23  Bruno Haible  <bruno@clisp.org>
10663
10664         chdir-safer: Move AC_LIBOBJ invocations to module description.
10665         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
10666         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
10667
10668 2011-05-23  Bruno Haible  <bruno@clisp.org>
10669
10670         canonicalize: Move AC_LIBOBJ invocations to module description.
10671         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
10672         AC_LIBOBJ invocation.
10673         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
10674
10675 2011-05-23  Bruno Haible  <bruno@clisp.org>
10676
10677         canon-host: Move AC_LIBOBJ invocations to module description.
10678         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
10679         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
10680         instead of gl_CANON_HOST.
10681         (Makefile.am): Augment lib_SOURCES.
10682
10683 2011-05-23  Bruno Haible  <bruno@clisp.org>
10684
10685         backupfile: Move AC_LIBOBJ invocations to module description.
10686         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
10687         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
10688
10689 2011-05-23  Bruno Haible  <bruno@clisp.org>
10690
10691         argmatch: Move AC_LIBOBJ invocations to module description.
10692         * m4/argmatch.m4: Remove file.
10693         * modules/argmatch (Files): Remove it.
10694         (configure.ac): Remove gl_ARGMATCH call.
10695         (Makefile.am): Augment lib_SOURCES.
10696
10697 2011-05-23  Bruno Haible  <bruno@clisp.org>
10698
10699         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
10700         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
10701         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
10702
10703 2011-05-23  Bruno Haible  <bruno@clisp.org>
10704
10705         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
10706         * m4/arcfour.m4: Remove file.
10707         * modules/crypto/arcfour (Files): Remove it.
10708         (configure.ac): Remove gl_ARCFOUR call.
10709         (Makefile.am): Augment lib_SOURCES.
10710
10711 2011-05-22  Bruno Haible  <bruno@clisp.org>
10712
10713         write: Move AC_LIBOBJ invocations to module description.
10714         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
10715         * modules/write (configure.ac): ... to here.
10716
10717 2011-05-22  Bruno Haible  <bruno@clisp.org>
10718
10719         wmemset: Move AC_LIBOBJ invocations to module description.
10720         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
10721         here...
10722         * modules/wmemset (configure.ac): ... to here.
10723
10724 2011-05-22  Bruno Haible  <bruno@clisp.org>
10725
10726         wmemmove: Move AC_LIBOBJ invocations to module description.
10727         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
10728         here...
10729         * modules/wmemmove (configure.ac): ... to here.
10730
10731 2011-05-22  Bruno Haible  <bruno@clisp.org>
10732
10733         wmemcpy: Move AC_LIBOBJ invocations to module description.
10734         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
10735         here...
10736         * modules/wmemcpy (configure.ac): ... to here.
10737
10738 2011-05-22  Bruno Haible  <bruno@clisp.org>
10739
10740         wmemcmp: Move AC_LIBOBJ invocations to module description.
10741         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
10742         here...
10743         * modules/wmemcmp (configure.ac): ... to here.
10744
10745 2011-05-22  Bruno Haible  <bruno@clisp.org>
10746
10747         wmemchr: Move AC_LIBOBJ invocations to module description.
10748         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
10749         here...
10750         * modules/wmemchr (configure.ac): ... to here.
10751
10752 2011-05-22  Bruno Haible  <bruno@clisp.org>
10753
10754         wcswidth: Move AC_LIBOBJ invocations to module description.
10755         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
10756         here...
10757         * modules/wcswidth (configure.ac): ... to here.
10758
10759 2011-05-22  Bruno Haible  <bruno@clisp.org>
10760
10761         wcwidth: Respect rules for use of AC_LIBOBJ.
10762         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
10763         invocation from here...
10764         * modules/wcwidth (configure.ac): ... to here.
10765         (Depends-on): Update conditions.
10766
10767 2011-05-22  Bruno Haible  <bruno@clisp.org>
10768
10769         wctype: Move AC_LIBOBJ invocations to module description.
10770         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
10771         invocation from here...
10772         * modules/wctype (configure.ac): ... to here.
10773         (Depends-on): Update conditions.
10774
10775 2011-05-22  Bruno Haible  <bruno@clisp.org>
10776
10777         wctrans: Move AC_LIBOBJ invocations to module description.
10778         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
10779         invocation from here...
10780         * modules/wctrans (configure.ac): ... to here.
10781
10782 2011-05-22  Bruno Haible  <bruno@clisp.org>
10783
10784         wctomb: Move AC_LIBOBJ invocations to module description.
10785         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
10786         invocations from here...
10787         * modules/wctomb (configure.ac): ... to here.
10788
10789 2011-05-22  Bruno Haible  <bruno@clisp.org>
10790
10791         wctob: Move AC_LIBOBJ invocations to module description.
10792         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
10793         gl_PREREQ_WCTOB invocations from here...
10794         * modules/wctob (configure.ac): ... to here.
10795         (Depends-on): Update conditions.
10796
10797 2011-05-22  Bruno Haible  <bruno@clisp.org>
10798
10799         wcsxfrm: Move AC_LIBOBJ invocations to module description.
10800         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
10801         here...
10802         * modules/wcsxfrm (configure.ac): ... to here.
10803
10804 2011-05-22  Bruno Haible  <bruno@clisp.org>
10805
10806         wcstok: Move AC_LIBOBJ invocations to module description.
10807         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
10808         * modules/wcstok (configure.ac): ... to here.
10809
10810 2011-05-22  Bruno Haible  <bruno@clisp.org>
10811
10812         wcsstr: Move AC_LIBOBJ invocations to module description.
10813         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
10814         * modules/wcsstr (configure.ac): ... to here.
10815
10816 2011-05-22  Bruno Haible  <bruno@clisp.org>
10817
10818         wcsspn: Move AC_LIBOBJ invocations to module description.
10819         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
10820         * modules/wcsspn (configure.ac): ... to here.
10821
10822 2011-05-22  Bruno Haible  <bruno@clisp.org>
10823
10824         wcsrtombs: Move AC_LIBOBJ invocations to module description.
10825         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
10826         gl_PREREQ_WCSRTOMBS invocations from here...
10827         * modules/wcsrtombs (configure.ac): ... to here.
10828
10829 2011-05-22  Bruno Haible  <bruno@clisp.org>
10830
10831         wcsrchr: Move AC_LIBOBJ invocations to module description.
10832         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
10833         here...
10834         * modules/wcsrchr (configure.ac): ... to here.
10835
10836 2011-05-22  Bruno Haible  <bruno@clisp.org>
10837
10838         wcspbrk: Move AC_LIBOBJ invocations to module description.
10839         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
10840         here...
10841         * modules/wcspbrk (configure.ac): ... to here.
10842
10843 2011-05-22  Bruno Haible  <bruno@clisp.org>
10844
10845         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
10846         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
10847         gl_PREREQ_WCSNRTOMBS invocations from here...
10848         * modules/wcsnrtombs (configure.ac): ... to here.
10849
10850 2011-05-22  Bruno Haible  <bruno@clisp.org>
10851
10852         wcsnlen: Move AC_LIBOBJ invocations to module description.
10853         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
10854         here...
10855         * modules/wcsnlen (configure.ac): ... to here.
10856
10857 2011-05-22  Bruno Haible  <bruno@clisp.org>
10858
10859         wcsncpy: Move AC_LIBOBJ invocations to module description.
10860         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
10861         here...
10862         * modules/wcsncpy (configure.ac): ... to here.
10863
10864 2011-05-22  Bruno Haible  <bruno@clisp.org>
10865
10866         wcsncmp: Move AC_LIBOBJ invocations to module description.
10867         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
10868         here...
10869         * modules/wcsncmp (configure.ac): ... to here.
10870
10871 2011-05-22  Bruno Haible  <bruno@clisp.org>
10872
10873         wcsncat: Move AC_LIBOBJ invocations to module description.
10874         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
10875         here...
10876         * modules/wcsncat (configure.ac): ... to here.
10877
10878 2011-05-22  Bruno Haible  <bruno@clisp.org>
10879
10880         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
10881         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
10882         from here...
10883         * modules/wcsncasecmp (configure.ac): ... to here.
10884
10885 2011-05-22  Bruno Haible  <bruno@clisp.org>
10886
10887         wcslen: Move AC_LIBOBJ invocations to module description.
10888         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
10889         * modules/wcslen (configure.ac): ... to here.
10890
10891 2011-05-22  Bruno Haible  <bruno@clisp.org>
10892
10893         wcsdup: Move AC_LIBOBJ invocations to module description.
10894         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
10895         * modules/wcsdup (configure.ac): ... to here.
10896
10897 2011-05-22  Bruno Haible  <bruno@clisp.org>
10898
10899         wcscspn: Move AC_LIBOBJ invocations to module description.
10900         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
10901         here...
10902         * modules/wcscspn (configure.ac): ... to here.
10903
10904 2011-05-22  Bruno Haible  <bruno@clisp.org>
10905
10906         wcscpy: Move AC_LIBOBJ invocations to module description.
10907         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
10908         * modules/wcscpy (configure.ac): ... to here.
10909
10910 2011-05-22  Bruno Haible  <bruno@clisp.org>
10911
10912         wcscoll: Move AC_LIBOBJ invocations to module description.
10913         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
10914         here...
10915         * modules/wcscoll (configure.ac): ... to here.
10916
10917 2011-05-22  Bruno Haible  <bruno@clisp.org>
10918
10919         wcscmp: Move AC_LIBOBJ invocations to module description.
10920         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
10921         * modules/wcscmp (configure.ac): ... to here.
10922
10923 2011-05-22  Bruno Haible  <bruno@clisp.org>
10924
10925         wcschr: Move AC_LIBOBJ invocations to module description.
10926         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
10927         * modules/wcschr (configure.ac): ... to here.
10928
10929 2011-05-22  Bruno Haible  <bruno@clisp.org>
10930
10931         wcscat: Move AC_LIBOBJ invocations to module description.
10932         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
10933         * modules/wcscat (configure.ac): ... to here.
10934
10935 2011-05-22  Bruno Haible  <bruno@clisp.org>
10936
10937         wcscasecmp: Move AC_LIBOBJ invocations to module description.
10938         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
10939         here...
10940         * modules/wcscasecmp (configure.ac): ... to here.
10941
10942 2011-05-22  Bruno Haible  <bruno@clisp.org>
10943
10944         wcrtomb: Move AC_LIBOBJ invocations to module description.
10945         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
10946         invocations from here...
10947         * modules/wcrtomb (configure.ac): ... to here.
10948
10949 2011-05-22  Bruno Haible  <bruno@clisp.org>
10950
10951         wcpncpy: Move AC_LIBOBJ invocations to module description.
10952         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
10953         here...
10954         * modules/wcpncpy (configure.ac): ... to here.
10955
10956 2011-05-22  Bruno Haible  <bruno@clisp.org>
10957
10958         wcpcpy: Move AC_LIBOBJ invocations to module description.
10959         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
10960         * modules/wcpcpy (configure.ac): ... to here.
10961
10962 2011-05-22  Bruno Haible  <bruno@clisp.org>
10963
10964         waitpid: Move AC_LIBOBJ invocations to module description.
10965         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10966         invocation from here...
10967         * modules/waitpid (configure.ac): ... to here.
10968
10969 2011-05-22  Bruno Haible  <bruno@clisp.org>
10970
10971         utimensat: Move AC_LIBOBJ invocations to module description.
10972         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10973         here...
10974         * modules/utimensat (configure.ac): ... to here.
10975
10976 2011-05-22  Bruno Haible  <bruno@clisp.org>
10977
10978         usleep: Move AC_LIBOBJ invocations to module description.
10979         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10980         here...
10981         * modules/usleep (configure.ac): ... to here.
10982
10983 2011-05-22  Bruno Haible  <bruno@clisp.org>
10984
10985         unlockpt: Move AC_LIBOBJ invocations to module description.
10986         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10987         gl_PREREQ_UNLOCKPT invocations from here...
10988         * modules/unlockpt (configure.ac): ... to here.
10989
10990 2011-05-22  Bruno Haible  <bruno@clisp.org>
10991
10992         unlink: Respect rules for use of AC_LIBOBJ.
10993         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10994         * modules/unlink (configure.ac): ... to here.
10995
10996 2011-05-22  Bruno Haible  <bruno@clisp.org>
10997
10998         uname: Move AC_LIBOBJ invocations to module description.
10999         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11000         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11001         here...
11002         * modules/uname (configure.ac): ... to here.
11003
11004 2011-05-22  Bruno Haible  <bruno@clisp.org>
11005
11006         ttyname_r: Move AC_LIBOBJ invocations to module description.
11007         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11008         gl_PREREQ_TTYNAME_R invocations from here...
11009         * modules/ttyname_r (configure.ac): ... to here.
11010
11011 2011-05-22  Bruno Haible  <bruno@clisp.org>
11012
11013         tsearch: Move AC_LIBOBJ invocations to module description.
11014         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11015         invocations from here...
11016         * modules/tsearch (configure.ac): ... to here.
11017
11018 2011-05-22  Bruno Haible  <bruno@clisp.org>
11019
11020         towctrans: Move AC_LIBOBJ invocations to module description.
11021         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11022         AC_LIBOBJ invocation from here...
11023         * modules/towctrans (configure.ac): ... to here.
11024
11025 2011-05-22  Bruno Haible  <bruno@clisp.org>
11026
11027         tmpfile: Move AC_LIBOBJ invocations to module description.
11028         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11029         invocations from here...
11030         * modules/tmpfile (configure.ac): ... to here.
11031
11032 2011-05-22  Bruno Haible  <bruno@clisp.org>
11033
11034         times: Move AC_LIBOBJ invocations to module description.
11035         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11036         * modules/times (configure.ac): ... to here.
11037
11038 2011-05-22  Bruno Haible  <bruno@clisp.org>
11039
11040         time_r: Move AC_LIBOBJ invocations to module description.
11041         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11042         invocations from here...
11043         * modules/time_r (configure.ac): ... to here.
11044
11045 2011-05-22  Bruno Haible  <bruno@clisp.org>
11046
11047         timegm: Move AC_LIBOBJ invocations to module description.
11048         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11049         invocations from here...
11050         * modules/timegm (configure.ac): ... to here.
11051
11052 2011-05-22  Bruno Haible  <bruno@clisp.org>
11053
11054         tcgetsid: Move AC_LIBOBJ invocations to module description.
11055         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11056         and gl_PREREQ_TCGETSID invocations from here...
11057         * modules/tcgetsid (configure.ac): ... to here.
11058         (Depends-on): Update conditions.
11059
11060 2011-05-22  Bruno Haible  <bruno@clisp.org>
11061
11062         symlinkat: Move AC_LIBOBJ invocations to module description.
11063         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11064         here...
11065         * modules/symlinkat (configure.ac): ... to here.
11066
11067 2011-05-22  Bruno Haible  <bruno@clisp.org>
11068
11069         symlink: Move AC_LIBOBJ invocations to module description.
11070         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11071         here...
11072         * modules/symlink (configure.ac): ... to here.
11073
11074 2011-05-22  Bruno Haible  <bruno@clisp.org>
11075
11076         strverscmp: Move AC_LIBOBJ invocations to module description.
11077         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11078         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11079         from here...
11080         * modules/strverscmp (configure.ac): ... to here.
11081
11082 2011-05-22  Bruno Haible  <bruno@clisp.org>
11083
11084         strtok_r: Move AC_LIBOBJ invocations to module description.
11085         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11086         and gl_PREREQ_STRTOK_R invocations from here...
11087         * modules/strtok_r (configure.ac): ... to here.
11088         (Depends-on): Update conditions.
11089
11090 2011-05-22  Bruno Haible  <bruno@clisp.org>
11091
11092         strtoumax: Move AC_LIBOBJ invocations to module description.
11093         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11094         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11095         from here...
11096         * modules/strtoumax (configure.ac): ... to here.
11097
11098 2011-05-22  Bruno Haible  <bruno@clisp.org>
11099
11100         strtoimax: Move AC_LIBOBJ invocations to module description.
11101         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11102         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11103         from here...
11104         * modules/strtoimax (configure.ac): ... to here.
11105
11106 2011-05-22  Bruno Haible  <bruno@clisp.org>
11107
11108         strtoull: Move AC_LIBOBJ invocations to module description.
11109         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11110         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11111         from here...
11112         * modules/strtoull (configure.ac): ... to here.
11113
11114 2011-05-22  Bruno Haible  <bruno@clisp.org>
11115
11116         strtoll: Move AC_LIBOBJ invocations to module description.
11117         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11118         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11119         here...
11120         * modules/strtoll (configure.ac): ... to here.
11121
11122 2011-05-22  Bruno Haible  <bruno@clisp.org>
11123
11124         strtoul: Move AC_LIBOBJ invocations to module description.
11125         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11126         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11127         * modules/strtoul (configure.ac): ... to here.
11128
11129 2011-05-22  Bruno Haible  <bruno@clisp.org>
11130
11131         strtol: Move AC_LIBOBJ invocations to module description.
11132         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11133         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11134         * modules/strtol (configure.ac): ... to here.
11135
11136 2011-05-22  Bruno Haible  <bruno@clisp.org>
11137
11138         strtod: Move AC_LIBOBJ invocations to module description.
11139         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11140         invocations from here...
11141         * modules/strtod (configure.ac): ... to here.
11142
11143 2011-05-22  Bruno Haible  <bruno@clisp.org>
11144
11145         strstr*: Move AC_LIBOBJ invocations to module description.
11146         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11147         invocations from here...
11148         * modules/strstr-simple (configure.ac): ... to here.
11149         * modules/strstr (configure.ac): ... and here.
11150
11151 2011-05-22  Bruno Haible  <bruno@clisp.org>
11152
11153         strsignal: Move AC_LIBOBJ invocations to module description.
11154         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11155         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11156         * modules/strsignal (configure.ac): ... to here.
11157         (Depends-on): Update conditions.
11158
11159 2011-05-22  Bruno Haible  <bruno@clisp.org>
11160
11161         strsep: Move AC_LIBOBJ invocations to module description.
11162         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11163         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11164         here...
11165         * modules/strsep (configure.ac): ... to here.
11166
11167 2011-05-22  Bruno Haible  <bruno@clisp.org>
11168
11169         strptime: Move AC_LIBOBJ invocations to module description.
11170         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11171         gl_PREREQ_STRPTIME invocations from here...
11172         * modules/strptime (configure.ac): ... to here.
11173
11174 2011-05-22  Bruno Haible  <bruno@clisp.org>
11175
11176         strpbrk: Move AC_LIBOBJ invocations to module description.
11177         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11178         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11179         here...
11180         * modules/strpbrk (configure.ac): ... to here.
11181
11182 2011-05-22  Bruno Haible  <bruno@clisp.org>
11183
11184         strnlen: Move AC_LIBOBJ invocations to module description.
11185         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11186         invocations from here...
11187         * modules/strnlen (configure.ac): ... to here.
11188
11189 2011-05-22  Bruno Haible  <bruno@clisp.org>
11190
11191         strndup: Move AC_LIBOBJ invocations to module description.
11192         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11193         invocations from here...
11194         * modules/strndup (configure.ac): ... to here.
11195         (Depends-on): Update conditions.
11196
11197 2011-05-22  Bruno Haible  <bruno@clisp.org>
11198
11199         strncat: Move AC_LIBOBJ invocations to module description.
11200         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11201         invocations from here...
11202         * modules/strncat (configure.ac): ... to here.
11203
11204 2011-05-22  Bruno Haible  <bruno@clisp.org>
11205
11206         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11207         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11208         invocations from here...
11209         * modules/strdup (configure.ac): ... to here.
11210         * modules/strdup-posix (configure.ac): ... and here.
11211
11212 2011-05-22  Bruno Haible  <bruno@clisp.org>
11213
11214         strcspn: Move AC_LIBOBJ invocations to module description.
11215         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11216         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11217         here...
11218         * modules/strcspn (configure.ac): ... to here.
11219
11220 2011-05-22  Bruno Haible  <bruno@clisp.org>
11221
11222         strchrnul: Move AC_LIBOBJ invocations to module description.
11223         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11224         gl_PREREQ_STRCHRNUL invocations from here...
11225         * modules/strchrnul (configure.ac): ... to here.
11226
11227 2011-05-22  Bruno Haible  <bruno@clisp.org>
11228
11229         strcasestr*: Move AC_LIBOBJ invocations to module description.
11230         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11231         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11232         * modules/strcasestr-simple (configure.ac): ... to here.
11233         * modules/strcasestr (configure.ac): ... and here.
11234
11235 2011-05-22  Bruno Haible  <bruno@clisp.org>
11236
11237         strcase: Move AC_LIBOBJ invocations to module description.
11238         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11239         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11240         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11241         gl_PREREQ_STRNCASECMP invocations from here...
11242         * modules/strcase (configure.ac): ... to here.
11243
11244 2011-05-22  Bruno Haible  <bruno@clisp.org>
11245
11246         stpncpy: Move AC_LIBOBJ invocations to module description.
11247         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11248         here...
11249         * modules/stpncpy (configure.ac): ... to here.
11250
11251 2011-05-22  Bruno Haible  <bruno@clisp.org>
11252
11253         stpcpy: Move AC_LIBOBJ invocations to module description.
11254         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11255         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11256         here...
11257         * modules/stpcpy (configure.ac): ... to here.
11258
11259 2011-05-21  Bruno Haible  <bruno@clisp.org>
11260
11261         stat: Move AC_LIBOBJ invocations to module description.
11262         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11263         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11264         here...
11265         * modules/stat (configure.ac): ... to here.
11266
11267 2011-05-21  Bruno Haible  <bruno@clisp.org>
11268
11269         sleep: Move AC_LIBOBJ invocations to module description.
11270         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11271         * modules/sleep (configure.ac): ... to here.
11272
11273 2011-05-21  Bruno Haible  <bruno@clisp.org>
11274
11275         signbit: Move AC_LIBOBJ invocations to module description.
11276         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11277         * modules/signbit (configure.ac): ... to here.
11278
11279 2011-05-21  Bruno Haible  <bruno@clisp.org>
11280
11281         sigprocmask: Move AC_LIBOBJ invocations to module description.
11282         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11283         gl_PREREQ_SIGPROMASK invocations from here...
11284         * modules/sigprocmask (configure.ac): ... to here.
11285
11286 2011-05-21  Bruno Haible  <bruno@clisp.org>
11287
11288         sigaction: Move AC_LIBOBJ invocations to module description.
11289         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11290         gl_PREREQ_SIGACTION invocations from here...
11291         * modules/sigaction (configure.ac): ... to here.
11292
11293 2011-05-21  Bruno Haible  <bruno@clisp.org>
11294
11295         sig2str: Move AC_LIBOBJ invocations to module description.
11296         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11297         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11298         here...
11299         * modules/sig2str (configure.ac): ... to here.
11300
11301 2011-05-21  Bruno Haible  <bruno@clisp.org>
11302
11303         setlocale: Move AC_LIBOBJ invocations to module description.
11304         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11305         gl_PREREQ_SETLOCALE invocations from here...
11306         * modules/setlocale (configure.ac): ... to here.
11307
11308 2011-05-21  Bruno Haible  <bruno@clisp.org>
11309
11310         unsetenv: Move AC_LIBOBJ invocations to module description.
11311         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11312         and gl_PREREQ_UNSETENV invocations from here...
11313         * modules/unsetenv (configure.ac): ... to here.
11314         (Depends-on): Update.
11315
11316 2011-05-21  Bruno Haible  <bruno@clisp.org>
11317
11318         setenv: Move AC_LIBOBJ invocations to module description.
11319         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11320         here...
11321         * modules/setenv (configure.ac): ... to here.
11322
11323 2011-05-21  Bruno Haible  <bruno@clisp.org>
11324
11325         selinux-h: Move AC_LIBOBJ invocations to module description.
11326         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11327         AC_LIBOBJ invocation from here...
11328         * modules/selinux-h (configure.ac): ... to here.
11329
11330 2011-05-21  Bruno Haible  <bruno@clisp.org>
11331
11332         select: Respect rules for use of AC_LIBOBJ.
11333         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
11334         here...
11335         * modules/select (configure.ac): ... to here.
11336
11337 2011-05-21  Bruno Haible  <bruno@clisp.org>
11338
11339         scandir: Move AC_LIBOBJ invocations to module description.
11340         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
11341         invocations from here...
11342         * modules/scandir (configure.ac): ... to here.
11343
11344 2011-05-21  Bruno Haible  <bruno@clisp.org>
11345
11346         rpmatch: Move AC_LIBOBJ invocations to module description.
11347         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
11348         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
11349         here...
11350         * modules/rpmatch (configure.ac): ... to here.
11351
11352 2011-05-21  Bruno Haible  <bruno@clisp.org>
11353
11354         rmdir: Respect rules for use of AC_LIBOBJ.
11355         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
11356         * modules/rmdir (configure.ac): ... to here.
11357
11358 2011-05-21  Bruno Haible  <bruno@clisp.org>
11359
11360         renameat: Move AC_LIBOBJ invocations to module description.
11361         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
11362         here...
11363         * modules/renameat (configure.ac): ... to here.
11364
11365 2011-05-21  Bruno Haible  <bruno@clisp.org>
11366
11367         rename: Respect rules for use of AC_LIBOBJ.
11368         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
11369         here...
11370         * modules/rename (configure.ac): ... to here.
11371
11372 2011-05-21  Bruno Haible  <bruno@clisp.org>
11373
11374         remove: Move AC_LIBOBJ invocations to module description.
11375         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
11376         here...
11377         * modules/remove (configure.ac): ... to here.
11378
11379 2011-05-21  Bruno Haible  <bruno@clisp.org>
11380
11381         relocatable-lib: Move AC_LIBOBJ invocations to module description.
11382         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
11383         macro.
11384         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
11385         * modules/relocatable-lib (configure.ac): ... to here.
11386         * modules/relocatable-prog-wrapper (configure.ac): Invoke
11387         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
11388
11389 2011-05-21  Bruno Haible  <bruno@clisp.org>
11390
11391         relocatable-prog: Move AC_LIBOBJ invocations to module description.
11392         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
11393         here...
11394         * modules/relocatable-prog (configure.ac): ... to here.
11395
11396 2011-05-21  Bruno Haible  <bruno@clisp.org>
11397
11398         regex: Move AC_LIBOBJ invocations to module description.
11399         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
11400         invocations from here...
11401         * modules/regex (configure.ac): ... to here.
11402
11403 2011-05-21  Bruno Haible  <bruno@clisp.org>
11404
11405         realloc-*: Move AC_LIBOBJ invocations to module description.
11406         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
11407         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
11408         AC_LIBOBJ invocations from here...
11409         * modules/realloc-gnu (configure.ac): ... to here.
11410         * modules/realloc-posix (configure.ac): ... and here.
11411
11412 2011-05-21  Bruno Haible  <bruno@clisp.org>
11413
11414         readutmp: Move AC_LIBOBJ invocations to module description.
11415         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
11416         * modules/readutmp (configure.ac): ... to here.
11417
11418 2011-05-21  Bruno Haible  <bruno@clisp.org>
11419
11420         readlinkat: Move AC_LIBOBJ invocations to module description.
11421         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
11422         here...
11423         * modules/readlinkat (configure.ac): ... to here.
11424
11425 2011-05-21  Bruno Haible  <bruno@clisp.org>
11426
11427         readlink: Move AC_LIBOBJ invocations to module description.
11428         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
11429         gl_PREREQ_READLINK invocations from here...
11430         * modules/readlink (configure.ac): ... to here.
11431
11432 2011-05-21  Bruno Haible  <bruno@clisp.org>
11433
11434         readline: Move AC_LIBOBJ invocations to module description.
11435         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
11436         gl_PREREQ_READLINE invocations from here...
11437         * modules/readline (configure.ac): ... to here.
11438
11439 2011-05-21  Bruno Haible  <bruno@clisp.org>
11440
11441         read: Move AC_LIBOBJ invocations to module description.
11442         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
11443         * modules/read (configure.ac): ... to here.
11444
11445 2011-05-21  Bruno Haible  <bruno@clisp.org>
11446
11447         rawmemchr: Move AC_LIBOBJ invocations to module description.
11448         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
11449         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
11450         from here...
11451         * modules/rawmemchr (configure.ac): ... to here.
11452
11453 2011-05-21  Bruno Haible  <bruno@clisp.org>
11454
11455         random_r: Move AC_LIBOBJ invocations to module description.
11456         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
11457         gl_PREREQ_RANDOM_R invocations from here...
11458         * modules/random_r (configure.ac): ... to here.
11459
11460 2011-05-21  Bruno Haible  <bruno@clisp.org>
11461
11462         pwrite: Move AC_LIBOBJ invocations to module description.
11463         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
11464         * modules/pwrite (configure.ac): ... to here.
11465
11466 2011-05-21  Bruno Haible  <bruno@clisp.org>
11467
11468         putenv: Move AC_LIBOBJ invocations to module description.
11469         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
11470         * modules/putenv (configure.ac): ... to here.
11471
11472 2011-05-21  Bruno Haible  <bruno@clisp.org>
11473
11474         login_tty: Move AC_LIBOBJ invocations to module description.
11475         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
11476         * modules/login_tty (configure.ac): ... to here.
11477
11478 2011-05-21  Bruno Haible  <bruno@clisp.org>
11479
11480         openpty: Move AC_LIBOBJ invocations to module description.
11481         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
11482         * modules/openpty (configure.ac): ... to here.
11483
11484 2011-05-21  Bruno Haible  <bruno@clisp.org>
11485
11486         forkpty: Move AC_LIBOBJ invocations to module description.
11487         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
11488         * modules/forkpty (configure.ac): ... to here.
11489
11490 2011-05-21  Bruno Haible  <bruno@clisp.org>
11491
11492         ptsname: Move AC_LIBOBJ invocations to module description.
11493         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
11494         invocations from here...
11495         * modules/ptsname (configure.ac): ... to here.
11496
11497 2011-05-21  Bruno Haible  <bruno@clisp.org>
11498
11499         pread: Move AC_LIBOBJ invocations to module description.
11500         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
11501         * modules/pread (configure.ac): ... to here.
11502
11503 2011-05-21  Bruno Haible  <bruno@clisp.org>
11504
11505         posix_spawn*: Move AC_LIBOBJ invocations to module description.
11506         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
11507         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
11508         * modules/posix_spawn (configure.ac): ... to here.
11509         * modules/posix_spawnp (configure.ac): ... and here.
11510
11511 2011-05-21  Bruno Haible  <bruno@clisp.org>
11512
11513         popen: Move AC_LIBOBJ invocations to module description.
11514         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
11515         invocations from here...
11516         * modules/popen (configure.ac): ... to here.
11517
11518 2011-05-21  Bruno Haible  <bruno@clisp.org>
11519
11520         poll: Move AC_LIBOBJ invocations to module description.
11521         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
11522         invocations from here...
11523         * modules/poll (configure.ac): ... to here.
11524
11525 2011-05-21  Bruno Haible  <bruno@clisp.org>
11526
11527         pipe-posix: Move AC_LIBOBJ invocations to module description.
11528         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
11529         * modules/pipe-posix (configure.ac): ... to here.
11530
11531 2011-05-21  Bruno Haible  <bruno@clisp.org>
11532
11533         openat: Respect rules for use of AC_LIBOBJ.
11534         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
11535         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11536         * modules/openat (configure.ac): ... to here.
11537
11538 2011-05-21  Bruno Haible  <bruno@clisp.org>
11539
11540         obstack-printf*: Move AC_LIBOBJ invocations to module description.
11541         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
11542         invocation from here...
11543         * modules/obstack-printf (configure.ac): ... to here.
11544         * modules/obstack-printf-posix (configure.ac): ... and here.
11545
11546 2011-05-21  Bruno Haible  <bruno@clisp.org>
11547
11548         nl_langinfo: Move AC_LIBOBJ invocations to module description.
11549         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
11550         from here...
11551         * modules/nl_langinfo (configure.ac): ... to here.
11552
11553 2011-05-21  Bruno Haible  <bruno@clisp.org>
11554
11555         nanosleep: Move AC_LIBOBJ invocations to module description.
11556         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
11557         gl_PREREQ_NANOSLEEP invocations from here...
11558         * modules/nanosleep (configure.ac): ... to here.
11559
11560 2011-05-21  Bruno Haible  <bruno@clisp.org>
11561
11562         mountlist: Move AC_LIBOBJ invocations to module description.
11563         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
11564         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
11565         * modules/mountlist (configure.ac): ... to here.
11566
11567 2011-05-21  Bruno Haible  <bruno@clisp.org>
11568
11569         mktime: Respect rules for use of AC_LIBOBJ.
11570         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
11571         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
11572         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
11573         (gl_FUNC_MKTIME_INTERNAL): ... and here...
11574         * modules/mktime (configure.ac): ... to here.
11575         * modules/mktime-internal (configure.ac): ... and here.
11576         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
11577
11578 2011-05-21  Bruno Haible  <bruno@clisp.org>
11579
11580         mkstemps: Move AC_LIBOBJ invocations to module description.
11581         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
11582         here...
11583         * modules/mkstemps (configure.ac): ... to here.
11584
11585 2011-05-21  Bruno Haible  <bruno@clisp.org>
11586
11587         mkstemp: Move AC_LIBOBJ invocations to module description.
11588         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
11589         gl_PREREQ_MKSTEMP invocations from here...
11590         * modules/mkstemp (configure.ac): ... to here.
11591
11592 2011-05-21  Bruno Haible  <bruno@clisp.org>
11593
11594         mkostemps: Move AC_LIBOBJ invocations to module description.
11595         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
11596         here...
11597         * modules/mkostemps (configure.ac): ... to here.
11598
11599 2011-05-21  Bruno Haible  <bruno@clisp.org>
11600
11601         mkostemp: Move AC_LIBOBJ invocations to module description.
11602         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
11603         gl_PREREQ_MKOSTEMP invocations from here...
11604         * modules/mkostemp (configure.ac): ... to here.
11605
11606 2011-05-21  Bruno Haible  <bruno@clisp.org>
11607
11608         mknod: Move AC_LIBOBJ invocations to module description.
11609         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
11610         * modules/mknod (configure.ac): ... to here.
11611
11612 2011-05-21  Bruno Haible  <bruno@clisp.org>
11613
11614         mkfifoat: Move AC_LIBOBJ invocations to module description.
11615         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
11616         here...
11617         * modules/mkfifoat (configure.ac): ... to here.
11618
11619 2011-05-21  Bruno Haible  <bruno@clisp.org>
11620
11621         mkfifo: Respect rules for use of AC_LIBOBJ.
11622         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
11623         here...
11624         * modules/mkfifo (configure.ac): ... to here.
11625
11626 2011-05-21  Bruno Haible  <bruno@clisp.org>
11627
11628         mkdtemp: Move AC_LIBOBJ invocations to module description.
11629         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
11630         invocations from here...
11631         * modules/mkdtemp (configure.ac): ... to here.
11632
11633 2011-05-21  Bruno Haible  <bruno@clisp.org>
11634
11635         mkdir: Move AC_LIBOBJ invocations to module description.
11636         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
11637         * modules/mkdir (configure.ac): ... to here.
11638
11639 2011-05-21  Bruno Haible  <bruno@clisp.org>
11640
11641         memset: Move AC_LIBOBJ invocations to module description.
11642         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
11643         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
11644         here...
11645         * modules/memset (configure.ac): ... to here.
11646
11647 2011-05-21  Bruno Haible  <bruno@clisp.org>
11648
11649         memrchr: Move AC_LIBOBJ invocations to module description.
11650         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
11651         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
11652         here...
11653         * modules/memrchr (configure.ac): ... to here.
11654
11655 2011-05-21  Bruno Haible  <bruno@clisp.org>
11656
11657         mempcpy: Move AC_LIBOBJ invocations to module description.
11658         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
11659         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
11660         here...
11661         * modules/mempcpy (configure.ac): ... to here.
11662
11663 2011-05-21  Bruno Haible  <bruno@clisp.org>
11664
11665         memmove: Move AC_LIBOBJ invocations to module description.
11666         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
11667         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
11668         here...
11669         * modules/memmove (configure.ac): ... to here.
11670
11671 2011-05-21  Bruno Haible  <bruno@clisp.org>
11672
11673         memmem*: Move AC_LIBOBJ invocations to module description.
11674         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
11675         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
11676         here...
11677         (gl_FUNC_MEMMEM): ... and here...
11678         * modules/memmem-simple (configure.ac): ... to here.
11679         * modules/memmem (configure.ac): ... and here.
11680
11681 2011-05-21  Bruno Haible  <bruno@clisp.org>
11682
11683         memcpy: Move AC_LIBOBJ invocations to module description.
11684         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
11685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
11686         here...
11687         * modules/memcpy (configure.ac): ... to here.
11688
11689 2011-05-21  Bruno Haible  <bruno@clisp.org>
11690
11691         memcmp: Simplify autoconf macro.
11692         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
11693         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
11694         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
11695
11696 2011-05-21  Bruno Haible  <bruno@clisp.org>
11697
11698         memcmp: Move AC_LIBOBJ invocations to module description.
11699         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
11700         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
11701         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
11702         * modules/memcmp (configure.ac): ... to here.
11703         (Depends-on): Update conditions.
11704
11705 2011-05-21  Bruno Haible  <bruno@clisp.org>
11706
11707         memchr: Respect rules for use of AC_LIBOBJ.
11708         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
11709         invocations from here...
11710         * modules/memchr (configure.ac): ... to here.
11711
11712 2011-05-21  Bruno Haible  <bruno@clisp.org>
11713
11714         mbtowc: Move AC_LIBOBJ invocations to module description.
11715         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
11716         invocations from here...
11717         * modules/mbtowc (configure.ac): ... to here.
11718
11719 2011-05-21  Bruno Haible  <bruno@clisp.org>
11720
11721         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
11722         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
11723         gl_PREREQ_MBSRTOWCS invocations from here...
11724         * modules/mbsrtowcs (configure.ac): ... to here.
11725
11726 2011-05-21  Bruno Haible  <bruno@clisp.org>
11727
11728         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
11729         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
11730         gl_PREREQ_MBSNRTOWCS invocations from here...
11731         * modules/mbsnrtowcs (configure.ac): ... to here.
11732
11733 2011-05-21  Bruno Haible  <bruno@clisp.org>
11734
11735         mbsinit: Move AC_LIBOBJ invocations to module description.
11736         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
11737         invocations from here...
11738         * modules/mbsinit (configure.ac): ... to here.
11739
11740 2011-05-21  Bruno Haible  <bruno@clisp.org>
11741
11742         mbrlen: Move AC_LIBOBJ invocations to module description.
11743         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
11744         invocations from here...
11745         * modules/mbrlen (configure.ac): ... to here.
11746
11747 2011-05-21  Bruno Haible  <bruno@clisp.org>
11748
11749         mbrtowc: Respect rules for use of AC_LIBOBJ.
11750         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
11751         invocations from here...
11752         * modules/mbrtowc (configure.ac): ... to here.
11753
11754 2011-05-21  Bruno Haible  <bruno@clisp.org>
11755
11756         malloc-*: Move AC_LIBOBJ invocations to module description.
11757         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
11758         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
11759         AC_LIBOBJ invocations from here...
11760         * modules/malloc-gnu (configure.ac): ... to here.
11761         * modules/malloc-posix (configure.ac): ... and here.
11762
11763 2011-05-21  Bruno Haible  <bruno@clisp.org>
11764
11765         lstat, openat: Respect rules for use of AC_LIBOBJ.
11766         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
11767         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
11768         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
11769         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
11770         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
11771         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
11772         here.
11773         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
11774
11775 2011-05-21  Bruno Haible  <bruno@clisp.org>
11776
11777         lseek: Move AC_LIBOBJ invocations to module description.
11778         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
11779         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11780         * modules/lseek (configure.ac): ... to here.
11781
11782 2011-05-21  Bruno Haible  <bruno@clisp.org>
11783
11784         linkat: Move AC_LIBOBJ invocations to module description.
11785         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
11786         here...
11787         * modules/linkat (configure.ac): ... to here.
11788
11789 2011-05-21  Bruno Haible  <bruno@clisp.org>
11790
11791         link: Respect rules for use of AC_LIBOBJ.
11792         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
11793         * modules/link (configure.ac): ... to here.
11794
11795 2011-05-21  Bruno Haible  <bruno@clisp.org>
11796
11797         lchown: Move AC_LIBOBJ invocations to module description.
11798         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11799         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
11800         * modules/lchown (configure.ac): ... to here.
11801
11802 2011-05-21  Bruno Haible  <bruno@clisp.org>
11803
11804         iswctype: Move AC_LIBOBJ invocations to module description.
11805         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
11806         here...
11807         * modules/iswctype (configure.ac): ... to here.
11808
11809 2011-05-21  Bruno Haible  <bruno@clisp.org>
11810
11811         iswblank: Move AC_LIBOBJ invocations to module description.
11812         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
11813         here...
11814         * modules/iswblank (configure.ac): ... to here.
11815
11816 2011-05-21  Bruno Haible  <bruno@clisp.org>
11817
11818         atanl: Move AC_LIBOBJ invocations to module description.
11819         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
11820         * modules/atanl (configure.ac): ... to here.
11821
11822 2011-05-21  Bruno Haible  <bruno@clisp.org>
11823
11824         acosl: Move AC_LIBOBJ invocations to module description.
11825         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
11826         * modules/acosl (configure.ac): ... to here.
11827
11828 2011-05-21  Bruno Haible  <bruno@clisp.org>
11829
11830         asinl: Respect rules for use of AC_LIBOBJ.
11831         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
11832         * modules/asinl (configure.ac): ... to here.
11833
11834 2011-05-21  Bruno Haible  <bruno@clisp.org>
11835
11836         tanl: Move AC_LIBOBJ invocations to module description.
11837         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
11838         * modules/tanl (configure.ac): ... to here.
11839
11840 2011-05-21  Bruno Haible  <bruno@clisp.org>
11841
11842         cosl: Move AC_LIBOBJ invocations to module description.
11843         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
11844         * modules/cosl (configure.ac): ... to here.
11845
11846 2011-05-21  Bruno Haible  <bruno@clisp.org>
11847
11848         sinl: Move AC_LIBOBJ invocations to module description.
11849         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
11850         * modules/sinl (configure.ac): ... to here.
11851
11852 2011-05-21  Bruno Haible  <bruno@clisp.org>
11853
11854         logl: Move AC_LIBOBJ invocations to module description.
11855         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
11856         * modules/logl (configure.ac): ... to here.
11857
11858 2011-05-21  Bruno Haible  <bruno@clisp.org>
11859
11860         expl: Move AC_LIBOBJ invocations to module description.
11861         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
11862         * modules/expl (configure.ac): ... to here.
11863
11864 2011-05-21  Bruno Haible  <bruno@clisp.org>
11865
11866         roundl: Move AC_LIBOBJ invocations to module description.
11867         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
11868         * modules/roundl (configure.ac): ... to here.
11869
11870 2011-05-21  Bruno Haible  <bruno@clisp.org>
11871
11872         round: Move AC_LIBOBJ invocations to module description.
11873         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
11874         * modules/round (configure.ac): ... to here.
11875
11876 2011-05-21  Bruno Haible  <bruno@clisp.org>
11877
11878         roundf: Move AC_LIBOBJ invocations to module description.
11879         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
11880         * modules/roundf (configure.ac): ... to here.
11881
11882 2011-05-21  Bruno Haible  <bruno@clisp.org>
11883
11884         truncl: Move AC_LIBOBJ invocations to module description.
11885         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
11886         * modules/truncl (configure.ac): ... to here.
11887
11888 2011-05-21  Bruno Haible  <bruno@clisp.org>
11889
11890         trunc: Move AC_LIBOBJ invocations to module description.
11891         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
11892         * modules/trunc (configure.ac): ... to here.
11893
11894 2011-05-21  Bruno Haible  <bruno@clisp.org>
11895
11896         truncf: Move AC_LIBOBJ invocations to module description.
11897         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
11898         * modules/truncf (configure.ac): ... to here.
11899
11900 2011-05-21  Bruno Haible  <bruno@clisp.org>
11901
11902         ceill: Move AC_LIBOBJ invocations to module description.
11903         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
11904         * modules/ceill (configure.ac): ... to here.
11905
11906 2011-05-21  Bruno Haible  <bruno@clisp.org>
11907
11908         ceil: Move AC_LIBOBJ invocations to module description.
11909         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
11910         * modules/ceil (configure.ac): ... to here.
11911
11912 2011-05-21  Bruno Haible  <bruno@clisp.org>
11913
11914         ceilf: Move AC_LIBOBJ invocations to module description.
11915         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
11916         * modules/ceilf (configure.ac): ... to here.
11917
11918 2011-05-21  Bruno Haible  <bruno@clisp.org>
11919
11920         floorl: Respect rules for use of AC_LIBOBJ.
11921         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
11922         * modules/floorl (configure.ac): ... to here.
11923
11924 2011-05-21  Bruno Haible  <bruno@clisp.org>
11925
11926         floor: Respect rules for use of AC_LIBOBJ.
11927         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
11928         * modules/floor (configure.ac): ... to here.
11929
11930 2011-05-21  Bruno Haible  <bruno@clisp.org>
11931
11932         floorf: Move AC_LIBOBJ invocations to module description.
11933         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
11934         * modules/floorf (configure.ac): ... to here.
11935
11936 2011-05-20  Bruno Haible  <bruno@clisp.org>
11937
11938         sqrtl: Respect rules for use of AC_LIBOBJ.
11939         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
11940         * modules/sqrtl (configure.ac): ... to here.
11941
11942 2011-05-20  Bruno Haible  <bruno@clisp.org>
11943
11944         ldexpl: Respect rules for use of AC_LIBOBJ.
11945         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
11946         * modules/ldexpl (configure.ac): ... to here.
11947
11948 2011-05-20  Bruno Haible  <bruno@clisp.org>
11949
11950         frexpl*: Respect rules for use of AC_LIBOBJ.
11951         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
11952         invocation from here...
11953         * modules/frexpl (configure.ac): ... to here.
11954         * modules/frexpl-nolibm (configure.ac): ... and here.
11955
11956 2011-05-20  Bruno Haible  <bruno@clisp.org>
11957
11958         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
11959         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
11960         invocation from here...
11961         * modules/frexp (configure.ac): ... to here.
11962         * modules/frexp-nolibm (configure.ac): ... and here.
11963
11964 2011-05-20  Bruno Haible  <bruno@clisp.org>
11965
11966         isnan: Respect rules for use of AC_LIBOBJ.
11967         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11968         invocations here.
11969         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11970         REPLACE_ISNAN.
11971         * modules/isnand (configure.ac): Likewise.
11972         * modules/isnanl (configure.ac): Likewise.
11973
11974 2011-05-20  Bruno Haible  <bruno@clisp.org>
11975
11976         isnanl*: Respect rules for use of AC_LIBOBJ.
11977         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11978         invocation from here...
11979         * modules/isnanl (configure.ac): ... to here.
11980         * modules/isnanl-nolibm (configure.ac): ... and here.
11981
11982 2011-05-20  Bruno Haible  <bruno@clisp.org>
11983
11984         isnand*: Move AC_LIBOBJ invocations to module description.
11985         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11986         invocation from here...
11987         * modules/isnand (configure.ac): ... to here.
11988         * modules/isnand-nolibm (configure.ac): ... and here.
11989
11990 2011-05-20  Bruno Haible  <bruno@clisp.org>
11991
11992         isnanf*: Move AC_LIBOBJ invocations to module description.
11993         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11994         invocation from here...
11995         * modules/isnanf (configure.ac): ... to here.
11996         * modules/isnanf-nolibm (configure.ac): ... and here.
11997
11998 2011-05-20  Bruno Haible  <bruno@clisp.org>
11999
12000         isnan*: Separate the AC_LIBOBJ invocations.
12001         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12002         AC_LIBOBJ invocation.
12003         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12004         here.
12005         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12006         AC_LIBOBJ invocation.
12007         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12008         here.
12009         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12010         AC_LIBOBJ invocation.
12011         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12012         here.
12013         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12014
12015 2011-05-08  Bruno Haible  <bruno@clisp.org>
12016
12017         isinf: Move AC_LIBOBJ invocations to module description.
12018         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12019         * modules/isinf (configure.ac): ... to here.
12020
12021 2011-05-08  Bruno Haible  <bruno@clisp.org>
12022
12023         isfinite: Move AC_LIBOBJ invocations to module description.
12024         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12025         * modules/isfinite (configure.ac): ... to here.
12026
12027 2011-05-08  Bruno Haible  <bruno@clisp.org>
12028
12029         isblank: Move AC_LIBOBJ invocations to module description.
12030         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12031         here...
12032         * modules/isblank (configure.ac): ... to here.
12033
12034 2011-05-08  Bruno Haible  <bruno@clisp.org>
12035
12036         isapipe: Move AC_LIBOBJ invocations to module description.
12037         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12038         gl_PREREQ_ISAPIPE invocations from here...
12039         * modules/isapipe (configure.ac): ... to here.
12040         (Depends-on): Update condition.
12041
12042 2011-05-08  Bruno Haible  <bruno@clisp.org>
12043
12044         ioctl: Move AC_LIBOBJ invocations to module description.
12045         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12046         invocations from here...
12047         * modules/ioctl (configure.ac): ... to here.
12048         (Depends-on): Update condition.
12049
12050 2011-05-08  Bruno Haible  <bruno@clisp.org>
12051
12052         imaxdiv: Move AC_LIBOBJ invocations to module description.
12053         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12054         invocations from here...
12055         * modules/imaxdiv (configure.ac): ... to here.
12056
12057 2011-05-08  Bruno Haible  <bruno@clisp.org>
12058
12059         imaxabs: Move AC_LIBOBJ invocations to module description.
12060         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12061         invocations from here...
12062         * modules/imaxabs (configure.ac): ... to here.
12063
12064 2011-05-08  Bruno Haible  <bruno@clisp.org>
12065
12066         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12067         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12068         AC_LIBOBJ invocations from here...
12069         * modules/getaddrinfo (configure.ac): ... to here.
12070         (Depends-on): Add conditions.
12071
12072 2011-05-08  Bruno Haible  <bruno@clisp.org>
12073
12074         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12075         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12076         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12077         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12078         (gl_PREREQ_INET_PTON): ... from here.
12079         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12080         gl_PREREQ_INET_PTON here.
12081         (Depends-on): Update condition.
12082
12083 2011-05-08  Bruno Haible  <bruno@clisp.org>
12084
12085         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12086         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12087         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12088         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12089         (gl_PREREQ_INET_NTOP): ... from here.
12090         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12091         gl_PREREQ_INET_NTOP here.
12092         (Depends-on): Update condition.
12093
12094 2011-05-08  Bruno Haible  <bruno@clisp.org>
12095
12096         iconv_open: Move AC_LIBOBJ invocations to module description.
12097         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12098         AC_LIBOBJ invocations from here...
12099         * modules/iconv_open (configure.ac): ... to here.
12100
12101 2011-05-08  Bruno Haible  <bruno@clisp.org>
12102
12103         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12104         If module 'iconv_open' is among the main modules and module
12105         'iconv_open-utf' is among the tests dependencies, then
12106         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12107         return the special iconv_t values. Therefore iconv() and iconv_close()
12108         must support these special iconv_t values, already in lib, not only in
12109         tests.
12110         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12111         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12112         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12113         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12114         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12115         (Depends-on): Add the dependencies of iconv_open-utf.
12116         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12117         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12118         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12119
12120 2011-05-08  Bruno Haible  <bruno@clisp.org>
12121
12122         group-member: Move AC_LIBOBJ invocations to module description.
12123         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12124         gl_PREREQ_GROUP_MEMBER invocations from here...
12125         * modules/group-member (configure.ac): ... to here.
12126
12127 2011-05-08  Bruno Haible  <bruno@clisp.org>
12128
12129         grantpt: Move AC_LIBOBJ invocations to module description.
12130         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12131         invocations from here...
12132         * modules/grantpt (configure.ac): ... to here.
12133
12134 2011-05-08  Bruno Haible  <bruno@clisp.org>
12135
12136         glob: Move AC_LIBOBJ invocations to module description.
12137         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12138         from here...
12139         * modules/glob (configure.ac): ... to here.
12140
12141 2011-05-08  Bruno Haible  <bruno@clisp.org>
12142
12143         getusershell: Move AC_LIBOBJ invocations to module description.
12144         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12145         Move AC_LIBOBJ invocation from here...
12146         * modules/getusershell (configure.ac): ... to here.
12147         (Depends-on): Update condition.
12148
12149 2011-05-08  Bruno Haible  <bruno@clisp.org>
12150
12151         gettimeofday: Move AC_LIBOBJ invocations to module description.
12152         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12153         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12154         gl_PREREQ_GETTIMEOFDAY invocations from here...
12155         * modules/gettimeofday (configure.ac): ... to here.
12156
12157 2011-05-08  Bruno Haible  <bruno@clisp.org>
12158
12159         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12160         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12161         just gl_FUNC_TZSET.
12162         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12163         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12164         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12165         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12166
12167 2011-05-08  Bruno Haible  <bruno@clisp.org>
12168
12169         getsubopt: Move AC_LIBOBJ invocations to module description.
12170         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12171         gl_PREREQ_GETSUBOPT invocations from here...
12172         * modules/getsubopt (configure.ac): ... to here.
12173
12174 2011-05-08  Bruno Haible  <bruno@clisp.org>
12175
12176         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12177         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12178         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12179         * modules/getpass-gnu (configure.ac): ... to here.
12180
12181 2011-05-08  Bruno Haible  <bruno@clisp.org>
12182
12183         getpass: Move AC_LIBOBJ invocations to module description.
12184         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12185         gl_PREREQ_GETPASS invocations from here...
12186         * modules/getpass (configure.ac): ... to here.
12187
12188 2011-05-08  Bruno Haible  <bruno@clisp.org>
12189
12190         getpagesize: Move AC_LIBOBJ invocations to module description.
12191         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12192         from here...
12193         * modules/getpagesize (configure.ac): ... to here.
12194
12195 2011-05-08  Bruno Haible  <bruno@clisp.org>
12196
12197         getopt: Move AC_LIBOBJ invocations to module description.
12198         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12199         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12200         invocations from here...
12201         * modules/getopt-gnu (configure.ac): ... to here.
12202         * modules/getopt-posix (configure.ac): ... and here.
12203         (Depends-on): Update condition.
12204
12205 2011-05-08  Bruno Haible  <bruno@clisp.org>
12206
12207         getopt, argp: Respect rules for use of AC_LIBOBJ.
12208         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12209         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12210         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12211         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12212
12213 2011-05-08  Bruno Haible  <bruno@clisp.org>
12214
12215         getlogin_r: Move AC_LIBOBJ invocations to module description.
12216         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12217         gl_PREREQ_GETLOGIN_R invocations from here...
12218         * modules/getlogin_r (configure.ac): ... to here.
12219
12220 2011-05-08  Bruno Haible  <bruno@clisp.org>
12221
12222         getlogin: Move AC_LIBOBJ invocations to module description.
12223         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12224         here...
12225         * modules/getlogin (configure.ac): ... to here.
12226
12227 2011-05-08  Bruno Haible  <bruno@clisp.org>
12228
12229         getloadavg: Move AC_LIBOBJ invocations to module description.
12230         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12231         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12232         * modules/getloadavg (configure.ac): ... to here.
12233
12234 2011-05-08  Bruno Haible  <bruno@clisp.org>
12235
12236         gethrxtime: Move AC_LIBOBJ invocations to module description.
12237         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12238         LIB_GETHRXTIME from here...
12239         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12240         invocations from here...
12241         * modules/gethrxtime (configure.ac): ... to here.
12242
12243 2011-05-08  Bruno Haible  <bruno@clisp.org>
12244
12245         gethostname: Move AC_LIBOBJ invocations to module description.
12246         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12247         gl_PREREQ_GETHOSTNAME invocations from here...
12248         * modules/gethostname (configure.ac): ... to here.
12249
12250 2011-05-08  Bruno Haible  <bruno@clisp.org>
12251
12252         getgroups: Move AC_LIBOBJ invocations to module description.
12253         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12254         here...
12255         * modules/getgroups (configure.ac): ... to here.
12256
12257 2011-05-08  Bruno Haible  <bruno@clisp.org>
12258
12259         getdtablesize: Move AC_LIBOBJ invocations to module description.
12260         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12261         invocation from here...
12262         * modules/getdtablesize (configure.ac): ... to here.
12263
12264 2011-05-08  Bruno Haible  <bruno@clisp.org>
12265
12266         getdomainname: Move AC_LIBOBJ invocations to module description.
12267         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12268         gl_PREREQ_GETDOMAINNAME invocations from here...
12269         * modules/getdomainname (configure.ac): ... to here.
12270
12271 2011-05-08  Bruno Haible  <bruno@clisp.org>
12272
12273         getline: Move AC_LIBOBJ invocations to module description.
12274         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12275         invocations from here...
12276         * modules/getline (configure.ac): ... to here.
12277
12278 2011-05-08  Bruno Haible  <bruno@clisp.org>
12279
12280         getline: Simplify.
12281         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12282         It's already handled through the module dependency.
12283
12284 2011-05-08  Bruno Haible  <bruno@clisp.org>
12285
12286         getdelim: Move AC_LIBOBJ invocations to module description.
12287         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12288         and gl_PREREQ_GETDELIM invocations from here...
12289         * modules/getdelim (configure.ac): ... to here.
12290         (Depends-on): Fix condition.
12291
12292 2011-05-08  Bruno Haible  <bruno@clisp.org>
12293
12294         getcwd: Move AC_LIBOBJ invocations to module description.
12295         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12296         invocations from here...
12297         * modules/getcwd (configure.ac): ... to here.
12298
12299 2011-05-08  Bruno Haible  <bruno@clisp.org>
12300
12301         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12302         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12303         here...
12304         * modules/getcwd-lgpl (configure.ac): ... to here.
12305
12306 2011-05-07  Bruno Haible  <bruno@clisp.org>
12307
12308         crypto/gc: Move AC_LIBOBJ invocations to module description.
12309         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12310         * modules/crypto/gc (configure.ac): ... to here.
12311
12312 2011-05-07  Bruno Haible  <bruno@clisp.org>
12313
12314         fwriting: Move AC_LIBOBJ invocations to module description.
12315         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12316         here...
12317         * modules/fwriting (configure.ac): ... to here.
12318
12319 2011-05-07  Bruno Haible  <bruno@clisp.org>
12320
12321         fwritable: Move AC_LIBOBJ invocations to module description.
12322         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12323         here...
12324         * modules/fwritable (configure.ac): ... to here.
12325
12326 2011-05-07  Bruno Haible  <bruno@clisp.org>
12327
12328         futimens: Move AC_LIBOBJ invocations to module description.
12329         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12330         here...
12331         * modules/futimens (configure.ac): ... to here.
12332
12333 2011-05-07  Bruno Haible  <bruno@clisp.org>
12334
12335         ftruncate: Move AC_LIBOBJ invocations to module description.
12336         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
12337         gl_PREREQ_FTRUNCATE invocations from here...
12338         * modules/ftruncate (configure.ac): ... to here.
12339
12340 2011-05-07  Bruno Haible  <bruno@clisp.org>
12341
12342         fsync: Move AC_LIBOBJ invocations to module description.
12343         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
12344         invocations from here...
12345         * modules/fsync (configure.ac): ... to here.
12346
12347 2011-05-07  Bruno Haible  <bruno@clisp.org>
12348
12349         fsusage: Move AC_LIBOBJ invocations to module description.
12350         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
12351         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
12352         * modules/fsusage (configure.ac): ... to here.
12353
12354 2011-05-07  Bruno Haible  <bruno@clisp.org>
12355
12356         freopen: Move AC_LIBOBJ invocations to module description.
12357         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
12358         invocations from here...
12359         * modules/freopen (configure.ac): ... to here.
12360
12361 2011-05-07  Bruno Haible  <bruno@clisp.org>
12362
12363         free: Move AC_LIBOBJ invocations to module description.
12364         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
12365         invocations from here...
12366         * modules/free (configure.ac): ... to here.
12367
12368 2011-05-07  Bruno Haible  <bruno@clisp.org>
12369
12370         freadable: Move AC_LIBOBJ invocations to module description.
12371         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
12372         here...
12373         * modules/freadable (configure.ac): ... to here.
12374
12375 2011-05-07  Bruno Haible  <bruno@clisp.org>
12376
12377         fpurge: Move AC_LIBOBJ invocations to module description.
12378         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
12379         invocations from here...
12380         * modules/fpurge (configure.ac): ... to here.
12381
12382 2011-05-07  Bruno Haible  <bruno@clisp.org>
12383
12384         fpending: Move AC_LIBOBJ invocations to module description.
12385         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
12386         gl_FUNC_FPENDING.
12387         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
12388         invocations from here...
12389         * modules/fpending (configure.ac): ... to here.
12390
12391 2011-05-07  Bruno Haible  <bruno@clisp.org>
12392
12393         fopen: Move AC_LIBOBJ invocations to module description.
12394         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
12395         invocations from here...
12396         * modules/fopen (configure.ac): ... to here.
12397
12398 2011-05-07  Bruno Haible  <bruno@clisp.org>
12399
12400         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
12401         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
12402         gl_FUNC_FNMATCH_POSIX.
12403         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
12404         invocations from here...
12405         * modules/fnmatch (configure.ac): ... to here.
12406         * modules/fnmatch-gnu (configure.ac): ... and here.
12407
12408 2011-05-07  Bruno Haible  <bruno@clisp.org>
12409
12410         flock: Move AC_LIBOBJ invocations to module description.
12411         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
12412         invocations from here...
12413         * modules/flock (configure.ac): ... to here.
12414
12415 2011-05-07  Bruno Haible  <bruno@clisp.org>
12416
12417         fileblocks: Move AC_LIBOBJ invocations to module description.
12418         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
12419         gl_PREREQ_FILEBLOCKS invocations from here...
12420         * modules/fileblocks (configure.ac): ... to here.
12421
12422 2011-05-06  Bruno Haible  <bruno@clisp.org>
12423
12424         fflush: Move AC_LIBOBJ invocations to module description.
12425         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
12426         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
12427         invocations from here...
12428         * modules/fflush (configure.ac): ... to here.
12429
12430 2011-05-06  Bruno Haible  <bruno@clisp.org>
12431
12432         fdopendir: Move AC_LIBOBJ invocations to module description.
12433         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
12434         here...
12435         * modules/fdopendir (configure.ac): ... to here.
12436         (Depends-on): Improve conditions.
12437
12438 2011-05-06  Bruno Haible  <bruno@clisp.org>
12439
12440         _Exit: Move AC_LIBOBJ invocations to module description.
12441         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
12442         invocations from here...
12443         * modules/_Exit (configure.ac): ... to here.
12444
12445 2011-05-21  Bruno Haible  <bruno@clisp.org>
12446
12447         euidaccess: Respect rules for use of AC_LIBOBJ.
12448         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12449         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
12450         from here...
12451         * modules/euidaccess (configure.ac): ... to here.
12452
12453 2011-05-06  Bruno Haible  <bruno@clisp.org>
12454
12455         error: Move AC_LIBOBJ invocations to module description.
12456         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
12457         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
12458         invocations from here...
12459         * modules/error (configure.ac): ... to here.
12460
12461 2011-05-06  Bruno Haible  <bruno@clisp.org>
12462
12463         duplocale: Move AC_LIBOBJ invocations to module description.
12464         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
12465         gl_PREREQ_DUPLOCALE invocations from here...
12466         * modules/duplocale (configure.ac): ... to here.
12467
12468 2011-05-05  Bruno Haible  <bruno@clisp.org>
12469
12470         dirfd: Move AC_LIBOBJ invocations to module description.
12471         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
12472         gl_FUNC_DIRFD.
12473         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
12474         here...
12475         * modules/dirfd (configure.ac): ... to here.
12476         (Depends-on): Fix condition.
12477
12478 2011-05-05  Bruno Haible  <bruno@clisp.org>
12479
12480         chown: Respect rules for use of AC_LIBOBJ.
12481         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
12482         * modules/chown (configure.ac): ... to here.
12483
12484 2011-05-05  Bruno Haible  <bruno@clisp.org>
12485
12486         chdir-long: Move AC_LIBOBJ invocations to module description.
12487         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
12488         gl_PREREQ_CHDIR_LONG invocations from here...
12489         * modules/chdir-long (configure.ac): ... to here.
12490
12491 2011-05-05  Bruno Haible  <bruno@clisp.org>
12492
12493         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
12494         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
12495         from here...
12496         * modules/canonicalize-lgpl (configure.ac): ... to here.
12497
12498 2011-05-05  Bruno Haible  <bruno@clisp.org>
12499
12500         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
12501         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
12502         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
12503         REPLACE_CALLOC.
12504         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
12505         * modules/calloc-gnu (configure.ac): Likewise.
12506
12507 2011-05-05  Bruno Haible  <bruno@clisp.org>
12508
12509         btowc: Move AC_LIBOBJ invocations to module description.
12510         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
12511         invocations from here...
12512         * modules/btowc (configure.ac): ... to here.
12513
12514 2011-05-21  Bruno Haible  <bruno@clisp.org>
12515
12516         atexit: Move AC_LIBOBJ invocations to module description.
12517         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
12518         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
12519         here...
12520         * modules/atexit (configure.ac): ... to here.
12521
12522 2011-05-05  Bruno Haible  <bruno@clisp.org>
12523
12524         atoll: Move AC_LIBOBJ invocations to module description.
12525         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
12526         invocations from here...
12527         * modules/atoll (configure.ac): ... to here.
12528
12529 2011-05-05  Bruno Haible  <bruno@clisp.org>
12530
12531         argz: Move AC_LIBOBJ invocations to module description.
12532         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
12533         * modules/argz (configure.ac): ... to here.
12534
12535 2011-05-05  Bruno Haible  <bruno@clisp.org>
12536
12537         alphasort: Move AC_LIBOBJ invocations to module description.
12538         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
12539         gl_PREREQ_ALPHASORT invocations from here...
12540         * modules/alphasort (configure.ac): ... to here.
12541
12542 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
12543
12544         verify: new macro verify_expr; verify_true deprecated
12545         * NEWS: Mention this.
12546         * doc/verify.texi (Compile-time Assertions): Document this.
12547         * lib/verify.h (verify_true): Deprecate.
12548         (verify_expr): New macro.
12549         * tests/test-verify.c (function): Test verify_expr.
12550
12551 2011-06-14  Jim Meyering  <meyering@redhat.com>
12552
12553         init.sh: give more portable redirection-related advice in a comment
12554         * tests/init.sh (stderr_fileno_): Update the advice in comments.
12555         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
12556         for lots of discussion.  Stefano Lattarini suggested the solution
12557         of putting "9>&2" after the command.  Reported by Bruno Haible.
12558
12559 2011-06-13  Bruno Haible  <bruno@clisp.org>
12560
12561         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
12562         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
12563         'none'.
12564
12565 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12566
12567         ftoastr: use strtof only if HAVE_STRTOF
12568         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
12569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
12570         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
12571         * modules/ftoastr (configure.ac): Check for strtof.
12572
12573 2011-06-13  Bruno Haible  <bruno@clisp.org>
12574
12575         gnulib-tool: Addendum to 2011-06-08 commit.
12576         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
12577         and --witness-c-macro have been given, augment AM_CPPFLAGS.
12578
12579 2011-06-13  Bruno Haible  <bruno@clisp.org>
12580
12581         fseeko: Provide a non-inline replacement of fseek().
12582         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
12583         * modules/fseeko (Depends-on): Add fseek.
12584         * modules/fseek (License): Change to LGPLv2+.
12585
12586 2011-06-13  Bruno Haible  <bruno@clisp.org>
12587
12588         ftello: Provide a non-inline replacement of ftell().
12589         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
12590         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
12591         not have ftello() (such as on mingw).
12592         * modules/ftello (Depends-on): Add ftell.
12593         * modules/ftell (License): Change to LGPLv2+.
12594
12595 2011-05-07  Bruno Haible  <bruno@clisp.org>
12596
12597         ftell: Move AC_LIBOBJ invocations to module description.
12598         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
12599         * modules/ftell (configure.ac): ... to here.
12600
12601 2011-05-07  Bruno Haible  <bruno@clisp.org>
12602
12603         ftello: Respect rules for use of AC_LIBOBJ.
12604         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
12605         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
12606         here...
12607         * modules/ftello (configure.ac): ... to here.
12608
12609 2011-05-07  Bruno Haible  <bruno@clisp.org>
12610
12611         fseeko: Simplify.
12612         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
12613         (gl_FUNC_FSEEKO): Inline it here.
12614
12615 2011-05-07  Bruno Haible  <bruno@clisp.org>
12616
12617         fseek: Move AC_LIBOBJ invocations to module description.
12618         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
12619         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12620         * modules/fseek (configure.ac): ... to here.
12621
12622 2011-05-07  Bruno Haible  <bruno@clisp.org>
12623
12624         fseek: Respect rules for use of AC_LIBOBJ.
12625         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
12626         here...
12627         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
12628
12629 2011-05-07  Bruno Haible  <bruno@clisp.org>
12630
12631         fseeko: Respect rules for use of AC_LIBOBJ.
12632         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
12633         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
12634         here...
12635         * modules/fseeko (configure.ac): ... to here.
12636
12637 2011-06-13  Bruno Haible  <bruno@clisp.org>
12638
12639         gnulib-tool: Allow comments in the 'Depends-on' section.
12640         * doc/gnulib.texi (Module description): Mention comment syntax in the
12641         Depends-on section.
12642         * gnulib-tool (func_get_dependencies): Filter out comment lines.
12643
12644 2011-06-13  Bruno Haible  <bruno@clisp.org>
12645
12646         file-set.h: guard __attibute__ use, now that it's not always defined
12647         * lib/file-set.h (record_file): Use __attribute__ only with compiler
12648         versions that support it.  This fixes a coreutils build failure with
12649         the vendor cc on HP-UX 11.31.
12650
12651 2011-06-12  Bruno Haible  <bruno@clisp.org>
12652
12653         acl: Add support for HP-UX >= 11.11 JFS ACLs.
12654         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
12655         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
12656         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
12657         (acl, aclsort): New declarations.
12658         (aclv_nontrivial): New declaration.
12659         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
12660         (file_has_acl): Read also the second kind of HP-UX ACLs.
12661         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
12662         kind of HP-UX ACLs if the first kind fails.
12663         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
12664         second kind of HP-UX ACLs.
12665         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
12666         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
12667         agree.
12668         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12669         hpuxjfs.
12670         Handle hpuxjfs.
12671         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
12672         hpuxjfs.
12673         Handle hpuxjfs.
12674         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12675         (func_test_same_acls): Use both lsacl and getacl.
12676         Handle hpuxjfs.
12677         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
12678         (func_test_same_acls): Use both lsacl and getacl.
12679         Handle hpuxjfs.
12680
12681 2011-06-12  Bruno Haible  <bruno@clisp.org>
12682
12683         acl: Complete the 2010-08-10 fix.
12684         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
12685         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
12686         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
12687         explicitly.
12688         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
12689         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
12690
12691 2011-06-12  Bruno Haible  <bruno@clisp.org>
12692
12693         spawn-pipe tests: Comments.
12694         * tests/test-spawn-pipe-child.c (main): Update comment.
12695         Reported by James Youngman <jay@gnu.org>.
12696
12697 2011-06-11  James Youngman  <jay@gnu.org>
12698
12699         New module 'stat-size'.
12700         * modules/stat-size: New module.  Provides macros for accessing
12701         file size information in instances of struct stat.  Depends on the
12702         fileblocks module because it calls st_blocks.
12703         * lib/stat-size.h: New file, adapted from coreutils' system.h.
12704         * doc/gnulib.texi: Include stat-size.texi.
12705         * doc/stat-size.texi: Documentation for this module.
12706         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
12707         * m4/fileblocks.m4: Mention that stat-size depends on the call to
12708         AC_STRUCT_ST_BLOCKS.
12709
12710 2011-06-09  Bruno Haible  <bruno@clisp.org>
12711
12712         thread: Support pthreads-win32.
12713         * lib/glthread/thread.h (gl_thread_self): Define differently on
12714         pthreads-win32.
12715         (gl_null_thread): New declaration.
12716         (gl_thread_self_pointer): New macro.
12717         * lib/glthread/thread.c (gl_null_thread): New constant.
12718         * tests/test-lock.c: Use gl_thread_self_pointer instead of
12719         gl_thread_self.
12720         * tests/test-tls.c: Likewise.
12721         Suggested by Paul Eggert. Reported by Eric Blake.
12722
12723 2011-06-09  Bruno Haible  <bruno@clisp.org>
12724
12725         thread: Fix confusion between NULL and 0.
12726         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
12727         Reported by Paul Eggert.
12728
12729 2011-06-09  Bruno Haible  <bruno@clisp.org>
12730
12731         spawn-pipe tests: Avoid test failure on HP-UX 11.
12732         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
12733         is closed.
12734
12735 2011-06-09  Bruno Haible  <bruno@clisp.org>
12736
12737         acl tests: Fix compilation error on HP-UX 11.
12738         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
12739
12740 2011-06-09  Bruno Haible  <bruno@clisp.org>
12741
12742         rmdir: Avoid test failure on HP-UX 10.20.
12743         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
12744         EEXIST.
12745
12746 2011-06-08  Eric Blake  <eblake@redhat.com>
12747
12748         perror: fix test on mingw
12749         * modules/perror-tests (Depends-on): Add dup2.
12750
12751         strerror_r-posix: fix on MacOS
12752         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
12753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
12754         logic bug.
12755         * lib/strerror_r.c (strerror_r): Fix the bug.
12756         * lib/strerror.c (strerror): Likewise.
12757         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12758         problem.
12759         * doc/posix-functions/strerror.texi (strerror): Likewise.
12760         * doc/posix-functions/perror.texi (perror): Likewise.
12761         * tests/test-strerror.c (main): Enhance test.
12762         * tests/test-strerror_r.c (main): Likewise.
12763
12764 2011-06-08  Bruno Haible  <bruno@clisp.org>
12765
12766         gnulib-tool: Better isolation between different gnulib-tool invocations.
12767         * gnulib-tool: New option --witness-c-macro.
12768         (witness_c_macro): New variable.
12769         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
12770         AM_CPPFLAGS define it as a C macro.
12771         (func_emit_tests_Makefile_am): Likewise.
12772         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
12773         read it from there.
12774         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
12775         m4_define, not AC_DEFUN.
12776         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
12777         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
12778         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
12779         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
12780         s|...|...|, to substitute the values of the GNULIB_* module indicator
12781         variables.
12782         * modules/dirent (Makefile.am): Likewise.
12783         * modules/fcntl-h (Makefile.am): Likewise.
12784         * modules/iconv-h (Makefile.am): Likewise.
12785         * modules/langinfo (Makefile.am): Likewise.
12786         * modules/locale (Makefile.am): Likewise.
12787         * modules/math (Makefile.am): Likewise.
12788         * modules/netdb (Makefile.am): Likewise.
12789         * modules/poll-h (Makefile.am): Likewise.
12790         * modules/pty (Makefile.am): Likewise.
12791         * modules/search (Makefile.am): Likewise.
12792         * modules/signal (Makefile.am): Likewise.
12793         * modules/spawn (Makefile.am): Likewise.
12794         * modules/stdio (Makefile.am): Likewise.
12795         * modules/stdlib (Makefile.am): Likewise.
12796         * modules/string (Makefile.am): Likewise.
12797         * modules/sys_ioctl (Makefile.am): Likewise.
12798         * modules/sys_select (Makefile.am): Likewise.
12799         * modules/sys_socket (Makefile.am): Likewise.
12800         * modules/sys_stat (Makefile.am): Likewise.
12801         * modules/sys_times (Makefile.am): Likewise.
12802         * modules/sys_utsname (Makefile.am): Likewise.
12803         * modules/sys_wait (Makefile.am): Likewise.
12804         * modules/termios (Makefile.am): Likewise.
12805         * modules/time (Makefile.am): Likewise.
12806         * modules/unistd (Makefile.am): Likewise.
12807         * modules/wchar (Makefile.am): Likewise.
12808
12809 2011-06-08  Eric Blake  <eblake@redhat.com>
12810
12811         strerror: simplify replacement
12812         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
12813         * modules/strerror (configure.ac): No prereqs needed here...
12814         * modules/strerror-override (configure.ac): ...but this needs it.
12815         (Files): Add file for needed prereq macro.
12816
12817 2011-06-08  Bruno Haible  <bruno@clisp.org>
12818
12819         strerror_r-posix: Tweaks.
12820         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
12821         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
12822         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
12823         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
12824         (gl_FUNC_STRERROR_R): ... to here.
12825         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
12826
12827 2011-06-07  Eric Blake  <eblake@redhat.com>
12828
12829         perror: document fixed bugs
12830         * doc/posix-functions/perror.texi (perror): Document recent
12831         patches.
12832
12833 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12834
12835         stat-time: get_stat_birthtime failure is better-defined
12836         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
12837         return a timestamp whose tv_sec and tv_nsec values are both -1.
12838         Previously, the spec said only that the tv_nsec value was negative.
12839         This upward-compatible change simplifies GNU tar a bit.
12840
12841 2011-06-07  Eric Blake  <eblake@redhat.com>
12842
12843         strerror_r-posix: work around cygwin 1.7.9
12844         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
12845         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
12846         bug without replacing strerror_r.
12847         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
12848         strerror_r is buggy, but without requiring strerror_r compilation.
12849         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
12850
12851         test-perror: relax test to ignore cygwin bug
12852         * tests/test-perror2.c (main): Relax test on requiring detection
12853         of stream errors, and use unbuffered stream.
12854         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
12855         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
12856         * doc/posix-functions/fputc.texi (fputc): Likewise.
12857         * doc/posix-functions/fputs.texi (fputs): Likewise.
12858         * doc/posix-functions/fputws.texi (fputws): Likewise.
12859         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
12860         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
12861         * doc/posix-functions/getopt.texi (getopt): Likewise.
12862         * doc/posix-functions/perror.texi (perror): Likewise.
12863         * doc/posix-functions/printf.texi (printf): Likewise.
12864         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
12865         * doc/posix-functions/psignal.texi (psignal): Likewise.
12866         * doc/posix-functions/putc.texi (putc): Likewise.
12867         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
12868         Likewise.
12869         * doc/posix-functions/putchar.texi (putchar): Likewise.
12870         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
12871         Likewise.
12872         * doc/posix-functions/puts.texi (puts): Likewise.
12873         * doc/posix-functions/putwc.texi (putwc): Likewise.
12874         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
12875         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
12876         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12877         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
12878         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12879         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
12880         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
12881         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
12882
12883 2011-05-22  Bruno Haible  <bruno@clisp.org>
12884
12885         strerror: Move AC_LIBOBJ invocations to module description.
12886         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
12887         gl_PREREQ_STRERROR invocations from here...
12888         * modules/strerror (configure.ac): ... to here.
12889
12890 2011-05-21  Bruno Haible  <bruno@clisp.org>
12891
12892         perror: Use common idiom.
12893         * modules/perror (configure.ac): Reorder statements.
12894
12895 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12896
12897         tests: fix usage message in 'mktempd_'
12898         * tests/init.sh (mktempd_): In the usage message, use literal
12899         'mktempd_', not '$ME' (which is even undefined), as the name of
12900         the subroutine.
12901
12902 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
12903
12904         tests init: new function 'fatal_', for hard errors
12905         Before this patch, the only way offered by tests/init.sh to
12906         properly signal a hard error was the `framework_failure_'
12907         function.  But the error message issued by that function,
12908         as its name would suggest, refers to a set-up failure in the
12909         testsuite, while hard errors can obviously also be due to
12910         other reasons.  The best way to fix this inconsistency is to
12911         introduce a new function with a more general error message.
12912         * tests/init.sh (fatal_): New function.
12913
12914 2011-06-06  Eric Blake  <eblake@redhat.com>
12915
12916         canonicalize-lgpl: use common idiom
12917         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
12918         over newer POSIX -Rf.
12919         Reported by Bruno Haible.
12920
12921         canonicalize-lgpl: work around AIX realpath bug
12922         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
12923         * doc/posix-functions/realpath.texi (realpath): Document it.
12924         Reported by Bruno Haible.
12925
12926         strerror: work around FreeBSD bug
12927         * lib/strerror.c (strerror): Special case 0.
12928         Reported by Bruno Haible.
12929
12930         strerror-override: avoid bloating errno module
12931         * modules/errno (Files, configure.ac): Move replacement strings...
12932         * modules/strerror-override: ...to new module.
12933         * modules/strerror (Depends-on): Add strerror-override.
12934         * modules/strerror_r-posix (Depends-on): Likewise.
12935         * MODULES.html.sh: Document new module.
12936         Reported by Bruno Haible.
12937
12938 2011-06-06  Bruno Haible  <bruno@clisp.org>
12939
12940         spawn-pipe tests: Rename program.
12941         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
12942         * tests/test-spawn-pipe-child.c: Update comment.
12943         * tests/test-spawn-pipe.sh: Update.
12944         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
12945
12946         spawn-pipe tests: Link the child program only against libc.
12947         * tests/test-spawn-pipe-child.c: New file, extracted from
12948         tests/test-spawn-pipe.c.
12949         (main): Expect only one argument.
12950         (is_open): New function, copied from tests/test-pipe.c.
12951         * tests/test-spawn-pipe.c: Don't include <errno.h>.
12952         (child_main): Remove function.
12953         (test_pipe): Pass only one argument to the child program.
12954         (main): Remove child process code. Expect the child program's name as
12955         first argument.
12956         * tests/test-spawn-pipe.sh: Pass the child program's name as first
12957         argument.
12958         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
12959         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
12960         test-spawn-pipe-child against no libraries.
12961
12962 2011-06-06  Bruno Haible  <bruno@clisp.org>
12963
12964         careadlinkat: Avoid mismatch between ssize_t and int.
12965         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12966         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12967
12968 2011-06-06  Jim Meyering  <meyering@redhat.com>
12969
12970         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12971         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12972         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12973
12974 2011-06-05  Bruno Haible  <bruno@clisp.org>
12975
12976         ansi-c++-opt: Interoperability with libtool.
12977         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12978         set the variable to "no", not to ":".
12979         * NEWS: Mention the change.
12980
12981 2011-06-05  Bruno Haible  <bruno@clisp.org>
12982
12983         acl: Fix test failure on AIX 7.
12984         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12985         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12986
12987 2011-06-05  Bruno Haible  <bruno@clisp.org>
12988
12989         pipe-filter-ii: Fix test failure on AIX and IRIX.
12990         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12991         with EAGAIN, retry with a smaller buffer size.
12992
12993 2011-06-05  Bruno Haible  <bruno@clisp.org>
12994
12995         localename: Fix link dependencies.
12996         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12997         * modules/localename-tests (Makefile.am): Link test-localename with
12998         $(LIBTHREAD).
12999
13000 2011-06-05  Bruno Haible  <bruno@clisp.org>
13001
13002         error: Avoid gcc warning.
13003         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13004
13005 2011-06-05  Bruno Haible  <bruno@clisp.org>
13006
13007         unsetenv: Avoid gcc warning.
13008         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13009
13010 2011-06-05  Bruno Haible  <bruno@clisp.org>
13011
13012         setenv: Avoid gcc warning.
13013         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13014
13015 2011-06-05  Bruno Haible  <bruno@clisp.org>
13016
13017         sys_select: Ensure memset is declared also on AIX 7.
13018         * lib/sys_select.in.h: Include <string.h> also on AIX.
13019         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13020         self-contained also on AIX 7.1.
13021
13022 2011-06-04  Jim Meyering  <meyering@redhat.com>
13023
13024         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13025         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13026         function name, "error".
13027         (_gl_translatable_diag_func_re): New configurable variable.
13028
13029 2011-06-04  Bruno Haible  <bruno@clisp.org>
13030
13031         getopt: Avoid gcc warning.
13032         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13033
13034 2011-06-04  Bruno Haible  <bruno@clisp.org>
13035
13036         strerror_r: Fix comments.
13037         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13038         commit.
13039
13040 2011-06-04  Bruno Haible  <bruno@clisp.org>
13041
13042         perror: Fix compilation error.
13043         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13044         Undefine fprintf, not sprintf.
13045         * modules/perror (Depends-on): Remove intprops, verify.
13046
13047 2011-06-04  Bruno Haible  <bruno@clisp.org>
13048
13049         setlocale: Enable replacement on Cygwin 1.5.
13050         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13051         Cygwin 1.5.x.
13052         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13053         LC_CTYPE category also exists on Cygwin 1.5.x.
13054
13055 2011-06-04  Bruno Haible  <bruno@clisp.org>
13056
13057         strerror-override: Don't disable symbol renamings.
13058         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13059         * lib/strerror-override.c: Include config.h.
13060         (strerror_override): Don't undefine.
13061
13062 2011-06-03  Bruno Haible  <bruno@clisp.org>
13063
13064         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13065         * lib/localename.h: Update copyright header.
13066         * lib/localename.c: Likewise.
13067         * lib/relocatable.h: Likewise.
13068         * lib/relocatable.c: Likewise.
13069
13070 2011-06-02  Bruno Haible  <bruno@clisp.org>
13071
13072         doc: Fix a module name.
13073         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13074
13075 2011-06-02  Bruno Haible  <bruno@clisp.org>
13076
13077         pipe2: Remove dependency on 'nonblocking' module.
13078         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13079         O_NONBLOCK is defined by gnulib.
13080         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13081         is zero.
13082         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13083         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13084         defined by gnulib.
13085         (get_nonblocking_flag): New function.
13086         (main): Test O_NONBLOCK flag only if it is nonzero.
13087         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13088
13089 2011-06-03  Jim Meyering  <meyering@redhat.com>
13090
13091         maint: three new prohibit-header-without-use rules
13092         Prohibit use of cloexec.h, posixver.h, same.h without use.
13093         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13094         (sc_prohibit_posixver_without_use): Likewise.
13095         (sc_prohibit_same_without_use): Likewise.
13096
13097 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13098
13099         allocator: 'die' routine is now given requested size
13100         * lib/allocator.h (struct allocator.die): New size arg.
13101         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13102         If the actual problem is an ssize_t limitation, not a size_t or
13103         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13104
13105 2011-06-01  Eric Blake  <eblake@redhat.com>
13106
13107         strerror: drop strerror_r dependency
13108         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13109         * lib/strerror-override.c (strerror_override): ...to new file.
13110         * lib/strerror-override.h: Add prototype.
13111         * lib/strerror-impl.h: Delete.
13112         * lib/strerror.c (strerror): New implementation.
13113         * modules/errno (Files): Add new files.
13114         (configure.ac): Compile new file as appropriate.
13115         * modules/strerror (Files): Drop unused file.
13116         (Depends-on): Drop strerror_r-posix.
13117         * MODULES.html.sh: Document strerror_r-posix.
13118         Requested by Sam Steingold.
13119
13120         perror: call strerror_r directly
13121         * modules/perror (Files): Drop strerror-impl.h.
13122         * lib/perror.c (perror): Use our own stack buffer, rather than
13123         calling a wrapper that uses static storage.
13124         * doc/posix-functions/perror.texi (perror): Document a limitation
13125         of our replacement.
13126
13127         strerror_r: fix includes for FreeBSD
13128         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13129         since we use abort on some platforms.
13130         Reported by Matthias Bolte.
13131
13132 2011-05-31  Bruno Haible  <bruno@clisp.org>
13133
13134         Fix link errors in tests: openat-die uses gettext-h.
13135         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13136         against $(LIBINTL).
13137         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13138         against $(LIBINTL).
13139         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13140         $(LIBINTL).
13141         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13142         against $(LIBINTL).
13143         * modules/linkat-tests (Makefile.am): Link test-linkat against
13144         $(LIBINTL).
13145         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13146         $(LIBINTL).
13147         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13148         against $(LIBINTL).
13149         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13150         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13151         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13152         $(LIBINTL).
13153         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13154         $(LIBINTL).
13155         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13156         $(LIBINTL).
13157         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13158
13159 2011-05-31  Bruno Haible  <bruno@clisp.org>
13160
13161         Fix link errors in tests: wait-process uses gettext-h.
13162         * modules/nonblocking-pipe-tests (Makefile.am): Set
13163         test_nonblocking_pipe_main_LDADD.
13164         * modules/nonblocking-socket-tests (Makefile.am): Link
13165         test-nonblocking-socket-main against $(LIBINTL).
13166         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13167
13168 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13169
13170         assert-h: work around 'verify' incompatibility
13171         * lib/verify.h: Use @...@ directives, not ifdef.
13172         * modules/assert-h (assert.h): Implement the directives.
13173         (assert.h): Substitute the symbol-prefix more consistently.
13174
13175 2011-05-29  Jim Meyering  <meyering@redhat.com>
13176
13177         trim: remove three superfluous assignments
13178         * lib/trim.c (trim2): Remove three superfluous assignments
13179         and correct brace positioning.
13180
13181 2011-05-29  Bruno Haible  <bruno@clisp.org>
13182
13183         wctype-h: Avoid namespace pollution on Solaris 2.6.
13184         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13185         identifiers.
13186         * doc/posix-headers/wctype.texi: Mention the problem.
13187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13188
13189 2011-05-28  Jim Meyering  <meyering@redhat.com>
13190
13191         parse-datetime.y: accommodate -Wstrict-overflow
13192         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13193         placate -Wstrict-overflow.
13194
13195         trim: avoid a warning from -O2 -Wstrict-overflow
13196         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13197
13198 2011-05-29  Bruno Haible  <bruno@clisp.org>
13199
13200         gnulib-tool: Fix bug in yesterday's commit.
13201         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13202         twice.
13203
13204 2011-05-29  Bruno Haible  <bruno@clisp.org>
13205
13206         Allow multiple gnulib generated include files to be combined.
13207         * gnulib-tool (func_compute_include_guard_prefix): New function.
13208         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13209         ${gl_include_guard_prefix} references.
13210         (func_import, func_create_testdir): Invoke
13211         func_compute_include_guard_prefix.
13212         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13213         * lib/ctype.in.h: Likewise.
13214         * lib/dirent.in.h: Likewise.
13215         * lib/errno.in.h: Likewise.
13216         * lib/fcntl.in.h: Likewise.
13217         * lib/float.in.h: Likewise.
13218         * lib/getopt.in.h: Likewise.
13219         * lib/iconv.in.h: Likewise.
13220         * lib/langinfo.in.h: Likewise.
13221         * lib/locale.in.h: Likewise.
13222         * lib/math.in.h: Likewise.
13223         * lib/netdb.in.h: Likewise.
13224         * lib/netinet_in.in.h: Likewise.
13225         * lib/poll.in.h: Likewise.
13226         * lib/pthread.in.h: Likewise.
13227         * lib/pty.in.h: Likewise.
13228         * lib/sched.in.h: Likewise.
13229         * lib/se-selinux.in.h: Likewise.
13230         * lib/search.in.h: Likewise.
13231         * lib/signal.in.h: Likewise.
13232         * lib/spawn.in.h: Likewise.
13233         * lib/stdarg.in.h: Likewise.
13234         * lib/stddef.in.h: Likewise.
13235         * lib/stdint.in.h: Likewise.
13236         * lib/stdio.in.h: Likewise.
13237         * lib/stdlib.in.h: Likewise.
13238         * lib/string.in.h: Likewise.
13239         * lib/strings.in.h: Likewise.
13240         * lib/sys_file.in.h: Likewise.
13241         * lib/sys_ioctl.in.h: Likewise.
13242         * lib/sys_select.in.h: Likewise.
13243         * lib/sys_socket.in.h: Likewise.
13244         * lib/sys_stat.in.h: Likewise.
13245         * lib/sys_time.in.h: Likewise.
13246         * lib/sys_times.in.h: Likewise.
13247         * lib/sys_uio.in.h: Likewise.
13248         * lib/sys_utsname.in.h: Likewise.
13249         * lib/sys_wait.in.h: Likewise.
13250         * lib/sysexits.in.h: Likewise.
13251         * lib/termios.in.h: Likewise.
13252         * lib/time.in.h: Likewise.
13253         * lib/unistd.in.h: Likewise.
13254         * lib/wchar.in.h: Likewise.
13255         * lib/wctype.in.h: Likewise.
13256         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13257         * modules/ctype (Makefile.am): Likewise.
13258         * modules/dirent (Makefile.am): Likewise.
13259         * modules/errno (Makefile.am): Likewise.
13260         * modules/fcntl-h (Makefile.am): Likewise.
13261         * modules/float (Makefile.am): Likewise.
13262         * modules/getopt-posix (Makefile.am): Likewise.
13263         * modules/iconv-h (Makefile.am): Likewise.
13264         * modules/langinfo (Makefile.am): Likewise.
13265         * modules/locale (Makefile.am): Likewise.
13266         * modules/math (Makefile.am): Likewise.
13267         * modules/netdb (Makefile.am): Likewise.
13268         * modules/netinet_in (Makefile.am): Likewise.
13269         * modules/poll-h (Makefile.am): Likewise.
13270         * modules/pthread (Makefile.am): Likewise.
13271         * modules/pty (Makefile.am): Likewise.
13272         * modules/sched (Makefile.am): Likewise.
13273         * modules/search (Makefile.am): Likewise.
13274         * modules/selinux-h (Makefile.am): Likewise.
13275         * modules/signal (Makefile.am): Likewise.
13276         * modules/spawn (Makefile.am): Likewise.
13277         * modules/stdarg (Makefile.am): Likewise.
13278         * modules/stddef (Makefile.am): Likewise.
13279         * modules/stdint (Makefile.am): Likewise.
13280         * modules/stdio (Makefile.am): Likewise.
13281         * modules/stdlib (Makefile.am): Likewise.
13282         * modules/string (Makefile.am): Likewise.
13283         * modules/strings (Makefile.am): Likewise.
13284         * modules/sys_file (Makefile.am): Likewise.
13285         * modules/sys_ioctl (Makefile.am): Likewise.
13286         * modules/sys_select (Makefile.am): Likewise.
13287         * modules/sys_socket (Makefile.am): Likewise.
13288         * modules/sys_stat (Makefile.am): Likewise.
13289         * modules/sys_time (Makefile.am): Likewise.
13290         * modules/sys_times (Makefile.am): Likewise.
13291         * modules/sys_uio (Makefile.am): Likewise.
13292         * modules/sys_utsname (Makefile.am): Likewise.
13293         * modules/sys_wait (Makefile.am): Likewise.
13294         * modules/sysexits (Makefile.am): Likewise.
13295         * modules/termios (Makefile.am): Likewise.
13296         * modules/time (Makefile.am): Likewise.
13297         * modules/unistd (Makefile.am): Likewise.
13298         * modules/wchar (Makefile.am): Likewise.
13299         * modules/wctype-h (Makefile.am): Likewise.
13300         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13301
13302 2011-05-29  Bruno Haible  <bruno@clisp.org>
13303
13304         assert-h: Allow multiple gnulib generated replacements to coexist.
13305         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13306
13307 2011-05-29  Bruno Haible  <bruno@clisp.org>
13308
13309         argp: Allow coexistence with strerror_r-posix module.
13310         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13311         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13312         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13313         not the glibc signature.
13314
13315 2011-05-28  Bruno Haible  <bruno@clisp.org>
13316
13317         gnulib-tool: Alternative structure of testdirs, similar to --import.
13318         * gnulib-tool: New option --single-configure.
13319         (func_usage): Document it.
13320         (single_configure): New variable.
13321         (func_modules_transitive_closure_separately,
13322         func_modules_transitive_closure_separately,
13323         func_determine_use_libtests, func_modules_add_dummy_separately,
13324         func_modules_to_filelist_separately): New functions, extracted from
13325         func_import.
13326         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13327         (func_import): Use the new functions.
13328         (func_create_testdir): Set final_modules. Handle $single_configure =
13329         true case.
13330
13331 2011-05-28  Bruno Haible  <bruno@clisp.org>
13332
13333         getloadavg: Remove an unreliable safety check.
13334         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
13335         getloadavg.c is in place.
13336         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
13337         Reported by Sam Steingold <sds@gnu.org>.
13338
13339 2011-05-28  Bruno Haible  <bruno@clisp.org>
13340
13341         doc: Cleanup yet another file produced by texinfo.tex.
13342         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
13343
13344 2011-05-28  Bruno Haible  <bruno@clisp.org>
13345
13346         Finish the conditional dependencies mechanism.
13347         * gnulib-tool: New option --no-conditional-dependencies.
13348         (func_usage): Document it. Don't mark --conditional-dependencies as
13349         experimental.
13350         (cond_dependencies): The possible values can now be true, false, empty.
13351         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
13352         (func_import): Store setting in gnulib-cache.m4 and read it from there.
13353         * doc/gnulib-tool.texi (Conditional dependencies): New section.
13354
13355 2011-05-28  Bruno Haible  <bruno@clisp.org>
13356
13357         doc: Use a recent texinfo.tex.
13358         * doc/Makefile (tex_opts): New variable.
13359         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
13360
13361 2011-05-28  Jim Meyering  <meyering@redhat.com>
13362
13363         intprops.h: adjust comment to match code change
13364         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
13365         only once, it *may* have side effects.  Also fix an unrelated typo.
13366         (_GL_INT_SIGNED): Likewise.
13367
13368 2011-05-26  Simon Josefsson  <simon@josefsson.org>
13369
13370         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
13371
13372 2011-05-26  Bruno Haible  <bruno@clisp.org>
13373
13374         mbsrchr: Avoid collision with system function on Interix.
13375         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
13376         Reported by Markus Duft <mduft@gentoo.org>.
13377
13378 2011-05-15  James Youngman  <jay@gnu.org>
13379
13380         getopt: for ambiguous options, enumerate the possibilities.
13381         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
13382         the ambiguous options when an ambiguous prefix is given. This was
13383         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
13384         glibc change was
13385         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
13386
13387 2011-05-25  Eric Blake  <eblake@redhat.com>
13388
13389         getcwd: work around mingw bug
13390         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
13391         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13392         Reported by Matthias Bolte.
13393
13394 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13395
13396         test-intprops: disable -Wtype-limits diagnostics
13397         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
13398         diagnostics.  Otherwise, the integer overflow macros generate many
13399         diagnostics.  Reported by Jim Meyering in
13400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13401
13402         intprops: shorten, to pacify gcc -Woverlength-strings
13403         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
13404         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
13405         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
13406         likely to run afoul of C compiler limits for string constant lengths.
13407         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
13408
13409 2011-05-24  Eric Blake  <eblake@redhat.com>
13410
13411         docs: document recently fixed glibc printf bug
13412         * doc/posix-functions/fprintf.texi (fprintf): Document it.
13413         * doc/posix-functions/printf.texi (printf): Likewise.
13414         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13415         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13416
13417         closein-tests: convert to init.sh
13418         * modules/closein-tests (Files): Add init.sh
13419         * tests/test-closein.sh Use it.
13420
13421         yesno-tests: convert to init.sh
13422         * modules/yesno-tests (Files): Add init.sh.
13423         * tests/test-yesno.sh: Use it.
13424
13425         atexit-tests: ensure reliable exit status
13426         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
13427         Reported by Bruno Haible.
13428
13429 2011-05-24  Bruno Haible  <bruno@clisp.org>
13430
13431         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
13432         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
13433         gl_PREREQ_STRERROR_R invocations from here...
13434         * modules/strerror_r-posix (configure.ac): ... to here.
13435
13436 2011-05-24  Eric Blake  <eblake@redhat.com>
13437
13438         strerror_r: fix missing header
13439         * lib/strerror_r.c: Avoid compiler warning about snprintf.
13440
13441         strerror_r: fix AIX test failures
13442         * lib/strerror_r.c (strerror_r): Convert silent truncation to
13443         ERANGE failure.
13444
13445         strerror_r: fix Solaris test failures
13446         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
13447         failures.
13448         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13449
13450         strerror_r: enforce POSIX recommendations
13451         * lib/strerror_r.c (safe_copy): New helper method.
13452         (strerror_r): Guarantee a non-empty string.
13453         * tests/test-strerror_r.c (main): Enhance tests to incorporate
13454         recent POSIX rulings and to match our strerror guarantees.
13455         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
13456
13457 2011-05-24  Jim Meyering  <meyering@redhat.com>
13458
13459         test-perror2.c: avoid warning about unused variable
13460         * tests/test-perror2.c (main): Remove declaration of unused "fp".
13461
13462 2011-05-24  Eric Blake  <eblake@redhat.com>
13463
13464         perror: avoid spurious test failure on HP-UX
13465         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
13466
13467         tests: fix logic bug in init.sh
13468         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
13469         shell.
13470
13471 2011-05-24  Jim Meyering  <meyering@redhat.com>
13472
13473         utimensat: do not reference an out-of-scope buffer
13474         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
13475         declared in an inner scope, yet "times" would be dereferenced outside
13476         the scope in which "ts" was valid.
13477         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
13478         of ts[2] "out/up", so that the use of aliased "times" (via
13479         "times = ts;") does not end up referencing an out-of-scope "ts"
13480
13481         opendir-safer.c: don't clobber errno; don't close negative FD
13482         * lib/opendir-safer.c (opendir_safer):
13483         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
13484         file descriptor, and more importantly, don't clobber the
13485         offending errno value with EINVAL.  Before, upon failure
13486         of dup_safer, we would pass the negative file descriptor to
13487         fdopendir, which would clobber errno.
13488
13489 2011-05-23  Bruno Haible  <bruno@clisp.org>
13490
13491         idcache: Fix module description.
13492         * modules/idcache (Include): Set to "idcache.h".
13493
13494 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13495
13496         gnulib-tool: fix portability problem with MacOS sed
13497         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
13498         before the "}".  Problem reported by Leo in
13499         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
13500         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
13501         sed_extract_condition1, sed_extract_condition2.
13502
13503 2011-05-23  Bruno Haible  <bruno@clisp.org>
13504
13505         hash: Simplify autoconf macro.
13506         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
13507
13508 2011-05-23  Bruno Haible  <bruno@clisp.org>
13509
13510         getugroups: Fix module description.
13511         * modules/getugroups (Include): Set to "getugroups.h".
13512
13513 2011-05-23  Bruno Haible  <bruno@clisp.org>
13514
13515         linkat: Simplify autoconf macro.
13516         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
13517
13518 2011-05-23  Bruno Haible  <bruno@clisp.org>
13519             Eric Blake  <eblake@redhat.com>
13520
13521         linkat, renameat: Update dependencies.
13522         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
13523         * modules/linkat (Depends-on): Likewise. Remove also readlink,
13524         symlinkat.
13525
13526 2011-05-23  Jim Meyering  <meyering@redhat.com>
13527
13528         maint.mk: more tight_scope improvements
13529         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
13530         (_gl_TS_headers): Define only in if-0'd block.
13531         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
13532         sometimes we must *not* use it.  Adjust uses accordingly.
13533         (sc_tight_scope): Use much simpler grep-based test to determine
13534         whether we skip this rule.
13535
13536         maint.mk: generalize/improve the tight-scope rule
13537         * top/maint.mk: Emit a warning when the test is skipped.
13538         (_gl_TS_dir): Add $(srcdir)/ prefix.
13539         (_gl_TS_function_match): Simplify, rather than trying
13540         to enumerate common types.  Otherwise, it would fail to match an
13541         "extern unsigned char const *" declaration in idutils.
13542         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
13543         a way to support use of that type of macro.
13544         (_gl_TS_var_match): Simplify regexp.
13545         (_gl_TS_obj_files): New configurable variable.
13546         (_gl_TS_headers): Likewise.
13547
13548 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13549
13550         verify: fix bug when gnulib <assert.h> is also included
13551         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
13552         is defined, not if _GL_STATIC_ASSERT_H is not defined.
13553         Perhaps there's a better way, but this fixes the immediate problem.
13554         Problem reported by Bruno Haible in
13555         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
13556
13557 2011-05-22  Bruno Haible  <bruno@clisp.org>
13558
13559         xgetcwd: Simplify autoconf macro.
13560         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
13561
13562 2011-05-22  Bruno Haible  <bruno@clisp.org>
13563
13564         New module 'mktime-internal'.
13565         * modules/mktime-internal: New file.
13566         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
13567         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
13568         mktime_internal as a C macro if libc has __mktime_internal.
13569         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
13570         conditions.
13571         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
13572
13573 2011-05-22  Bruno Haible  <bruno@clisp.org>
13574
13575         timegm: Correct mktime replacement statements.
13576         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
13577         defining mktime as a C macro. This completes a 2009-07-28 commit.
13578
13579 2011-05-22  Bruno Haible  <bruno@clisp.org>
13580
13581         timegm: Simplify autoconf macro.
13582         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
13583
13584 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13585
13586         clock-time: change to LGPLv2+.
13587         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
13588         BSD-like but we have no mark for that; this is good enough for now.
13589
13590 2011-05-21  Bruno Haible  <bruno@clisp.org>
13591
13592         strerror_r: Fix comments.
13593         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
13594
13595 2011-05-21  Bruno Haible  <bruno@clisp.org>
13596
13597         relocatable-prog-wrapper: Fix possible link error.
13598         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
13599         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
13600         (gl_FUNC_SETENV): ... to here.
13601         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
13602         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
13603
13604 2011-05-21  Bruno Haible  <bruno@clisp.org>
13605
13606         relocatable-prog-wrapper: Assume strerror() exists.
13607         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
13608         m4/strerror.m4.
13609         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
13610         * lib/relocwrapper.c: Remove mention of strerror module.
13611         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
13612         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
13613         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
13614         C macro.
13615
13616 2011-05-21  Bruno Haible  <bruno@clisp.org>
13617
13618         select: Simplify replacement idiom.
13619         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
13620         Win32 platforms.
13621         * lib/sys_select.in.h (select): Simplify accordingly.
13622         * modules/select (Depends-on): Likewise.
13623
13624 2011-05-21  Bruno Haible  <bruno@clisp.org>
13625
13626         mkdir-p: Simplify autoconf macro.
13627         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
13628         gl_FUNC_LCHOWN.
13629
13630 2011-05-21  Eric Blake  <eblake@redhat.com>
13631
13632         strerror_r: avoid clobbering strerror on cygwin
13633         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
13634         fall back instead to sys_errlist.
13635         * modules/strerror (configure.ac): Add witness.
13636         * tests/test-strerror_r.c (main): Enhance test.
13637         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13638         * tests/test-perror2.c (main): Free memory before exit.
13639
13640 2011-05-21  Bruno Haible  <bruno@clisp.org>
13641
13642         mkdtemp: Use gnulib naming conventions.
13643         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
13644         * modules/mkdtemp (configure.ac): Update.
13645
13646 2011-05-20  Eric Blake  <eblake@redhat.com>
13647
13648         strerror_r: avoid corrupting errno on Solaris
13649         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
13650         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13651
13652         strerror_r: avoid compiler warning
13653         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
13654
13655         strerror_r: simplify AIX code
13656         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
13657
13658         test-perror: avoid spurious failure on FreeBSD
13659         * modules/perror-tests (Depends-on): Add strerror, now that
13660         strerror_r no longer pulls it in.
13661
13662 2011-05-20  Bruno Haible  <bruno@clisp.org>
13663
13664         strerror_r-posix: Remove unused dependencies.
13665         * modules/strerror_r-posix (Depends-on): Remove strerror.
13666         Reported by Eric Blake.
13667
13668 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13669
13670         intprops: remove assumption about A|B representation
13671         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
13672         is a valid integer if both A and B are.  Although this is true for
13673         all known practical hosts, the C standard doesn't guarantee it,
13674         and the code need not assume it.  Also, this change may work around
13675         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
13676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
13677
13678 2011-05-20  Eric Blake  <eblake@redhat.com>
13679
13680         perror: work around FreeBSD bug
13681         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
13682         is broken.  Move AC_LIBOBJ...
13683         * modules/perror (configure.ac): Here.
13684         * doc/posix-functions/perror.texi (perror): Document this.
13685         * tests/test-perror2.c (main): Enhance test.
13686
13687         test-perror: check for strerror interactions
13688         * tests/macros.h (STREQ): Add macro.
13689         * modules/perror-tests (Files): Add second test.
13690         * tests/test-perror2.c (main): New file.
13691         * doc/posix-functions/perror.texi (perror): Document glibc bug.
13692
13693         test-perror: rewrite to use init script
13694         * modules/perror-tests (Files): Add init.sh.
13695         * tests/test-perror.sh: Use temporary directory.
13696
13697 2011-05-20  Jim Meyering  <meyering@redhat.com>
13698
13699         maint: replace misused "a" with "an"
13700         * doc/intprops.texi: "a integer"
13701         * doc/regex.texi: "a explanation"
13702         * lib/alignof.h: "a object"
13703         * lib/argmatch.h: "a explanation"
13704         * lib/argp-help.c: "a option" and "a OPTION_DOC"
13705         * lib/stdint.in.h: "a integer"
13706         * lib/userspec.c: "a owner"
13707         * doc/gnulib.texi: Fix "a idea", and reword.
13708
13709 2011-05-19  Jim Meyering  <meyering@redhat.com>
13710
13711         maint: correct misuse of "a" and "an"
13712         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
13713         * lib/argp-help.c: "an docum...": s/an/a/
13714         * lib/argp-parse.c: "An vector": s/An/A/
13715         * lib/execute.c: "an native": s/an/a/
13716         * lib/spawn-pipe.c: Likewise.
13717         * lib/gc.h: "an Gc_rc": s/an/a/
13718         * lib/unigbrk.in.h: "an grapheme": s/an/a/
13719         * lib/fts.c: "an stat.st_dev": s/an/a/
13720
13721 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13722
13723         intprops-tests: work around HP-UX 11.23 cc bug with constants
13724         * tests/test-intprops.c (VERIFY): New macro.
13725         (main): Use it, instead of verify, to work around the compiler bug; see
13726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13727
13728         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
13729         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
13730         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
13731         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
13732         (_GL_REMAINDER_OVERFLOW): Use it.
13733
13734         intprops-tests: revert unsigned part of previous change
13735         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
13736         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
13737         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
13738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
13739
13740 2011-05-19  Bruno Haible  <bruno@clisp.org>
13741
13742         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
13743         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
13744         strerror_r() returned without filling the buffer.
13745         Reported by Eric Blake.
13746
13747 2011-05-19  Eric Blake  <eblake@redhat.com>
13748
13749         strerror_r: guarantee unchanged errno
13750         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
13751         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
13752         failure.
13753         * tests/test-strerror_r.c (main): Enhance test.
13754
13755 2011-05-19  Bruno Haible  <bruno@clisp.org>
13756
13757         strerror_r: Reorder #if blocks.
13758         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
13759         for consistency with the previous commit.
13760
13761 2011-05-19  Bruno Haible  <bruno@clisp.org>
13762
13763         perror: Avoid clobbering the strerror buffer when possible.
13764         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
13765         * lib/strerror.c: Include it.
13766         * modules/strerror (Files): Add lib/strerror-impl.h.
13767         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
13768         (my_strerror): New function, defined through lib/strerror-impl.h.
13769         (perror): Use it instead of strerror.
13770         * modules/perror (Files): Add lib/strerror-impl.h.
13771         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
13772
13773 2011-05-19  Eric Blake  <eblake@redhat.com>
13774
13775         strerror_r: fix on newer cygwin
13776         * lib/strerror_r.c (strerror_r): Cygwin now has
13777         __xpg_strerror_r, use it.
13778
13779 2011-05-19  Bruno Haible  <bruno@clisp.org>
13780
13781         strerror_r: Avoid clobbering the strerror buffer when possible.
13782         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
13783         (sys_nerr, sys_errlist): New declarations.
13784         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
13785         HP-UX, native Win32, IRIX, and 32-bit Solaris.
13786         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
13787
13788 2011-05-19  Bruno Haible  <bruno@clisp.org>
13789
13790         strerror_r: Fix test failure on mingw.
13791         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
13792         EXTEND_STRERROR_R.
13793         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
13794         macros from errno.in.h instead.
13795
13796 2011-05-19  Eric Blake  <eblake@redhat.com>
13797
13798         strerror: relax test for Solaris
13799         * tests/test-strerror.c (main): Permit Solaris behavior.
13800         * tests/test-strerror_r.c (main): Likewise.
13801
13802         strerror: enforce POSIX ruling on strerror(0)
13803         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
13804         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13805         * lib/strerror_r.c (rpl_strerror_r): Work around it.
13806         * doc/posix-functions/strerror.texi (strerror): Document it.
13807         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
13808         * tests/test-strerror.c (main): Strengthen test.
13809         * tests/test-strerror_r.c (main): Likewise.
13810
13811 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13812
13813         intprop-tests: port to older and more-pedantic compilers
13814         * modules/intprops-tests (Files): Add tests/macros.h.
13815         * tests/test-intprops.c: Include macros.h.
13816         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
13817         it's no longer documented to expand to an integer constant expression.
13818         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
13819         argument is floating point, as it's no longer documented to expand
13820         to an integer constant expression in that case.
13821         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
13822         compiler bugs reported by Bruno Haible.  See
13823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13824         (U0, U1): New constants, to work around the same bugs.  Also,
13825         in tests, use e.g., "(unsigned int) 39" rather than "39u".
13826
13827         intprops: work around C compiler bugs
13828         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
13829         bug in Sun C 5.11 2010/08/13 and other compilers; see
13830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
13831
13832         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
13833         * doc/intprops.texi (Integer Type Determination): Fix
13834         documentation for TYPE_IS_INTEGER: it returns an constant
13835         expression, not an integer constant expression.  Fix doc for
13836         TYPE_SIGNED: it returns an integer constant expression only if its
13837         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
13838         hardly worth documented that way....)
13839
13840 2011-05-18  Bruno Haible  <bruno@clisp.org>
13841
13842         strerror_r: Avoid clobbering the strerror buffer when possible.
13843         * lib/strerror_r.c (strerror_r): Merge the three implementations.
13844         Handle gnulib defined errno values here. When strerror() returns NULL
13845         or an empty string, return EINVAL.
13846         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
13847         gnulib defined errno values here.
13848         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
13849
13850 2011-05-18  Eric Blake  <eblake@redhat.com>
13851
13852         fnmatch: avoid compiler warning
13853         * lib/fnmatch_loop.c (FCT): Use correct type.
13854         Reported by Matthias Bolte.
13855
13856 2011-05-13  Jim Meyering  <meyering@redhat.com>
13857
13858         maint.mk: three new prohibit_<HDR>_without_use rules
13859         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
13860         (sc_prohibit_stdio-safer_without_use): Likewise.
13861         (sc_prohibit_xfreopen_without_use): Likewise.
13862
13863 2011-05-17  Jim Meyering  <meyering@redhat.com>
13864
13865         announce-gen: fail if the NEWS delta is empty
13866         If there's nothing noteworthy in NEWS, then either you forgot
13867         or you shouldn't be releasing.
13868         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
13869
13870 2011-05-17  Pádraig Brady <P@draigBrady.com>
13871
13872         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
13873         reserved symbols starting with double underscore from the check.
13874
13875 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13876
13877         intprops: add doc
13878         * doc/intprops.texi: New file, documenting intprops.
13879         * doc/gnulib.texi (Particular Modules): Include it.
13880
13881         verify: add doc to gnulib manual and fix example
13882         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
13883         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
13884         (Compile-time Assertions): Fix example so it can't overflow.
13885
13886 2011-05-17  Jim Meyering  <meyering@redhat.com>
13887
13888         warnings.m4: don't usurp save_CPPFLAGS variable name
13889         * m4/warnings.m4: Prefix local temporary variable name with gl_.
13890
13891         doc: fix typo
13892         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
13893
13894 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13895             Bruno Haible  <bruno@clisp.org>
13896
13897         doc: Tweak recent change.
13898         * README (Portability guidelines): Tweak new text.
13899         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
13900         Interix 6.1.
13901
13902 2011-05-16  Eric Blake  <eblake@redhat.com>
13903
13904         inttypes: avoid autoconf warning
13905         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
13906         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13907
13908 2011-05-16  Sam Steingold <sds@gnu.org>
13909         and Eric Blake  <eblake@redhat.com>
13910
13911         vc-list-files: accept multiple directory operands
13912         * build-aux/vc-list-files: Iterate over all remaining operands.
13913
13914 2011-05-16  Bruno Haible  <bruno@clisp.org>
13915
13916         Fix confusion regarding deprecated modules.
13917         * modules/calloc (Status, Notice): Mark module as deprecated, not
13918         obsolete.
13919         * modules/fnmatch-posix (Status, Notice): Likewise.
13920         * modules/getdate (Status, Notice): Likewise.
13921         * modules/getopt (Status, Notice): Likewise.
13922         * modules/malloc (Status, Notice): Likewise.
13923         * modules/pipe (Status, Notice): Likewise.
13924         * modules/realloc (Status, Notice): Likewise.
13925         * modules/rename-dest-slash (Status, Notice): Likewise.
13926         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
13927         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
13928         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
13929         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
13930         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
13931
13932 2011-05-16  Bruno Haible  <bruno@clisp.org>
13933
13934         doc: List the target platforms.
13935         * doc/gnulib-intro.texi (Target Platforms): New section.
13936         * doc/gnulib.texi (Introduction): Update menu.
13937         * README (Portability guidelines): Refer to the new section. Update
13938         statement about oldest supported environment. Remove rationale why
13939         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
13940         unportable C89 function.
13941         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
13942         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
13943
13944 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13945
13946         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
13947
13948 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13949
13950         intprops-tests: new module
13951         * modules/intprops-tests, tests/test-intprops.c: New files.
13952
13953         intprops: add safe, portable integer overflow checking
13954         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
13955         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
13956         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
13957         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
13958         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
13959         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
13960         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
13961         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
13962         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13963         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
13964         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13965
13966 2011-05-12  James Youngman  <jay@gnu.org>
13967
13968         Add a test for glibc's Bugzilla bug #12378.
13969         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13970         doesn't allow the literal matching of a lone "[" (which is
13971         required by POSIX).
13972         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13973
13974 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13975
13976         Sync glibc change fixing Bugzilla bug #12378.
13977         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13978         beginning and fall back to matching as normal character if the
13979         string ends before the matching ']' is found.  This is what POSIX
13980         requires.
13981
13982 2011-05-13  Eric Blake  <eblake@redhat.com>
13983
13984         getcwd-lgpl: relax test for FreeBSD
13985         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13986         issue.
13987         * tests/test-getcwd-lgpl.c (main): Relax test.
13988         Reported by Matthias Bolte.
13989
13990 2011-05-11  Eric Blake  <eblake@redhat.com>
13991
13992         test-fflush: silence compiler warning
13993         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13994
13995 2011-05-11  Bruno Haible  <bruno@clisp.org>
13996
13997         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13998         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13999         * modules/canonicalize (Depends-on): Add 'nocrash'.
14000         * modules/canonicalize-lgpl (Depends-on): Likewise.
14001         * doc/posix-functions/realpath.texi: Update platforms list.
14002         Reported by Ryan Schmidt <ryandesign@macports.org>.
14003
14004 2011-05-11  Bruno Haible  <bruno@clisp.org>
14005
14006         group-member: Declare function in <unistd.h>.
14007         * lib/unistd.in.h (group_member): New declaration.
14008         * lib/group-member.h: Remove file.
14009         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14010         * tests/test-unistd-c++.cc: Check signature of group_member.
14011         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14012         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14013         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14014         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14015         HAVE_GROUP_MEMBER.
14016         * modules/group-member (Files): Remove lib/group-member.h.
14017         (Depends-on): Add unistd. Specify conditions.
14018         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14019         (Include): Change to <unistd.h>.
14020         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14021         HAVE_GROUP_MEMBER.
14022         * NEWS: Mention the change.
14023         * lib/euidaccess.c: Don't include group-member.h.
14024
14025 2011-05-11  Bruno Haible  <bruno@clisp.org>
14026
14027         group-member: Document module.
14028         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14029         module.
14030
14031 2011-05-11  Bruno Haible  <bruno@clisp.org>
14032
14033         fclose: Fix mistake earlier today.
14034         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14035
14036 2011-05-11  Eric Blake  <eblake@redhat.com>
14037
14038         fclose: preserve fflush errors
14039         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14040         Reported by Jim Meyering.
14041
14042         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14043         * build-aux/bootstrap (check_versions): When no specific version
14044         is required, merely check that the app produces an exit status
14045         that indicates its existence.
14046
14047         maint.mk: drop redundant check
14048         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14049         the same but better.
14050
14051 2011-05-11  Bruno Haible  <bruno@clisp.org>
14052
14053         fclose: Fix possible link error.
14054         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14055         unregister_shadow_fd. Improve comments.
14056         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14057         Eric Blake.
14058
14059 2011-05-11  Jim Meyering  <meyering@redhat.com>
14060
14061         maint.mk: improve "can not" detection and generalize rule name
14062         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14063         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14064         Use the same technique as in sc_prohibit_doubled_word, so that
14065         we recognize "can not" also when the words are separated by a newline.
14066         Suggested by Eric Blake.
14067         (perl_filename_lineno_text_): Define.  Factored out of...
14068         (prohibit_doubled_word_): ...here.  Use the new definition.
14069         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14070         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14071         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14072
14073 2011-05-10  Eric Blake  <eblake@redhat.com>
14074
14075         fclose: avoid double close race when possible
14076         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14077         all but WINDOWS_SOCKETS.
14078
14079 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14080
14081         openat: correct new comment
14082         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14083
14084 2011-05-10  Jim Meyering  <meyering@redhat.com>
14085
14086         openat: add comments
14087         * lib/openat-proc.c (openat_proc_name): Add comments,
14088         mostly from Eric Blake.
14089
14090 2011-05-09  Eric Blake  <eblake@redhat.com>
14091
14092         openat: reduce syscalls in first probe of /proc
14093         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14094         be a directory.  Simplify the probe for .. bugs.
14095         * modules/openat (Depends-on): Drop same-inode.
14096         Reported by Bastien ROUCARIES.
14097
14098 2011-05-09  Jim Meyering  <meyering@redhat.com>
14099
14100         maint.mk: change semantics/name of tight_scope variables
14101         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14102         Rename variables to align with semantics that make them more useful.
14103
14104         maint.mk: tweak new rule's name not to impinge
14105         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14106         (sc_tight_scope): Use new rule name rather than $@-0.
14107
14108         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14109         * top/maint.mk (sc_tight_scope): New rule.
14110         (sc_tight_scope-0): New rule, ifdef'd out.
14111         (_gl_TS_dir): Default.
14112         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14113         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14114
14115 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14116
14117         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14118         Haible <bruno@clisp.org>.
14119
14120 2011-05-08  Bruno Haible  <bruno@clisp.org>
14121
14122         Comments.
14123         * m4/isnanf.m4: Add comment.
14124         * m4/isnanl.m4: Likewise.
14125
14126 2011-05-08  Bruno Haible  <bruno@clisp.org>
14127
14128         glob: Remove obsolete macro.
14129         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14130
14131 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14132
14133         intprops: Sun C 5.11 supports __typeof__
14134         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14135         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14136         which is new.
14137         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14138
14139         intprops: switch to usual gnulib indenting and naming
14140         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14141         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14142
14143         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14144
14145 2011-05-08  Jim Meyering  <meyering@redhat.com>
14146
14147         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14148         * top/maint.mk (release-prep): Use make's --no-print-directory
14149         option when generating the announcement.  This eliminates the
14150         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14151         generated announcement template.
14152
14153 2011-05-08  Bruno Haible  <bruno@clisp.org>
14154
14155         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14156         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14157         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14158
14159 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14160
14161         ignore-value, verify: Omit include files from lib_SOURCES.
14162         * modules/ignore-value, modules/verify (Makefile.am):
14163         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14164         that leads Automake to duplicate use of am__objects_... variables
14165         in Makefile.in.  See
14166         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14167
14168 2011-05-07  Bruno Haible  <bruno@clisp.org>
14169
14170         fclose: Simplify autoconf macro.
14171         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14172         defined.
14173
14174 2011-05-07  Bruno Haible  <bruno@clisp.org>
14175
14176         canonicalize-lgpl: Fix autoconf macro ordering bug.
14177         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14178         gl_STDLIB_H_DEFAULTS.
14179
14180 2011-05-06  Eric Blake  <eblake@redhat.com>
14181
14182         maintainer-makefile: make sc_po_check easier to tune
14183         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14184         to probe for strings, such as an alternate location for gnulib.
14185
14186         fclose: guarantee behavior on seekable stdin
14187         * modules/fclose (Depends-on): Add fflush.
14188         * doc/posix-functions/fclose.texi (fclose): Document this.
14189         * tests/test-fclose.c (main): Make test for this unconditional.
14190
14191 2011-05-06  Bruno Haible  <bruno@clisp.org>
14192
14193         fflush, fpurge: Relicense under LGPLv2+.
14194         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14195         * modules/fpurge (License): Likewise.
14196         With permission from Eric Blake and Jim Meyering.
14197         Suggested by Eric Blake.
14198
14199 2011-05-06  Karl Berry  <karl@gnu.org>
14200
14201         * MODULES.html.sh (func_all_modules): remove exit.
14202
14203 2011-05-06  Jim Meyering  <meyering@redhat.com>
14204
14205         maint.mk: use info-gnu@ as the default only for a stable release
14206         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14207         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14208         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14209         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14210
14211 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14212
14213         assert-h: new module, which supports C1X-style static_assert
14214         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14215         * lib/verify.h: Revamp so that this can be copied into assert.h,
14216         while retaining the ability to use it standalone as before.
14217         Rename private identifiers so as not to encroach on the
14218         standard C namespace, since this is now used by assert.h.
14219         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14220         the old verify_true.
14221         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14222         the old verify_true.  Use _GL_VERIFY_TYPE.
14223         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14224         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14225         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14226         defined when this file is copied into the replacement assert.h.
14227         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14228         and _Static_assert is not built in.
14229         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14230         defined, and use the new macros mentioned above.
14231         * doc/posix-headers/assert.texi: Document this.
14232
14233 2011-05-05  Bruno Haible  <bruno@clisp.org>
14234
14235         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14236         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14237         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14238         gl_REPLACE_FCLOSE here.
14239         * modules/fflush (Depends-on): Remove fclose.
14240         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14241         combination with module 'fclose'.
14242
14243 2011-05-05  Bruno Haible  <bruno@clisp.org>
14244
14245         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14246         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14247         gl_FUNC_FFLUSH.
14248         (gl_FUNC_FFLUSH): Use it.
14249         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14250         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14251         gl_REPLACE_FSEEKO here.
14252
14253 2011-05-05  Bruno Haible  <bruno@clisp.org>
14254
14255         tzset: Relicense under LGPL.
14256         * modules/tzset (License): Change to LGPL.
14257         No agreement needed; it's a no-op.
14258
14259         strtoimax, strtoumax: Relicense under LGPL.
14260         * modules/strtoimax (License): Change to LGPL.
14261         * modules/strtoumax (License): Likewise.
14262         With permission from Jim Meyering, Paul Eggert:
14263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14265
14266         getgroups: Relicense under LGPL.
14267         * modules/getgroups (License): Change to LGPL.
14268         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14272
14273         nanosleep: Relicense under LGPL.
14274         * modules/nanosleep (License): Change to LGPL.
14275         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14276         Haible:
14277         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14278         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14280         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14281
14282         futimens: Relicense under LGPL.
14283         * modules/futimens (License): Change to LGPL.
14284         With permission from Eric Blake:
14285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14286
14287         fflush: Relicense under LGPL.
14288         * modules/fflush (License): Change to LGPL.
14289         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14290         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14291         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14292         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14293
14294         tmpfile: Relicense under LGPL.
14295         * modules/tmpfile (License): Change to LGPL.
14296         With permission from Ben Pfaff:
14297         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14298
14299         isfinite: Relicense under LGPL.
14300         * modules/isfinite (License): Change to LGPL.
14301         With permission from Ben Pfaff, Bruno Haible:
14302         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14303         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14304
14305         acosl..tanl: Relicense under LGPL.
14306         * modules/acosl (License): Change to LGPL.
14307         * modules/asinl (License): Likewise.
14308         * modules/atanl (License): Likewise.
14309         * modules/cosl (License): Likewise.
14310         * modules/expl (License): Likewise.
14311         * modules/logl (License): Likewise.
14312         * modules/sinl (License): Likewise.
14313         * modules/sqrtl (License): Likewise.
14314         * modules/tanl (License): Likewise.
14315         Source code originally from glibc and Paolo Bonzini. Agreements:
14316         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14317         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14318
14319 2011-05-05  Bruno Haible  <bruno@clisp.org>
14320
14321         signal: Define sighandler_t.
14322         * lib/signal.in.h (sighandler_t): New type.
14323         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14324         whether sighandler_t is defined.
14325         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14326         * modules/signal (Depends-on): Add extensions.
14327         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14328         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14329         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14330
14331 2011-05-05  Eric Blake  <eblake@redhat.com>
14332
14333         maint: remove useless REPLACE_*_H macros
14334         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
14335         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14336         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14337         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
14338         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14339         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14340         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
14341         * m4/btowc.m4: Update callers.
14342         * m4/dirfd.m4: Likewise.
14343         * m4/duplocale.m4: Likewise.
14344         * m4/fchdir.m4: Likewise.
14345         * m4/fdopendir.m4: Likewise.
14346         * m4/inet_ntop.m4: Likewise.
14347         * m4/inet_pton.m4: Likewise.
14348         * m4/ioctl.m4: Likewise.
14349         * m4/mbrlen.m4: Likewise.
14350         * m4/mbrtowc.m4: Likewise.
14351         * m4/mbsinit.m4: Likewise.
14352         * m4/mbsnrtowcs.m4: Likewise.
14353         * m4/mbsrtowcs.m4: Likewise.
14354         * m4/poll.m4: Likewise.
14355         * m4/setlocale.m4: Likewise.
14356         * m4/wcrtomb.m4: Likewise.
14357         * m4/wcsnrtombs.m4: Likewise.
14358         * m4/wcsrtombs.m4: Likewise.
14359         * m4/wctob.m4: Likewise.
14360         * m4/wcwidth.m4: Likewise.
14361         * modules/posix_spawn: Likewise.
14362         * modules/posix_spawn_file_actions_addclose: Likewise.
14363         * modules/posix_spawn_file_actions_adddup2: Likewise.
14364         * modules/posix_spawn_file_actions_addopen: Likewise.
14365         * modules/posix_spawn_file_actions_destroy: Likewise.
14366         * modules/posix_spawn_file_actions_init: Likewise.
14367         * modules/posix_spawnattr_destroy: Likewise.
14368         * modules/posix_spawnattr_getflags: Likewise.
14369         * modules/posix_spawnattr_getpgroup: Likewise.
14370         * modules/posix_spawnattr_getschedparam: Likewise.
14371         * modules/posix_spawnattr_getschedpolicy: Likewise.
14372         * modules/posix_spawnattr_getsigdefault: Likewise.
14373         * modules/posix_spawnattr_getsigmask: Likewise.
14374         * modules/posix_spawnattr_init: Likewise.
14375         * modules/posix_spawnattr_setflags: Likewise.
14376         * modules/posix_spawnattr_setpgroup: Likewise.
14377         * modules/posix_spawnattr_setschedparam: Likewise.
14378         * modules/posix_spawnattr_setschedpolicy: Likewise.
14379         * modules/posix_spawnattr_setsigdefault: Likewise.
14380         * modules/posix_spawnattr_setsigmask: Likewise.
14381         * modules/posix_spawnp: Likewise.
14382
14383 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
14384
14385         Add option to do-release-commit-and-tag to specify branch.
14386         * build-aux/do-release-commit-and-tag: Add --branch.
14387
14388 2011-05-03  Bruno Haible  <bruno@clisp.org>
14389
14390         Avoid unnecessary compilation units, through conditional dependencies.
14391         * modules/accept (Depends-on): Add conditions to the dependencies.
14392         * modules/acosl (Depends-on): Likewise.
14393         * modules/argz (Depends-on): Likewise.
14394         * modules/asinl (Depends-on): Likewise.
14395         * modules/atanl (Depends-on): Likewise.
14396         * modules/atoll (Depends-on): Likewise.
14397         * modules/bind (Depends-on): Likewise.
14398         * modules/btowc (Depends-on): Likewise.
14399         * modules/canonicalize-lgpl (Depends-on): Likewise.
14400         * modules/ceil (Depends-on): Likewise.
14401         * modules/ceilf (Depends-on): Likewise.
14402         * modules/ceill (Depends-on): Likewise.
14403         * modules/chdir-long (Depends-on): Likewise.
14404         * modules/chown (Depends-on): Likewise.
14405         * modules/close (Depends-on): Likewise.
14406         * modules/connect (Depends-on): Likewise.
14407         * modules/cosl (Depends-on): Likewise.
14408         * modules/dirfd (Depends-on): Likewise.
14409         * modules/dprintf (Depends-on): Likewise.
14410         * modules/dprintf-posix (Depends-on): Likewise.
14411         * modules/error (Depends-on): Likewise.
14412         * modules/euidaccess (Depends-on): Likewise.
14413         * modules/expl (Depends-on): Likewise.
14414         * modules/faccessat (Depends-on): Likewise.
14415         * modules/fchdir (Depends-on): Likewise.
14416         * modules/fclose (Depends-on): Likewise.
14417         * modules/fcntl (Depends-on): Likewise.
14418         * modules/fdopendir (Depends-on): Likewise.
14419         * modules/fflush (Depends-on): Likewise.
14420         * modules/floor (Depends-on): Likewise.
14421         * modules/floorf (Depends-on): Likewise.
14422         * modules/floorl (Depends-on): Likewise.
14423         * modules/fnmatch (Depends-on): Likewise.
14424         * modules/fopen (Depends-on): Likewise.
14425         * modules/fprintf-posix (Depends-on): Likewise.
14426         * modules/frexp (Depends-on): Likewise.
14427         * modules/frexp-nolibm (Depends-on): Likewise.
14428         * modules/frexpl (Depends-on): Likewise.
14429         * modules/frexpl-nolibm (Depends-on): Likewise.
14430         * modules/fseek (Depends-on): Likewise.
14431         * modules/fsusage (Depends-on): Likewise.
14432         * modules/ftell (Depends-on): Likewise.
14433         * modules/ftello (Depends-on): Likewise.
14434         * modules/futimens (Depends-on): Likewise.
14435         * modules/getcwd (Depends-on): Likewise.
14436         * modules/getcwd-lgpl (Depends-on): Likewise.
14437         * modules/getdelim (Depends-on): Likewise.
14438         * modules/getdomainname (Depends-on): Likewise.
14439         * modules/getgroups (Depends-on): Likewise.
14440         * modules/gethostname (Depends-on): Likewise.
14441         * modules/getline (Depends-on): Likewise.
14442         * modules/getlogin_r (Depends-on): Likewise.
14443         * modules/getopt-posix (Depends-on): Likewise.
14444         * modules/getpeername (Depends-on): Likewise.
14445         * modules/getsockname (Depends-on): Likewise.
14446         * modules/getsockopt (Depends-on): Likewise.
14447         * modules/getsubopt (Depends-on): Likewise.
14448         * modules/getusershell (Depends-on): Likewise.
14449         * modules/glob (Depends-on): Likewise.
14450         * modules/grantpt (Depends-on): Likewise.
14451         * modules/iconv_open (Depends-on): Likewise.
14452         * modules/iconv_open-utf (Depends-on): Likewise.
14453         * modules/inet_ntop (Depends-on): Likewise.
14454         * modules/inet_pton (Depends-on): Likewise.
14455         * modules/ioctl (Depends-on): Likewise.
14456         * modules/isapipe (Depends-on): Likewise.
14457         * modules/isfinite (Depends-on): Likewise.
14458         * modules/isinf (Depends-on): Likewise.
14459         * modules/lchown (Depends-on): Likewise.
14460         * modules/ldexpl (Depends-on): Likewise.
14461         * modules/link (Depends-on): Likewise.
14462         * modules/linkat (Depends-on): Likewise.
14463         * modules/listen (Depends-on): Likewise.
14464         * modules/logl (Depends-on): Likewise.
14465         * modules/lstat (Depends-on): Likewise.
14466         * modules/mbrlen (Depends-on): Likewise.
14467         * modules/mbrtowc (Depends-on): Likewise.
14468         * modules/mbsinit (Depends-on): Likewise.
14469         * modules/mbsnrtowcs (Depends-on): Likewise.
14470         * modules/mbsrtowcs (Depends-on): Likewise.
14471         * modules/mbtowc (Depends-on): Likewise.
14472         * modules/memcmp (Depends-on): Likewise.
14473         * modules/mkdir (Depends-on): Likewise.
14474         * modules/mkdtemp (Depends-on): Likewise.
14475         * modules/mkfifo (Depends-on): Likewise.
14476         * modules/mkfifoat (Depends-on): Likewise.
14477         * modules/mknod (Depends-on): Likewise.
14478         * modules/mkostemp (Depends-on): Likewise.
14479         * modules/mkostemps (Depends-on): Likewise.
14480         * modules/mkstemp (Depends-on): Likewise.
14481         * modules/mkstemps (Depends-on): Likewise.
14482         * modules/mktime (Depends-on): Likewise.
14483         * modules/nanosleep (Depends-on): Likewise.
14484         * modules/open (Depends-on): Likewise.
14485         * modules/openat (Depends-on): Likewise.
14486         * modules/perror (Depends-on): Likewise.
14487         * modules/poll (Depends-on): Likewise.
14488         * modules/popen (Depends-on): Likewise.
14489         * modules/posix_spawn (Depends-on): Likewise.
14490         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
14491         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
14492         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
14493         * modules/posix_spawnp (Depends-on): Likewise.
14494         * modules/pread (Depends-on): Likewise.
14495         * modules/printf-posix (Depends-on): Likewise.
14496         * modules/ptsname (Depends-on): Likewise.
14497         * modules/putenv (Depends-on): Likewise.
14498         * modules/pwrite (Depends-on): Likewise.
14499         * modules/readline (Depends-on): Likewise.
14500         * modules/readlink (Depends-on): Likewise.
14501         * modules/readlinkat (Depends-on): Likewise.
14502         * modules/recv (Depends-on): Likewise.
14503         * modules/recvfrom (Depends-on): Likewise.
14504         * modules/regex (Depends-on): Likewise.
14505         * modules/remove (Depends-on): Likewise.
14506         * modules/rename (Depends-on): Likewise.
14507         * modules/renameat (Depends-on): Likewise.
14508         * modules/rmdir (Depends-on): Likewise.
14509         * modules/round (Depends-on): Likewise.
14510         * modules/roundf (Depends-on): Likewise.
14511         * modules/roundl (Depends-on): Likewise.
14512         * modules/rpmatch (Depends-on): Likewise.
14513         * modules/select (Depends-on): Likewise.
14514         * modules/send (Depends-on): Likewise.
14515         * modules/sendto (Depends-on): Likewise.
14516         * modules/setenv (Depends-on): Likewise.
14517         * modules/setlocale (Depends-on): Likewise.
14518         * modules/setsockopt (Depends-on): Likewise.
14519         * modules/shutdown (Depends-on): Likewise.
14520         * modules/sigaction (Depends-on): Likewise.
14521         * modules/signbit (Depends-on): Likewise.
14522         * modules/sigprocmask (Depends-on): Likewise.
14523         * modules/sinl (Depends-on): Likewise.
14524         * modules/sleep (Depends-on): Likewise.
14525         * modules/snprintf (Depends-on): Likewise.
14526         * modules/snprintf-posix (Depends-on): Likewise.
14527         * modules/socket (Depends-on): Likewise.
14528         * modules/sprintf-posix (Depends-on): Likewise.
14529         * modules/sqrtl (Depends-on): Likewise.
14530         * modules/stat (Depends-on): Likewise.
14531         * modules/strchrnul (Depends-on): Likewise.
14532         * modules/strdup-posix (Depends-on): Likewise.
14533         * modules/strerror (Depends-on): Likewise.
14534         * modules/strerror_r-posix (Depends-on): Likewise.
14535         * modules/strndup (Depends-on): Likewise.
14536         * modules/strnlen (Depends-on): Likewise.
14537         * modules/strptime (Depends-on): Likewise.
14538         * modules/strsep (Depends-on): Likewise.
14539         * modules/strsignal (Depends-on): Likewise.
14540         * modules/strstr-simple (Depends-on): Likewise.
14541         * modules/strtod (Depends-on): Likewise.
14542         * modules/strtoimax (Depends-on): Likewise.
14543         * modules/strtok_r (Depends-on): Likewise.
14544         * modules/strtoumax (Depends-on): Likewise.
14545         * modules/symlink (Depends-on): Likewise.
14546         * modules/symlinkat (Depends-on): Likewise.
14547         * modules/tanl (Depends-on): Likewise.
14548         * modules/tcgetsid (Depends-on): Likewise.
14549         * modules/tmpfile (Depends-on): Likewise.
14550         * modules/trunc (Depends-on): Likewise.
14551         * modules/truncf (Depends-on): Likewise.
14552         * modules/truncl (Depends-on): Likewise.
14553         * modules/uname (Depends-on): Likewise.
14554         * modules/unlink (Depends-on): Likewise.
14555         * modules/unlockpt (Depends-on): Likewise.
14556         * modules/unsetenv (Depends-on): Likewise.
14557         * modules/usleep (Depends-on): Likewise.
14558         * modules/utimensat (Depends-on): Likewise.
14559         * modules/vasprintf (Depends-on): Likewise.
14560         * modules/vdprintf (Depends-on): Likewise.
14561         * modules/vdprintf-posix (Depends-on): Likewise.
14562         * modules/vfprintf-posix (Depends-on): Likewise.
14563         * modules/vprintf-posix (Depends-on): Likewise.
14564         * modules/vsnprintf (Depends-on): Likewise.
14565         * modules/vsnprintf-posix (Depends-on): Likewise.
14566         * modules/vsprintf-posix (Depends-on): Likewise.
14567         * modules/wcrtomb (Depends-on): Likewise.
14568         * modules/wcscasecmp (Depends-on): Likewise.
14569         * modules/wcscspn (Depends-on): Likewise.
14570         * modules/wcsdup (Depends-on): Likewise.
14571         * modules/wcsncasecmp (Depends-on): Likewise.
14572         * modules/wcsnrtombs (Depends-on): Likewise.
14573         * modules/wcspbrk (Depends-on): Likewise.
14574         * modules/wcsrtombs (Depends-on): Likewise.
14575         * modules/wcsspn (Depends-on): Likewise.
14576         * modules/wcsstr (Depends-on): Likewise.
14577         * modules/wcstok (Depends-on): Likewise.
14578         * modules/wcswidth (Depends-on): Likewise.
14579         * modules/wctob (Depends-on): Likewise.
14580         * modules/wctomb (Depends-on): Likewise.
14581         * modules/wctype (Depends-on): Likewise.
14582         * modules/wcwidth (Depends-on): Likewise.
14583         * modules/write (Depends-on): Likewise.
14584
14585 2011-05-03  Bruno Haible  <bruno@clisp.org>
14586
14587         Support for conditional dependencies.
14588         * doc/gnulib.texi (Module description): Document the syntax of
14589         conditional dependencies.
14590         * gnulib-tool: New option --conditional-dependencies.
14591         (func_usage): Document it.
14592         (cond_dependencies): New variable.
14593         (func_get_automake_snippet_conditional,
14594         func_get_automake_snippet_unconditional): New functions, extracted from
14595         func_get_automake_snippet.
14596         (func_get_automake_snippet): Use them.
14597         (sed_first_32_chars): New variable.
14598         (func_module_shellfunc_name): New function.
14599         (func_module_shellvar_name): New function.
14600         (func_module_conditional_name): New function.
14601         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
14602         func_cond_module_condition): New functions.
14603         (func_modules_transitive_closure): Add support for conditional
14604         dependencies.
14605         (func_emit_lib_Makefile_am): For a conditional module, enclose the
14606         conditional automake snippet in an automake conditional.
14607         (func_emit_autoconf_snippets): Emit shell functions that contain the
14608         code for conditional modules.
14609         (func_import, func_create_testdir): Update specification.
14610
14611 2011-05-03  Eric Blake  <eblake@redhat.com>
14612
14613         test-getaddrinfo: report error information
14614         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
14615
14616 2011-05-03  Jim Meyering  <meyering@redhat.com>
14617
14618         bootstrap: avoid build failure when $GZIP is set
14619         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
14620         program name.  If defined at all, it is supposed to list gzip options.
14621         Reported by Alan Curry in http://debbugs.gnu.org/8609
14622
14623 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
14624
14625         readme-release: new module with release instructions
14626         * modules/readme-release: New module.
14627         * top/README-release: New file, from coreutils, grep, diffutils.
14628         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14629
14630 2011-05-02  Eric Blake  <eblake@redhat.com>
14631
14632         fflush: also replace fclose when fixing fflush
14633         * modules/fflush (Depends-on): Add fclose.
14634         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
14635         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
14636         memstreams with no backing fd.
14637         * doc/posix-functions/fclose.texi (fclose): Document the use of
14638         fflush module to fix the bug.
14639         * tests/test-fclose.c (main): Relax test when fclose is used in
14640         isolation.
14641
14642         fclose: add some tests
14643         * modules/fclose-tests: New test module.
14644         * tests/test-fclose.c: New file.
14645         * doc/posix-functions/fclose.texi (fclose): Document the bug.
14646
14647         fclose: reduced dependencies
14648         * modules/fclose (Depends-on): Switch from fflush/fseeko to
14649         simpler lseek.
14650         * lib/fclose.c (rpl_fclose): Likewise.
14651         Reported by Simon Josefsson.
14652
14653         exit: drop remaining clients
14654         * modules/argmatch (Depends-on): Replace exit with stdlib.
14655         * modules/copy-file (Depends-on): Likewise.
14656         * modules/execute (Depends-on): Likewise.
14657         * modules/exitfail (Depends-on): Likewise.
14658         * modules/obstack (Depends-on): Likewise.
14659         * modules/pagealign_alloc (Depends-on): Likewise.
14660         * modules/pipe-filter-gi (Depends-on): Likewise.
14661         * modules/pipe-filter-ii (Depends-on): Likewise.
14662         * modules/savewd (Depends-on): Likewise.
14663         * modules/spawn-pipe (Depends-on): Likewise.
14664         * modules/wait-process (Depends-on): Likewise.
14665         * modules/xsetenv (Depends-on): Likewise.
14666         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
14667         * modules/git-merge-changelog (Depends-on): Likewise.
14668         * modules/long-options (Depends-on): Likewise.
14669         * modules/pt_chown (Depends-on): Likewise.
14670         * modules/sysexits (Depends-on): Likewise.
14671
14672         freading: relax license from LGPLv3+ to LGPLv2+
14673         * modules/freading (License): Relax LGPL version.
14674
14675 2011-05-02  Bruno Haible  <bruno@clisp.org>
14676
14677         fchdir: Remove unused dependencies.
14678         * modules/fchdir (Depends-on): Remove include_next.
14679
14680 2011-05-02  Bruno Haible  <bruno@clisp.org>
14681
14682         gnulib-tool: Refactor.
14683         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
14684         from func_emit_autoconf_snippets.
14685         (func_emit_autoconf_snippets): Use it.
14686
14687 2011-05-02  Simon Josefsson  <simon@josefsson.org>
14688
14689         * NEWS: Document removal of 'exit'.
14690         * modules/exit: Remove file.
14691
14692 2011-05-01  Bruno Haible  <bruno@clisp.org>
14693
14694         Update DEPENDENCIES.
14695         * DEPENDENCIES (gettext): Recommend the newest release.
14696         Reported by Simon Josefsson.
14697
14698 2011-05-01  Bruno Haible  <bruno@clisp.org>
14699
14700         gnulib-tool: Reduce code duplication.
14701         * gnulib-tool (func_emit_autoconf_snippets): New function.
14702         (func_import, func_create_testdir): Use it.
14703
14704 2011-04-30  Eric Blake  <eblake@redhat.com>
14705
14706         fclose: don't fail on non-seekable input stream
14707         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
14708         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
14709         since fflush is allowed to fail in that case.
14710
14711 2011-04-30  Bruno Haible  <bruno@clisp.org>
14712
14713         dup3: cleanup
14714         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
14715
14716 2011-04-30  Bruno Haible  <bruno@clisp.org>
14717
14718         netdb: Make it work in C++ mode.
14719         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
14720         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
14721         module.
14722         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
14723         gl_MODULE_INDICATOR_FOR_TESTS.
14724         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
14725         * modules/netdb-c++-tests: New file.
14726         * tests/test-netdb-c++.cc: New file.
14727
14728 2011-04-30  Bruno Haible  <bruno@clisp.org>
14729
14730         New modules 'vfscanf', 'vscanf'.
14731         * modules/vfscanf: New file.
14732         * modules/vscanf: New file.
14733         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
14734         here.
14735         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
14736         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
14737
14738 2011-04-30  Bruno Haible  <bruno@clisp.org>
14739
14740         passfd: Add comments.
14741         * lib/passfd.c: Add comments about platforms.
14742
14743 2011-04-30  Bruno Haible  <bruno@clisp.org>
14744
14745         sys_uio: Make <sys/uio.h> self-contained.
14746         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
14747         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
14748
14749 2011-04-30  Bruno Haible  <bruno@clisp.org>
14750
14751         sys_socket: Ensure 'struct iovec' definition.
14752         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
14753         <sys/socket.h>.
14754         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
14755
14756 2011-04-30  Bruno Haible  <bruno@clisp.org>
14757
14758         sys_uio: Protect definition of 'struct iovec'.
14759         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
14760         it as a C struct.
14761
14762 2011-04-30  Bruno Haible  <bruno@clisp.org>
14763
14764         manywarnings: fix indentation
14765         * m4/manywarnings.m4: Indent by 2 spaces consistently.
14766
14767 2011-04-30  Pádraig Brady <P@draigBrady.com>
14768
14769         manywarnings: add -Wno-missing-field-initializers if needed.
14770         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
14771         option if it's needed to allow initialization with { 0, }
14772
14773 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
14774
14775         announce-gen: cosmetic improvement
14776         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
14777
14778 2011-04-29  Jim Meyering  <meyering@redhat.com>
14779
14780         vc-list-files: indent with spaces, not TABs
14781         * build-aux/vc-list-files: Convert leading TABs to spaces,
14782         to match the style of most other files in gnulib.
14783
14784         announce-gen: indent with spaces, not TABs
14785         * build-aux/announce-gen: Convert all TABs to spaces, to match
14786         the style of most other files in gnulib.
14787
14788 2011-04-29  Eric Blake  <eblake@redhat.com>
14789
14790         quotearg: avoid uninitialized variable use
14791         * lib/quotearg.c (quoting_options_from_style): Initialize
14792         remaining fields, and ensure that custom styles are only used via
14793         quoting_options rather than quoting_style.
14794
14795 2011-04-29  Jim Meyering  <meyering@redhat.com>
14796
14797         maint.mk: remove unused VC-tag variable
14798         * top/maint.mk (VC-tag): Remove unused variable.
14799
14800 2011-04-29  Bruno Haible  <bruno@clisp.org>
14801
14802         netdb: fix gai_strerror replacements
14803         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
14804         * modules/netdb: Substitute it.
14805
14806 2011-04-29  Jim Meyering  <meyering@redhat.com>
14807
14808         test-getcwd.c: avoid new set-but-not-used warning
14809         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
14810         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
14811         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
14812         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
14813
14814         test-hash.c: avoid a new shadowing warning
14815         * tests/test-hash.c (main): Don't shadow "dup".
14816
14817 2011-04-28  Eric Blake  <eblake@redhat.com>
14818
14819         getaddrinfo: fix gai_strerror signature
14820         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
14821         and work around mingw with UNICODE defined.
14822         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
14823         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
14824         * modules/netdb (Makefile.am): Substitute it.
14825         * lib/netdb.in.h (gai_strerror): Declare replacement.
14826         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
14827         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
14828         the fix.
14829
14830         getsockopt: avoid compiler warning
14831         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
14832         Reported by Matthias Bolte.
14833
14834         tests: drop unused link dependency
14835         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
14836         * modules/dirent-safer-tests (Makefile.am): Likewise.
14837         * modules/fdopendir-tests (Makefile.am): Likewise.
14838         * modules/mkfifoat-tests (Makefile.am): Likewise.
14839         * modules/openat-safer-tests (Makefile.am): Likewise.
14840         * modules/openat-tests (Makefile.am): Likewise.
14841         * modules/readlinkat-tests (Makefile.am): Likewise.
14842         * modules/symlinkat-tests (Makefile.am): Likewise.
14843         * modules/linkat-tests (Makefile.am): Likewise.
14844         (Depends-on): Switch to filenamecat-lgpl.
14845         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
14846         LIBINTL.
14847         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
14848         * tests/test-linkat.c (main): Don't require xalloc.
14849
14850         hash, mgetgroups: drop xalloc dependency
14851         * lib/hash.c (includes): Adjust includes.
14852         * lib/mgetgroups.c (includes): Likewise.
14853         (xgetgroups): Move...
14854         * lib/xgetgroups.c: ...to new file.
14855         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
14856         * modules/xgetgroups: New file, split from...
14857         * modules/mgetgroups: ...here.
14858         (Depends-on): Add xalloc-oversized.
14859         * modules/hash (Depends-on): Likewise.
14860         * modules/hash-tests (Depends-on): Drop xalloc.
14861         (test_hash_LDADD): Drop unused library.
14862         * tests/test-hash.c (main): Break xalloc dependency.
14863         (includes): Drop unused include.
14864
14865         xalloc-oversized: new module
14866         * modules/xalloc-oversized: New module.
14867         * modules/xalloc (Depends-on): Add it.
14868         * lib/xalloc.h (xalloc_oversized): Move...
14869         * lib/xalloc-oversized.h: ...into new file.
14870
14871         utimecmp: drop dependency on xmalloc
14872         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
14873         due to memory pressure.
14874         * modules/utimecmp (Depends-on): Drop xalloc.
14875
14876 2011-04-27  Eric Blake  <eblake@redhat.com>
14877
14878         getcwd: fix mingw bugs
14879         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
14880         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
14881         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
14882
14883 2011-04-27  Bruno Haible  <bruno@clisp.org>
14884
14885         mkstemps: Ensure declaration on MacOS X 10.5.
14886         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
14887         * doc/glibc-functions/mkstemps.texi: Document header file problem on
14888         MacOS X.
14889
14890 2011-04-27  Bruno Haible  <bruno@clisp.org>
14891
14892         mkstemp: More documentation.
14893         * doc/posix-functions/mkstemp.texi: Document header file problem on
14894         MacOS X.
14895
14896 2011-04-27  Bruno Haible  <bruno@clisp.org>
14897
14898         mkstemp: Tweak configure message when cross-compiling.
14899         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
14900         result as a guess.
14901
14902 2011-04-27  Bruno Haible  <bruno@clisp.org>
14903
14904         clean-temp: Clarify what it does.
14905         * lib/clean-temp.h: Add more comments.
14906         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
14907         module.
14908         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
14909         * doc/glibc-functions/mkstemps.texi: Likewise.
14910         * doc/glibc-functions/mkostemps.texi: Likewise.
14911
14912 2011-04-27  Eric Blake  <eblake@redhat.com>
14913
14914         fchdir: avoid extra chdir and fix test
14915         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
14916         getcwd-lgpl.
14917         * lib/fchdir.c (get_name): Any absolute name will do; it does not
14918         have to be canonical.
14919         (canonicalize_file_name): Drop unused macro.
14920         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
14921
14922         filenamecat-lgpl: fix licence
14923         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
14924         when it was first created.
14925
14926         linkat, renameat: add missing dependency
14927         * modules/linkat (Depends-on): Require getcwd-lgpl.
14928         * modules/renameat (Depends-on): Likewise.
14929
14930         tests: reduce dependencies
14931         * tests/test-linkat.c (main): Use lighter-weight getcwd.
14932         * tests/test-renameat.c (main): Likewise.
14933         * modules/linkat-tests (Depends-on): Relax dependency.
14934         * modules/renameat-tests (Depends-on): Likewise.
14935         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
14936         dependency explicit.
14937
14938         save-cwd: reduce default dependency
14939         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
14940         * lib/save-cwd.c: Update comments.
14941         * NEWS: Document the semantic change.
14942
14943         getcwd: enhance tests
14944         * tests/test-getcwd-lgpl.c: New file, taken from...
14945         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
14946         repeat long path stress tests from m4 probe.
14947         * modules/getcwd-lgpl-tests: New module.
14948         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
14949         * m4/getcwd-abort-bug.m4: Update comment.
14950         * m4/getcwd-path-max.m4: Likewise.
14951
14952         getcwd-lgpl: new module
14953         * modules/getcwd-lgpl: New module.
14954         * lib/getcwd-lgpl.c: New file.
14955         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14956         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14957         * modules/getcwd (configure.ac): Set C witness.
14958         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
14959
14960         getcwd: tweak comments
14961         * m4/getcwd-abort-bug.m4: Fix comments.
14962         * m4/getcwd-path-max.m4: Likewise.
14963         * m4/getcwd.m4: Likewise.
14964
14965 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14966         and Eric Blake  <eblake@redhat.com>
14967
14968         mkstemp: replace if system version uses wrong permissions
14969         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14970         read/write mode bits set in file created by mkstemp.
14971         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14972
14973 2011-04-27  Eric Blake  <eblake@redhat.com>
14974
14975         passfd: avoid compiler warning
14976         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14977         Reported by Laine Stump.
14978
14979 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14980
14981         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14982         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14983
14984 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14985         and Eric Blake  <eblake@redhat.com>
14986
14987         mkstemp: mention clean-temp module
14988         * lib/mkstemp.c: Add comment.
14989         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14990
14991 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14992
14993         inttypes: also provide default values for 32-bit tests
14994         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14995         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14996
14997 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14998
14999         strtoumax: remove dependency on strtoimax
15000         This is like the strtoull change of yesterday.
15001         * modules/strtoumax (Files): Add lib/strtoimax.c.
15002         (Depends-on): Remove strtoimax and add verify.
15003
15004         inttypes-incomplete: new module
15005         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15006         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15007         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15008         of gl_INTTYPES_H.
15009         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15010         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15011         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15012         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15013         * modules/strtoumax, modules/xstrtol (Depends-on):
15014         Depend on inttypes-incomplete, not inttypes.
15015         * modules/inttypes-incomplete: New module, containing the contents
15016         of the old modules/inttypes module, except that the Files: section
15017         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15018         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15019         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15020         (Depends-on): Depend only on inttypes-incomplete.
15021         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15022
15023         inttypes: omit now-redundant strtoimax and strtoumax work
15024         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15025         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15026
15027         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15028         This supports apps that need pointers to strtoimax and strtoumax,
15029         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15030         nonexistent functions.  See
15031         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15032         et seq.
15033         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15034         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15035         a macro.
15036         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15037
15038 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15039
15040         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15041
15042 2011-04-25  Bruno Haible  <bruno@clisp.org>
15043
15044         strtol, strtoul: Mark modules as obsolete.
15045         * modules/strtol (Status, Notice): New sections.
15046         * modules/strtoul (Status, Notice): New sections.
15047
15048 2011-04-25  Bruno Haible  <bruno@clisp.org>
15049
15050         strtod: Remove check for strtod, unless supporting old platforms.
15051         * modules/strtod-obsolete: New file.
15052         * m4/strtod-obsolete.m4: New file.
15053         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15054         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15055         * modules/strtod (Depends-on): Add strtod-obsolete.
15056         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15057
15058 2011-04-25  Bruno Haible  <bruno@clisp.org>
15059
15060         strcase: Make module obsolete.
15061         * modules/strcase (Status, Notice): New sections.
15062
15063 2011-04-25  Bruno Haible  <bruno@clisp.org>
15064
15065         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15066         * modules/dup2-obsolete: New file.
15067         * m4/dup2-obsolete.m4: New file.
15068         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15069         gl_FUNC_DUP2_OBSOLETE is not also defined.
15070         * modules/dup2 (Depends-on): Add dup2-obsolete.
15071         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15072
15073 2011-04-25  Bruno Haible  <bruno@clisp.org>
15074
15075         strnlen: Avoid memchr related link error on old obsolete platforms.
15076         * modules/memchr-obsolete: New file.
15077         * m4/memchr-obsolete.m4: New file.
15078         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15079         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15080         * modules/memchr (Depends-on): Add memchr-obsolete.
15081         * modules/strnlen (Depends-on): Likewise.
15082         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15083
15084 2011-04-25  Jim Meyering  <meyering@redhat.com>
15085
15086         maint.mk: makefile_at_at_check extend and clean up
15087         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15088         in addition to */Makefile.am.
15089         Exempt legitimate uses of @VAR@ notation, e.g.,
15090         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15091         Remove obsolete coreutils-specific comment.
15092         Prompted by discussion here:
15093         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15094
15095 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         strtoul: remove dependency on strtol
15098         This is so that 'configure' need not check for strtol merely because
15099         the application needs strtoul.
15100         * modules/strtoul (Files): Add lib/strtol.c.
15101         (Depends-on): Remove strtol.
15102
15103         strtoull: remove dependency on strtoul
15104         This is like the strtoll change.
15105         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15106         (Depends-on): Remove strtoul.
15107
15108         strtoll: remove dependency on strtol
15109         This is so that 'configure' need not check for strtol merely because
15110         the application needs strtoll.
15111         * modules/strtoll (Files): Add lib/strtol.c.
15112         (Depends-on): Remove strtol.
15113
15114 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15115
15116         inttypes: Move some configure check to module 'imaxdiv'.
15117         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15118         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15119         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15120
15121 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15122
15123         inttypes: Move some configure check to module 'imaxabs'.
15124         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15125         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15126         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15127
15128 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15129
15130         inttypes: Remove configure tests that are not needed since 2009-12-31.
15131         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15132         gl_cv_header_working_inttypes_h.
15133
15134 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15135
15136         * modules/strnlen (Depends-on): Remove memchr.
15137         The strnlen implementation doesn't need the memchr module's fixes; see
15138         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15139
15140         strtol: remove dependency on wchar
15141         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15142         * modules/strtol (Depends-on): Remove wchar.
15143
15144 2011-04-21  Eric Blake  <eblake@redhat.com>
15145
15146         passfd: fix test regression on Linux
15147         * modules/passfd-tests (configure.ac): Correct socketpair check.
15148
15149         passfd: speed up configure and drop unused code
15150         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15151         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15152         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15153         Instead of probing at configure for unix_scm_rights_bsd44_way,
15154         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15155         check to a struct member probe.
15156         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15157         (sendfd, recvfd): Update preprocessor checks.
15158         * modules/passfd (Files): Reflect rename, and drop unused file.
15159         (Depends-on): Drop unused dependency.
15160
15161         passfd: allow compilation on mingw
15162         * modules/sys_socket (Depends-on): Add sys_uio.
15163         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15164         iovec and a minimal struct msghdr.
15165         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15166         * tests/test-sys_socket.c (main): Enhance test.
15167         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15168         guaranteed to provide what we need.
15169         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15170         * modules/passfd-tests (Depends-on): Add sys_wait.
15171         * tests/test-passfd.c (main): Skip test on mingw, for now.
15172         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15173         partial 'struct msghdr' implementation.
15174
15175         sys_uio: new module
15176         * modules/sys_uio: New module.
15177         * modules/sys_uio-tests: Likewise.
15178         * lib/sys_uio.in.h: New file.
15179         * m4/sys_uio_h.m4: Likewise.
15180         * tests/test-sys_uio.c: Likewise.
15181         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15182         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15183
15184 2011-04-20  Jim Meyering  <meyering@redhat.com>
15185
15186         useless-if-before-free: avoid false-positive
15187         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15188         disjunct so that it too requires a terminating ";".  Without that,
15189         this script would identify as useless one statement from gcc that
15190         was not:
15191           if (aligned_ptr)
15192             free (((void **) aligned_ptr) [-1]);
15193
15194 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15195
15196         doc: update users.txt.
15197         * users.txt: Add barcode.
15198
15199 2011-04-19  Bruno Haible  <bruno@clisp.org>
15200
15201         ioctl: Remove link dependency on native Windows.
15202         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15203         (gl_close_fn, gl_ioctl_fn): New types.
15204         (struct fd_hook): Renamed from struct close_hook. Change type of
15205         private_close_fn field. Add private_ioctl_fn field.
15206         (close_hook_fn): Add parameter for primary close method.
15207         (execute_close_hooks, execute_all_close_hooks): Likewise.
15208         (ioctl_hook_fn): New type.
15209         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15210         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15211         argument.
15212         (unregister_fd_hook): Renamed from unregister_close_hook.
15213         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15214         Don't include <unistd.h>.
15215         (close): Remove undef.
15216         (anchor): Update.
15217         (execute_close_hooks): Add argument for primary close method.
15218         (execute_all_close_hooks): Likewise.
15219         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15220         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15221         argument. Allow each argument to be NULL.
15222         (unregister_fd_hook): Renamed from unregister_close_hook.
15223         * lib/close.c (rpl_close): Pass 'close' function pointer to
15224         execute_all_close_hooks.
15225         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15226         (primary_ioctl): New function.
15227         (ioctl): Don't call ioctlsocket here. Instead, call
15228         execute_all_ioctl_hooks.
15229         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15230         close method.
15231         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15232         (fd_sockets_hook): Renamed from close_sockets_hook.
15233         (gl_sockets_startup, gl_sockets_cleanup): Update.
15234         * modules/fd-hook: Renamed from modules/close-hook. Update.
15235         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15236         * modules/sockets (Depends-on): Likewise.
15237         * modules/ioctl (Depends-on): Add fd-hook.
15238         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15239         GNULIB_SOCKET.
15240
15241 2011-04-19  Bruno Haible  <bruno@clisp.org>
15242
15243         Move the support of O_NONBLOCK in open() to the 'open' module.
15244         * modules/nonblocking (Depends-on): Remove 'open'.
15245         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15246         gl_cv_have_open_O_NONBLOCK.
15247         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15248         O_NONBLOCK support.
15249         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15250
15251 2011-04-17  Bruno Haible  <bruno@clisp.org>
15252
15253         pipe2: Simplify code.
15254         * lib/pipe2.c (pipe2): Reduce code duplication.
15255
15256 2011-04-17  Bruno Haible  <bruno@clisp.org>
15257
15258         nonblocking: Add comment.
15259         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15260
15261 2011-04-17  Bruno Haible  <bruno@clisp.org>
15262
15263         nonblocking: Add tests for sockets.
15264         * tests/test-nonblocking-socket.sh: New file.
15265         * tests/test-nonblocking-socket-main.c: New file.
15266         * tests/test-nonblocking-socket-child.c: New file.
15267         * tests/test-nonblocking-socket.h: New file.
15268         * tests/socket-server.h: New file.
15269         * tests/socket-client.h: New file.
15270         * modules/nonblocking-socket-tests: New file.
15271         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15272
15273 2011-04-17  Bruno Haible  <bruno@clisp.org>
15274
15275         nonblocking: Add tests for pipes.
15276         * tests/test-nonblocking-pipe.sh: New file.
15277         * tests/test-nonblocking-pipe-main.c: New file.
15278         * tests/test-nonblocking-pipe-child.c: New file.
15279         * tests/test-nonblocking-pipe.h: New file.
15280         * tests/test-nonblocking-writer.h: New file.
15281         * tests/test-nonblocking-reader.h: New file.
15282         * tests/test-nonblocking-misc.h: New file.
15283         * modules/nonblocking-pipe-tests: New file.
15284         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15285
15286 2011-04-16  Bruno Haible  <bruno@clisp.org>
15287
15288         gettext: Clarify the needed programmer actions.
15289         * modules/gettext (Notice): New field.
15290         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15291
15292 2011-04-16  Bruno Haible  <bruno@clisp.org>
15293
15294         strchrnul: Tweak last commit.
15295         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15296         bug.
15297         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15298         as in _GL_FUNCDECL_SYS.
15299         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15300         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15301
15302 2011-04-15  Eric Blake  <eblake@redhat.com>
15303
15304         strchrnul: work around cygwin bug
15305         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15306         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15307         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15308         * modules/string (Makefile.am): Substitute it.
15309         * lib/string.in.h (strchrnul): Use it.
15310
15311 2011-04-15  Bruno Haible  <bruno@clisp.org>
15312
15313         Don't require lib/stdio-write.c when only module 'stdio' is used.
15314         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15315         invocation.
15316         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15317
15318 2011-04-14  Bruno Haible  <bruno@clisp.org>
15319
15320         Support non-blocking pipe I/O in read() on native Windows.
15321         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15322         (read): New declaration.
15323         * lib/read.c: New file.
15324         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15325         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15326         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15327         vscanf): New declarations.
15328         * lib/stdio-read.c: New file.
15329         * m4/read.m4: New file.
15330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
15331         REPLACE_READ.
15332         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
15333         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15334         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
15335         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
15336         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
15337         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15338         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15339         * modules/read: New file.
15340         * modules/nonblocking (Files): Add lib/stdio-read.c.
15341         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
15342         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
15343         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
15344         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
15345         * modules/pread (Depends-on): Add read.
15346         * modules/safe-read (Depends-on): Likewise.
15347         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
15348         gets, scanf, vfscanf, vscanf): Verify signatures.
15349         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
15350         problem with non-blocking pipes.
15351         * doc/posix-functions/fgetc.texi: Likewise.
15352         * doc/posix-functions/fgets.texi: Likewise.
15353         * doc/posix-functions/fread.texi: Likewise.
15354         * doc/posix-functions/fscanf.texi: Likewise.
15355         * doc/posix-functions/getc.texi: Likewise.
15356         * doc/posix-functions/getchar.texi: Likewise.
15357         * doc/posix-functions/gets.texi: Likewise.
15358         * doc/posix-functions/scanf.texi: Likewise.
15359         * doc/posix-functions/vfscanf.texi: Likewise.
15360         * doc/posix-functions/vscanf.texi: Likewise.
15361
15362 2011-04-14  Bruno Haible  <bruno@clisp.org>
15363
15364         Support non-blocking pipe I/O in write() on native Windows.
15365         * lib/write.c (rpl_write): Split a write request that failed merely
15366         because the byte count was larger than the pipe buffer's size.
15367         * doc/posix-functions/write.texi: Mention the problem with large byte
15368         counts.
15369
15370 2011-04-14  Bruno Haible  <bruno@clisp.org>
15371
15372         wchar: Ensure that wchar_t gets defined on uClibc.
15373         * lib/wchar.in.h: On uClibc, include <stddef.h>.
15374         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
15375
15376 2011-04-13  Bruno Haible  <bruno@clisp.org>
15377
15378         safe-write, full-read: Avoid unnecessary compilation units.
15379         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
15380         (Depends-on): Remove safe-read. Add ssize_t.
15381         * modules/full-read (Files): Add lib/full-write.c.
15382         (Depends-on): Add full-write.
15383
15384 2011-04-13  Bruno Haible  <bruno@clisp.org>
15385
15386         Support non-blocking pipe I/O and SIGPIPE in pwrite().
15387         * modules/pwrite (Depends-on): Add 'write'.
15388
15389 2011-04-13  Bruno Haible  <bruno@clisp.org>
15390
15391         Support non-blocking pipe I/O in write() on native Windows.
15392         * lib/unistd.in.h (write): Enable replacement also if
15393         GNULIB_UNISTD_H_NONBLOCKING is 1.
15394         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
15395         (rpl_write): When failing to write on a non-blocking pipe, change
15396         errno from ENOSPC to EAGAIN.
15397         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
15398         putchar, puts, vfprintf, vprintf): Enable replacement also if
15399         GNULIB_STDIO_H_NONBLOCKING is 1.
15400         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
15401         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
15402         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
15403         CALL_WITH_SIGPIPE_EMULATION.
15404         (CALL_WITH_SIGPIPE_EMULATION): Use them.
15405         * m4/nonblocking.m4: New file.
15406         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
15407         for non-blocking I/O support.
15408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15409         GNULIB_UNISTD_H_NONBLOCKING.
15410         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
15411         required for non-blocking I/O support.
15412         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
15413         * modules/nonblocking (Files): Add m4/nonblocking.m4,
15414         lib/stdio-write.c, m4/asm-underscore.m4.
15415         (Depends-on): Add stdio, unistd.
15416         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
15417         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
15418         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
15419         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
15420         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
15421         problem with non-blocking pipes.
15422         * doc/posix-functions/fputc.texi: Likewise.
15423         * doc/posix-functions/fputs.texi: Likewise.
15424         * doc/posix-functions/fwrite.texi: Likewise.
15425         * doc/posix-functions/printf.texi: Likewise.
15426         * doc/posix-functions/putc.texi: Likewise.
15427         * doc/posix-functions/putchar.texi: Likewise.
15428         * doc/posix-functions/puts.texi: Likewise.
15429         * doc/posix-functions/vfprintf.texi: Likewise.
15430         * doc/posix-functions/vprintf.texi: Likewise.
15431         * doc/posix-functions/write.texi: Likewise.
15432
15433 2011-04-10  Jim Meyering  <meyering@redhat.com>
15434
15435         maint.mk: prohibit doubled words
15436         Detect them also when they're separated by a newline.
15437         There are 3 ways to customize it:
15438           - disable the test on a per file basis, as usual with rules using
15439             $(VC_LIST_EXCEPT)
15440           - replace the default doubled-word-selecting regexp (affects all files)
15441           - ignore a particular file-vs-doubled-word match
15442         I nearly used that last one to ignore the "is is" match in
15443         coreutils' NEWS file, since the text was "ls -is is ..."
15444         To do that, I would have added this line to cfg.mk:
15445           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
15446         but it would have ignored any "is is" match in NEWS.
15447         Low probability, but still...
15448         Instead, I changed the text, slightly:
15449           -  ls -is is now consistent with ls -lis in ignoring values returned
15450           +  "ls -is" is now consistent with ls -lis in ignoring values returned
15451         * top/maint.mk (prohibit_double_word_RE_): Provide default.
15452         (prohibit_doubled_word_): Define.
15453         (sc_prohibit_doubled_word): New rule.
15454         (sc_prohibit_the_the): Remove.  Subsumed by the above.
15455
15456 2011-04-10  Jim Meyering  <meyering@redhat.com>
15457
15458         maint: fix doubled-word typo in comment
15459         * m4/gethostname.m4: s/is is/it is/
15460         * m4/getdomainname.m4: Likewise.
15461
15462 2011-04-10  Jim Meyering  <meyering@redhat.com>
15463
15464         maint: remove doubled word: s/it it/it/
15465         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
15466
15467 2011-04-10  Jim Meyering  <meyering@redhat.com>
15468
15469         maint.mk: remove useless semicolon and backslash
15470         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
15471         semicolon and backslash.
15472
15473 2011-04-10  Bruno Haible  <bruno@clisp.org>
15474
15475         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
15476         * modules/stdint-tests (Depends-on): Add wchar.
15477
15478 2011-04-10  Jim Meyering  <meyering@redhat.com>
15479
15480         maint: remove doubled words in comments, e.g., s/a a/a/
15481         * lib/strptime.c (day_of_the_week): s/the the/the/
15482         * tests/test-chown.h (test_chown): s/a a/a/
15483
15484         test-chown.h: correct a cast
15485         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
15486         when the destination is a stat.st_gid.
15487
15488 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
15489
15490         getaddrinfo: Fix test for sa_len member.
15491         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
15492         include <sys/types.h> before <sys/socket.h>.
15493
15494 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15495
15496         maint: change "can not" to "cannot"
15497         * doc/posix-functions/iconv.texi (iconv): This one crossed line
15498         boundaries.
15499
15500 2011-04-09  Jim Meyering  <meyering@redhat.com>
15501
15502         maint: change "a a" to "a"
15503         * tests/test-lchown.h (test_lchown): s/a a/a/
15504
15505         maint.mk: prohibit \<the the\>
15506         * top/maint.mk (sc_prohibit_the_the): New rule.
15507
15508         maint: fix "the the" in comment
15509         * lib/count-one-bits.h: s/the the/the/
15510
15511         maint: change "can not" to "cannot"
15512         But do not change the occurrences in maintain.texi or in
15513         build-aux/po/Makefile.in.in, which I presume comes from gettext.
15514         * doc/gnulib-tool.texi: s/can not/cannot/
15515         * doc/posix-functions/accept.texi (accept): Likewise.
15516         * doc/posix-functions/socket.texi (socket): Likewise.
15517         * lib/mbrtowc.c: Likewise.
15518
15519         maint.mk: prohibit use of "can not"
15520         * top/maint.mk (sc_prohibit_can_not): New rule.
15521         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
15522
15523 2011-04-09  Bruno Haible  <bruno@clisp.org>
15524
15525         careadlinkat: Guard against misuse of careadlinkatcwd.
15526         * lib/careadlinkat.c: Include <stdlib.h>.
15527         (careadlinkatcwd): Check that the fd argument is as expected.
15528
15529 2011-04-09  Bruno Haible  <bruno@clisp.org>
15530
15531         careadlinkat: Use common coding style.
15532         * lib/careadlinkat.c: Move gnulib includes after system includes.
15533
15534 2011-04-09  Bruno Haible  <bruno@clisp.org>
15535
15536         careadlinkat: Clarify specification.
15537         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
15538         (careadlinkatcwd): Add comment.
15539         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
15540
15541 2011-04-09  Bruno Haible  <bruno@clisp.org>
15542
15543         areadlinkat: Avoid link error on many platforms.
15544         * modules/areadlinkat (Depends-on): Add areadlink.
15545
15546 2011-04-09  Bruno Haible  <bruno@clisp.org>
15547
15548         allocator, careadlinkat: Fix double-inclusion guard.
15549         * lib/allocator.h: Fix double-inclusion guard.
15550         * lib/careadlinkat.h: Likewise.
15551
15552 2011-04-09  Bruno Haible  <bruno@clisp.org>
15553
15554         relocatable-prog-wrapper: Update after module 'areadlink' changed.
15555         * lib/relocwrapper.c: Update dependencies hierarchy.
15556         * build-aux/install-reloc: Update list of files to be compiled.
15557         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
15558         lib/allocator.[hc].
15559
15560 2011-04-08  Eric Blake  <eblake@redhat.com>
15561
15562         strftime: silence gnulib-tool warning
15563         * modules/strftime-tests (Depends-on): Drop automatic dependency.
15564
15565 2011-04-08  Bruno Haible  <bruno@clisp.org>
15566
15567         verify: Fix syntax error with GCC 4.6 in C++ mode.
15568         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
15569         (HAVE_STATIC_ASSERT): New macro.
15570         (verify_true, verify): Use 'static_assert' if it is supported and
15571         '_Static_assert' is not supported.
15572
15573 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
15574
15575         allocator: New module.
15576         * modules/allocator, lib/allocator.c: New files.
15577         * lib/allocator.h (stdlib_allocator): New decl.
15578         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
15579         Remove.  Do not include <stdlib.h>.
15580         (careadlinkat): Use stdlib_allocator instead of rolling our own.
15581         * modules/careadlinkat (Files): Remove lib/allocator.h.
15582         (Depends-on): Add allocator.
15583
15584         stdlib: let modules use system malloc, realloc
15585         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
15586         if !_GL_USE_STDLIB_ALLOC.
15587         (malloc, realloc): Limit this change to a smaller scope.
15588
15589         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
15590         (malloc, realloc): Don't #undef; no longer needed.
15591         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15592         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15593         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15594         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15595         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15596         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15597         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
15598         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
15599
15600         careadlinkat: rename members to avoid problem
15601         * lib/allocator.h (struct allocator): Rename members from
15602         malloc/realloc to allocate/reallocate, to avoid problems if malloc
15603         and realloc are #define'd.  Reported by Eric Blake in
15604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
15605         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
15606
15607 2011-04-08  Eric Blake  <eblake@redhat.com>
15608
15609         nonblocking: reduce dependency
15610         * tests/test-nonblocking.c: Only test sockets when in use.
15611         * modules/nonblocking-tests (Depends-on): Drop socket.
15612         (Makefile.am): Link even if sockets are not present.
15613         * modules/pipe2-tests (Makefile.am): Likewise.
15614         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
15615
15616         pipe2: fix O_NONBLOCK support on mingw
15617         * modules/pipe2 (Depends-on): Add nonblocking.
15618         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
15619         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
15620         * tests/test-nonblocking.c (main): Likewise.
15621         * modules/pipe2-tests (Makefile.am): Avoid link failure.
15622
15623         fcntl-h: fix O_ACCMODE on cygwin
15624         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
15625         * lib/fcntl.in.h (O_ACCMODE): Fix it.
15626
15627         pipe-filter: drop O_NONBLOCK workarounds
15628         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
15629         * modules/pipe-filter-ii (Depends-on): Likewise.
15630         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
15631
15632         nonblocking: provide O_NONBLOCK for mingw
15633         * modules/nonblocking (Depends-on): Add open.
15634         (configure.ac): Set new witness macro.
15635         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
15636         * modules/fcntl-h (Makefile.am): Substitute it.
15637         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
15638         nonblocking module is in use.
15639         * lib/nonblocking.c: Adjust portability test.
15640         * lib/open.c (open): Don't let native open see gnulib flag.
15641         * tests/test-fcntl-h.c (main): Enhance test.
15642         * tests/test-open.h (test_open): Likewise.
15643         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
15644
15645         careadlinkat: fix compilation error on mingw
15646         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
15647         within struct allocator.
15648
15649 2011-04-06  Eric Blake  <eblake@redhat.com>
15650
15651         binary-io: relicense under LGPLv2+
15652         * modules/binary-io (License): Relax to LGPLv2+.
15653         Requested for libvirt, and required by pipe2.
15654
15655 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
15656
15657         verify: use _Static_assert if available
15658         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
15659         (verify_true, verify): Use it if available.  This generates better
15660         diagnostics with GCC 4.6.0 and later.
15661
15662 2011-04-05  Bruno Haible  <bruno@clisp.org>
15663
15664         Remove leftover generated .h files after config.status changed.
15665
15666         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
15667         GL_GENERATE_ALLOCA_H.
15668         * modules/alloca-opt (Makefile.am): Remove alloca.h if
15669         GL_GENERATE_ALLOCA_H evaluates to false.
15670
15671         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
15672         GL_GENERATE_ARGZ_H.
15673         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
15674         evaluates to false.
15675
15676         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
15677         GL_GENERATE_BYTESWAP_H.
15678         * modules/byteswap (Makefile.am): Remove byteswap.h if
15679         GL_GENERATE_BYTESWAP_H evaluates to false.
15680
15681         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
15682         GL_GENERATE_ERRNO_H.
15683         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
15684         evaluates to false.
15685
15686         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
15687         GL_GENERATE_FLOAT_H.
15688         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
15689         evaluates to false.
15690
15691         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
15692         GL_GENERATE_FNMATCH_H.
15693         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
15694         GL_GENERATE_FNMATCH_H evaluates to false.
15695
15696         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
15697         GL_GENERATE_GLOB_H.
15698         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
15699         evaluates to false.
15700
15701         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
15702         automake conditional GL_GENERATE_ICONV_H.
15703         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
15704         evaluates to false.
15705
15706         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
15707         GL_GENERATE_NETINET_IN_H.
15708         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
15709         GL_GENERATE_NETINET_IN_H evaluates to false.
15710
15711         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
15712         conditional GL_GENERATE_PTHREAD_H.
15713         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
15714         * modules/pthread (Makefile.am): Remove pthread.h if
15715         GL_GENERATE_PTHREAD_H evaluates to false.
15716
15717         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
15718         GL_GENERATE_SCHED_H.
15719         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
15720         evaluates to false.
15721
15722         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
15723         conditional GL_GENERATE_SELINUX_CONTEXT_H.
15724         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
15725         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
15726
15727         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
15728         GL_GENERATE_STDARG_H.
15729         * modules/stdarg (Makefile.am): Remove stdarg.h if
15730         GL_GENERATE_STDARG_H evaluates to false.
15731
15732         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
15733         GL_GENERATE_STDBOOL_H.
15734         * modules/stdbool (Makefile.am): Remove stdbool.h if
15735         GL_GENERATE_STDBOOL_H evaluates to false.
15736
15737         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
15738         conditional GL_GENERATE_STDDEF_H.
15739         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
15740         * modules/stddef (Makefile.am): Remove stddef.h if
15741         GL_GENERATE_STDDEF_H evaluates to false.
15742
15743         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
15744         GL_GENERATE_STDINT_H.
15745         * modules/stdint (Makefile.am): Remove stdint.h if
15746         GL_GENERATE_STDINT_H evaluates to false.
15747
15748         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
15749         GL_GENERATE_SYSEXITS_H.
15750         * modules/sysexits (Makefile.am): Remove sysexits.h if
15751         GL_GENERATE_SYSEXITS_H evaluates to false.
15752
15753         Reported by Karl Berry and Ralf Wildenhues.
15754
15755 2011-04-05  Bruno Haible  <bruno@clisp.org>
15756
15757         Ensure to rebuild generated .h files when config.status has changed.
15758         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
15759         config.status.
15760         * modules/ctype (Makefile.am): Likewise.
15761         * modules/dirent (Makefile.am): Likewise.
15762         * modules/errno (Makefile.am): Likewise.
15763         * modules/fcntl-h (Makefile.am): Likewise.
15764         * modules/float (Makefile.am): Likewise.
15765         * modules/getopt-posix (Makefile.am): Likewise.
15766         * modules/glob (Makefile.am): Likewise.
15767         * modules/iconv-h (Makefile.am): Likewise.
15768         * modules/inttypes (Makefile.am): Likewise.
15769         * modules/langinfo (Makefile.am): Likewise.
15770         * modules/locale (Makefile.am): Likewise.
15771         * modules/math (Makefile.am): Likewise.
15772         * modules/netdb (Makefile.am): Likewise.
15773         * modules/netinet_in (Makefile.am): Likewise.
15774         * modules/poll-h (Makefile.am): Likewise.
15775         * modules/pthread (Makefile.am): Likewise.
15776         * modules/pty (Makefile.am): Likewise.
15777         * modules/sched (Makefile.am): Likewise.
15778         * modules/search (Makefile.am): Likewise.
15779         * modules/selinux-h (Makefile.am): Likewise.
15780         * modules/signal (Makefile.am): Likewise.
15781         * modules/spawn (Makefile.am): Likewise.
15782         * modules/stdarg (Makefile.am): Likewise.
15783         * modules/stdbool (Makefile.am): Likewise.
15784         * modules/stddef (Makefile.am): Likewise.
15785         * modules/stdint (Makefile.am): Likewise.
15786         * modules/stdio (Makefile.am): Likewise.
15787         * modules/stdlib (Makefile.am): Likewise.
15788         * modules/string (Makefile.am): Likewise.
15789         * modules/strings (Makefile.am): Likewise.
15790         * modules/sys_file (Makefile.am): Likewise.
15791         * modules/sys_ioctl (Makefile.am): Likewise.
15792         * modules/sys_select (Makefile.am): Likewise.
15793         * modules/sys_socket (Makefile.am): Likewise.
15794         * modules/sys_stat (Makefile.am): Likewise.
15795         * modules/sys_time (Makefile.am): Likewise.
15796         * modules/sys_times (Makefile.am): Likewise.
15797         * modules/sys_utsname (Makefile.am): Likewise.
15798         * modules/sys_wait (Makefile.am): Likewise.
15799         * modules/sysexits (Makefile.am): Likewise.
15800         * modules/termios (Makefile.am): Likewise.
15801         * modules/time (Makefile.am): Likewise.
15802         * modules/unistd (Makefile.am): Likewise.
15803         * modules/wchar (Makefile.am): Likewise.
15804         * modules/wctype-h (Makefile.am): Likewise.
15805         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
15806
15807 2011-04-05  Bruno Haible  <bruno@clisp.org>
15808
15809         pipe2: Relicense under LGPLv2+.
15810         * modules/pipe2 (License): Change to LGPLv2+.
15811         Requested by Eric Blake, for libvirt.
15812
15813 2011-04-05  Bruce Korb  <bkorb@gnu.org>
15814
15815         bootstrap: compute gnulib_extra_files after updating build_aux
15816         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
15817         change build_aux or also supply gnulib_extra_files.  Handle correctly.
15818
15819 2011-04-05  Eric Blake  <eblake@redhat.com>
15820
15821         bootstrap: preserve git whitelist item sorting
15822         * build-aux/bootstrap (sort_patterns): New function.
15823         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
15824
15825 2011-04-05  Simon Josefsson  <simon@josefsson.org>
15826
15827         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
15828         sc_space_tab check.
15829
15830 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
15831
15832         areadlink, areadlinkat: rewrite in terms of careadlinkat
15833         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
15834         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
15835         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
15836         (malloc, realloc): Remove #undefs.
15837         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
15838         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
15839         readlink, ssize_t, stdint, unistd.
15840         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
15841         areadlink, stdint.
15842
15843         careadlinkat: new module
15844         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
15845         * modules/careadlinkat: New files, written by me with
15846         a review and feedback from Ben Pfaff in
15847         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
15848
15849 2011-04-01  Bruno Haible  <bruno@clisp.org>
15850
15851         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
15852         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
15853         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
15854         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
15855         Reported by Bruce Korb <bruce.korb@gmail.com>.
15856
15857 2011-04-01  Bruno Haible  <bruno@clisp.org>
15858
15859         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
15860         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
15861         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
15862         * modules/wcpcpy (Depends-on): Add extensions.
15863         * modules/wcpncpy (Depends-on): Likewise.
15864         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
15865         systems.
15866         * doc/posix-functions/wcpncpy.texi: Likewise.
15867         * doc/posix-functions/wcwidth.texi: Likewise.
15868
15869 2011-03-31  Eric Blake  <eblake@redhat.com>
15870
15871         nonblocking: fix mingw test failures
15872         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
15873         non-blocking flag on regular file.
15874         (get_nonblocking_flag): Set errno on invalid fd.
15875         * tests/test-nonblocking.c (main): Avoid test failure on
15876         directories if fchdir is not active.
15877         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
15878
15879 2011-03-31  Bruno Haible  <bruno@clisp.org>
15880
15881         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
15882         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
15883         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
15884         Reported by Simon Josefsson <simon@josefsson.org>.
15885
15886 2011-03-31  Bruno Haible  <bruno@clisp.org>
15887         and Eric Blake  <eblake@redhat.com>
15888
15889         nonblocking: new module
15890         * modules/nonblocking: New module.
15891         * modules/nonblocking-tests: Likewise.
15892         * lib/nonblocking.h: New file.
15893         * lib/nonblocking.c: Likewise.
15894         * tests/test-nonblocking.c: New test.
15895         * lib/ioctl.c (ioctl) [mingw]: Update comment.
15896
15897 2011-03-30  Bruno Haible  <bruno@clisp.org>
15898
15899         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
15900         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
15901         instead of 'printf' format for GCC >= 4.4.
15902         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
15903         (fprintf, printf, vfprintf, vprintf): Declare with
15904         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
15905         the system's vfprintf() function.
15906         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
15907
15908 2011-03-30  Eric Blake  <eblake@redhat.com>
15909
15910         passfd: fix scoping bug
15911         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
15912         before sendmsg/recvmsg.
15913
15914         passfd: standardize coding conventions
15915         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
15916         can be learned at compile time.
15917         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
15918         ifdefs.
15919         (sendfd, recvfd): Follow gnulib code conventions.
15920
15921         passfd: fix incorrect sendmsg arguments
15922         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
15923         incorrect msg_controllen value.
15924         * modules/passfd-tests (Depends-on): Check for alarm.
15925         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
15926         Reported by Bastien ROUCARIES.
15927
15928 2011-03-30  Bruno Haible  <bruno@clisp.org>
15929
15930         c-strcasestr: Relicense under LGPLv2+.
15931         * modules/c-strcasestr (License): Change to LGPLv2+.
15932         Requested by Eric Blake, for libvirt.
15933
15934 2011-03-30  Simon Josefsson  <simon@josefsson.org>
15935
15936         * users.txt: Add libidn2.  Fix libtasn1 link.
15937
15938 2011-03-30  Jim Meyering  <meyering@redhat.com>
15939
15940         tests: readlink* ("",... fails with EINVAL on newer kernels
15941         readlink and readlinkat have typically failed with ENOENT for
15942         the invalid, empty file name,  "".  However, with the advent
15943         of linux-2.6.39, they fail with EINVAL.
15944         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
15945         when operating on the empty file name.
15946         * tests/test-readlink.h (test_readlink): Likewise.
15947
15948 2011-03-29  Bruno Haible  <bruno@clisp.org>
15949
15950         Relicense some modules under LGPLv2+, for libidn2.
15951         * modules/array-mergesort (License): Change to LGPLv2+.
15952         * modules/c-strcaseeq (License): Likewise.
15953         * modules/striconveh (License): Likewise.
15954         * modules/striconveha (License): Likewise.
15955         * modules/uniconv/base (License): Likewise.
15956         * modules/uniconv/u8-conv-from-enc (License): Likewise.
15957         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
15958         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
15959         * modules/unictype/base (License): Likewise.
15960         * modules/unictype/bidiclass-of (License): Likewise.
15961         * modules/unictype/category-M (License): Likewise.
15962         * modules/unictype/category-none (License): Likewise.
15963         * modules/unictype/category-of (License): Likewise.
15964         * modules/unictype/category-test (License): Likewise.
15965         * modules/unictype/category-test-withtable (License): Likewise.
15966         * modules/unictype/combining-class (License): Likewise.
15967         * modules/unictype/joiningtype-of (License): Likewise.
15968         * modules/unictype/scripts (License): Likewise.
15969         * modules/uninorm/base (License): Likewise.
15970         * modules/uninorm/canonical-decomposition (License): Likewise.
15971         * modules/uninorm/composition (License): Likewise.
15972         * modules/uninorm/decompose-internal (License): Likewise.
15973         * modules/uninorm/decomposition-table (License): Likewise.
15974         * modules/uninorm/nfc (License): Likewise.
15975         * modules/uninorm/nfd (License): Likewise.
15976         * modules/uninorm/u32-normalize (License): Likewise.
15977         * modules/unistr/base (License): Likewise.
15978         * modules/unistr/u32-cpy (License): Likewise.
15979         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15980         * modules/unistr/u32-to-u8 (License): Likewise.
15981         * modules/unistr/u32-uctomb (License): Likewise.
15982         * modules/unistr/u8-check (License): Likewise.
15983         * modules/unistr/u8-mblen (License): Likewise.
15984         * modules/unistr/u8-mbtouc (License): Likewise.
15985         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15986         * modules/unistr/u8-mbtoucr (License): Likewise.
15987         * modules/unistr/u8-prev (License): Likewise.
15988         * modules/unistr/u8-strlen (License): Likewise.
15989         * modules/unistr/u8-to-u32 (License): Likewise.
15990         * modules/unistr/u8-uctomb (License): Likewise.
15991         * modules/unitypes (License): Likewise.
15992         Requested by Simon Josefsson.
15993
15994 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15995
15996         lib-symbol-visibility: Add a notice.
15997         * modules/lib-symbol-visibility (Notice): New field.
15998
15999 2011-03-29  Bruno Haible  <bruno@clisp.org>
16000
16001         getaddrinfo: Doc fix.
16002         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16003         section "fixed in Gnulib".
16004
16005 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16006
16007         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16008         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16009
16010 2011-03-26  Bruno Haible  <bruno@clisp.org>
16011
16012         unictype/property-byname: Reduce the number of load-time relocations.
16013         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16014         (UC_PROPERTY_INDEX_*): New enumeration values.
16015         (uc_property_byname): Convert an index from the lookup table to an
16016         uc_property_t.
16017         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16018         values.
16019
16020 2011-03-26  Bruno Haible  <bruno@clisp.org>
16021
16022         unictype/property-byname: Allow omitted word separators and aliases.
16023         * lib/unictype/pr_byname.gperf: Add property names without word
16024         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16025         for 'space'.
16026
16027 2011-03-26  Bruno Haible  <bruno@clisp.org>
16028
16029         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16030         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16031         also hyphens to space.
16032         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16033         without spaces.
16034         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16035
16036 2011-03-26  Bruno Haible  <bruno@clisp.org>
16037
16038         unictype/joiningtype-byname: Recognize long names as well.
16039         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16040         a long name.
16041         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16042         unictype/joiningtype_byname.h.
16043         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16044         * lib/unictype/joiningtype_byname.gperf: New file.
16045         * modules/unictype/joiningtype-byname (Files): Add
16046         lib/unictype/joiningtype_byname.gperf.
16047         (Depends-on): Add gperf.
16048         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16049         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16050         long names.
16051
16052         Tests for module 'unictype/joiningtype-longname'.
16053         * modules/unictype/joiningtype-longname-tests: New file.
16054         * tests/unictype/test-joiningtype_longname.c: New file.
16055
16056         New module 'unictype/joiningtype-longname'.
16057         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16058         * lib/unictype/joiningtype_longname.c: New file.
16059         * modules/unictype/joiningtype-longname: New file.
16060         * modules/unictype/joiningtype-all (Depends-on): Add
16061         unictype/joiningtype-longname.
16062
16063 2011-03-26  Bruno Haible  <bruno@clisp.org>
16064
16065         unictype/bidiclass-byname: Recognize long names as well.
16066         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16067         name.
16068         * lib/unictype/bidi_byname.c: Include <string.h>,
16069         unictype/bidi_byname.h.
16070         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16071         * lib/unictype/bidi_byname.gperf: New file.
16072         * modules/unictype/bidiclass-byname (Files): Add
16073         lib/unictype/bidi_byname.gperf.
16074         (Depends-on): Add gperf.
16075         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16076         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16077         long names.
16078
16079         Tests for module 'unictype/bidiclass-longname'.
16080         * modules/unictype/bidiclass-longname-tests: New file.
16081         * tests/unictype/test-bidi_longname.c: New file.
16082
16083         New module 'unictype/bidiclass-longname'.
16084         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16085         * lib/unictype/bidi_longname.c: New file.
16086         * modules/unictype/bidiclass-longname: New file.
16087         * modules/unictype/bidiclass-all (Depends-on): Add
16088         unictype/bidiclass-longname.
16089
16090 2011-03-26  Bruno Haible  <bruno@clisp.org>
16091
16092         unictype/bidi*: Rename modules.
16093         * modules/unictype/bidiclass-all: Renamed from
16094         modules/unictype/bidicategory-all.
16095         * modules/unictype/bidiclass-name: Renamed from
16096         modules/unictype/bidiclass-name.
16097         (Description): Update.
16098         * modules/unictype/bidiclass-name-tests: Renamed from
16099         modules/unictype/bidicategory-name-tests.
16100         * modules/unictype/bidiclass-byname: Renamed from
16101         modules/unictype/bidicategory-byname.
16102         (Description): Update.
16103         * modules/unictype/bidiclass-byname-tests: Renamed from
16104         modules/unictype/bidicategory-byname-tests.
16105         * modules/unictype/bidiclass-of: Renamed from
16106         modules/unictype/bidicategory-of.
16107         (Description): Update.
16108         * modules/unictype/bidiclass-of-tests: Renamed from
16109         modules/unictype/bidicategory-of-tests.
16110         * modules/unictype/bidiclass-test: Renamed from
16111         modules/unictype/bidicategory-test.
16112         (Description): Update.
16113         * modules/unictype/bidiclass-test-tests: Renamed from
16114         modules/unictype/bidicategory-test-tests.
16115         * modules/unictype/bidicategory-all: New file, a simple redirection.
16116         * modules/unictype/bidicategory-name: Likewise.
16117         * modules/unictype/bidicategory-byname: Likewise.
16118         * modules/unictype/bidicategory-of: Likewise.
16119         * modules/unictype/bidicategory-test: Likewise.
16120         * modules/unictype/property-bidi-* (Dependencies): Update.
16121         * lib/unictype/bidi_*.c: Update comment.
16122
16123 2011-03-26  Bruno Haible  <bruno@clisp.org>
16124
16125         unictype/bidi*: Rename functions, part 2.
16126         * modules/unictype/bidicategory-name (configure.ac): Update required
16127         libunistring version.
16128         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16129
16130 2011-03-25  Bruno Haible  <bruno@clisp.org>
16131
16132         New module 'unictype/combining-class-all'.
16133         * modules/unictype/combining-class-all: New file.
16134
16135         Tests for module 'unictype/combining-class-byname'.
16136         * modules/unictype/combining-class-byname-tests: New file.
16137         * tests/unictype/test-combiningclass_byname.c: New file.
16138
16139         New module 'unictype/combining-class-byname'.
16140         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16141         * lib/unictype/combiningclass_byname.c: New file.
16142         * lib/unictype/combiningclass_byname.gperf: New file.
16143         * modules/unictype/combining-class-byname: New file.
16144
16145         Tests for module 'unictype/combining-class-longname'.
16146         * modules/unictype/combining-class-longname-tests: New file.
16147         * tests/unictype/test-combiningclass_longname.c: New file.
16148
16149         New module 'unictype/combining-class-longname'.
16150         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16151         * lib/unictype/combiningclass_longname.c: New file.
16152         * modules/unictype/combining-class-longname: New file.
16153
16154         Tests for module 'unictype/combining-class-name'.
16155         * modules/unictype/combining-class-name-tests: New file.
16156         * tests/unictype/test-combiningclass_name.c: New file.
16157
16158         New module 'unictype/combining-class-name'.
16159         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16160         * lib/unictype/combiningclass_name.c: New file.
16161         * modules/unictype/combining-class-name: New file.
16162
16163 2011-03-25  Bruno Haible  <bruno@clisp.org>
16164
16165         unictype/combining-class: Rename source files.
16166         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16167         of unictype/combining.h.
16168         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16169         Update.
16170         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16171         * modules/unictype/combining-class (Description): Fix.
16172         (Files, Makefile.am): Update.
16173         * tests/unictype/test-combiningclass.c: Renamed from
16174         tests/unictype/test-combining.c.
16175         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16176
16177 2011-03-25  Bruno Haible  <bruno@clisp.org>
16178
16179         unictype: Update list of canonical combining classes.
16180         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16181
16182 2011-03-25  Bruno Haible  <bruno@clisp.org>
16183
16184         unictype/category-byname: Recognize long names as well.
16185         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16186         a long name.
16187         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16188         unictype/categ_byname.h.
16189         (UC_CATEGORY_INDEX_*): New enumeration values.
16190         (uc_general_category_byname): Use uc_general_category_lookup and
16191         convert from index to value.
16192         * lib/unictype/categ_byname.gperf: New file.
16193         * modules/unictype/category-byname (Files): Add
16194         lib/unictype/categ_byname.gperf.
16195         (Depends-on): Add gperf.
16196         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16197         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16198         long names.
16199
16200         Tests for module 'unictype/category-longname'.
16201         * modules/unictype/category-longname-tests: New file.
16202         * tests/unictype/test-categ_longname.c: New file.
16203
16204         New module 'unictype/category-longname'.
16205         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16206         * lib/unictype/categ_longname.c: New file.
16207         * modules/unictype/category-longname: New file.
16208         * modules/unictype/category-all (Depends-on): Add it.
16209
16210 2011-03-25  Bruno Haible  <bruno@clisp.org>
16211
16212         Tests for module 'unictype/category-LC'.
16213         * modules/unictype/category-LC-tests: New file.
16214         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16215
16216         New module 'unictype/category-LC'.
16217         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16218         (UC_CATEGORY_LC): New declaration.
16219         (UC_CASED_LETTER): New macro.
16220         * lib/gen-uni-tables.c (is_category_LC): New function.
16221         (output_categories): Also handle category LC.
16222         (UC_CATEGORY_MASK_LC): New enumeration value.
16223         (general_category_byname): Also handle category LC.
16224         * lib/unictype/categ_LC.c: New file.
16225         * lib/unictype/categ_LC.h: New file, automatically generated.
16226         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16227         category LC.
16228         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16229         * modules/unictype/category-LC: New file.
16230         * modules/unictype/category-byname (Depends-on): Add
16231         unictype/category-LC.
16232         * modules/unictype/category-all (Depends-on): Likewise.
16233
16234 2011-03-25  Eric Blake  <eblake@redhat.com>
16235
16236         xmalloc: revert yesterday's regression
16237         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16238         realloc's underlying behavior (allowing allocation of zero-size
16239         objects, especially if malloc-gnu is also in use).
16240
16241 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16242
16243         maint.mk: add missing version to VC-tag
16244         * top/maint.mk: git tag was missing actual tag name; add it.
16245
16246         valgrind: do leak checking, and exit with code 1 on error (not 0)
16247         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16248         to VALGRIND.
16249
16250 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16251
16252         posix-modules: say what it does.
16253         * posix-modules: Add a line to the --help output saying what it does.
16254
16255 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16256
16257         xmalloc: Do not leak if underlying realloc is C99 compatible.
16258         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16259         This avoids a leak on C99-based systems.  See
16260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16261
16262 2011-03-24  Eric Blake  <eblake@redhat.com>
16263
16264         realloc: document portability problem
16265         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16266         passing 0 size to realloc.
16267
16268 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16269
16270         doc: update users.txt
16271         * users.txt: Add cvsps, tmpwatch
16272
16273 2011-03-23  Matt Rice  <ratmice@gmail.com>
16274
16275         doc: update users.txt
16276         * users.txt: Add gdb.
16277
16278 2011-03-23  Jim Meyering  <meyering@redhat.com>
16279
16280         doc: update users.txt
16281         Looking through matches up to the following URL (there are still
16282         several more pages), I found several projects that use gnulib:
16283         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16284         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16285         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16286
16287 2011-03-22  Bruno Haible  <bruno@clisp.org>
16288
16289         unictype/bidi*: Rename functions.
16290         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16291         uc_bidi_class, uc_is_bidi_class): New declarations.
16292         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16293         uc_bidi_category_byname.
16294         (uc_bidi_category_byname): New function.
16295         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16296         u_bidi_category_name.
16297         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16298         (uc_bidi_category_name): New function.
16299         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16300         uc_bidi_category.
16301         (uc_bidi_category): New function.
16302         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16303         uc_is_bidi_category. Invoke uc_bidi_class.
16304         (uc_is_bidi_category): New function.
16305         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16306         instead of uc_bidi_category_byname.
16307         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16308         instead of uc_bidi_category_name.
16309         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16310         uc_bidi_category.
16311         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16312         instead of uc_is_bidi_category.
16313
16314 2011-03-21  Bruno Haible  <bruno@clisp.org>
16315
16316         New module 'unictype/joininggroup-all'.
16317         * modules/unictype/joininggroup-all: New file.
16318
16319         Tests for module 'unictype/joininggroup-of'.
16320         * modules/unictype/joininggroup-of-tests: New file.
16321         * tests/unictype/test-joininggroup_of.c: New file.
16322         * tests/unictype/test-joininggroup_of.h: New file, automatically
16323         generated by gen-uni-tables.
16324
16325         New module 'unictype/joininggroup-of'.
16326         * modules/unictype/joininggroup-of: New file.
16327         * lib/unictype/joininggroup_of.c: New file.
16328         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16329         gen-uni-tables.
16330
16331         Tests for module 'unictype/joininggroup-byname'.
16332         * modules/unictype/joininggroup-byname-tests: New file.
16333         * tests/unictype/test-joininggroup_byname.c: New file.
16334
16335         New module 'unictype/joininggroup-byname'.
16336         * modules/unictype/joininggroup-byname: New file.
16337         * lib/unictype/joininggroup_byname.c: New file.
16338         * lib/unictype/joininggroup_byname.gperf: New file.
16339
16340         Tests for module 'unictype/joininggroup-name'.
16341         * modules/unictype/joininggroup-name-tests: New file.
16342         * tests/unictype/test-joininggroup_name.c: New file.
16343
16344         New module 'unictype/joininggroup-name'.
16345         * modules/unictype/joininggroup-name: New file.
16346         * lib/unictype/joininggroup_name.c: New file.
16347         * lib/unictype/joininggroup_name.h: New file.
16348
16349         New module 'unictype/joiningtype-all'.
16350         * modules/unictype/joiningtype-all: New file.
16351
16352         Tests for module 'unictype/joiningtype-of'.
16353         * modules/unictype/joiningtype-of-tests: New file.
16354         * tests/unictype/test-joiningtype_of.c: New file.
16355         * tests/unictype/test-joiningtype_of.h: New file, automatically
16356         generated by gen-uni-tables.
16357
16358         New module 'unictype/joiningtype-of'.
16359         * modules/unictype/joiningtype-of: New file.
16360         * lib/unictype/joiningtype_of.c: New file.
16361         * lib/unictype/joiningtype_of.h: New file, automatically generated by
16362         gen-uni-tables.
16363
16364         Tests for module 'unictype/joiningtype-byname'.
16365         * modules/unictype/joiningtype-byname-tests: New file.
16366         * tests/unictype/test-joiningtype_byname.c: New file.
16367
16368         New module 'unictype/joiningtype-byname'.
16369         * modules/unictype/joiningtype-byname: New file.
16370         * lib/unictype/joiningtype_byname.c: New file.
16371
16372         Tests for module 'unictype/joiningtype-name'.
16373         * modules/unictype/joiningtype-name-tests: New file.
16374         * tests/unictype/test-joiningtype_name.c: New file.
16375
16376         New module 'unictype/joiningtype-name'.
16377         * modules/unictype/joiningtype-name: New file.
16378         * lib/unictype/joiningtype_name.c: New file.
16379
16380         unictype: Add support for Arabic shaping properties.
16381         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
16382         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
16383         declarations.
16384         (UC_JOINING_GROUP_*): New enumeration values.
16385         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
16386         declarations.
16387         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
16388         (unicode_joining_type): New variable.
16389         (UC_JOINING_GROUP_*): New enumeration values.
16390         (unicode_joining_group): New variable.
16391         (fill_arabicshaping, joining_type_as_c_identifier,
16392         output_joining_type_test, output_joining_type,
16393         joining_group_as_c_identifier, output_joining_group_test,
16394         output_joining_group): New functions.
16395         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
16396         fill_arabicshaping and output_joining_type_test, output_joining_type,
16397         output_joining_group_test, output_joining_group.
16398         Reported by Simon Josefsson.
16399
16400 2011-03-21  Jim Meyering  <meyering@redhat.com>
16401
16402         strftime: fix a bug in yesterday's change
16403         * lib/strftime.c (add): Accommodate width's initial value of -1.
16404         Otherwise, nstrftime would copy uninitialized data into
16405         the result buffer.
16406
16407 2011-03-21  Jim Meyering  <meyering@redhat.com>
16408
16409         tests: add strftime-tests module
16410         * tests/test-strftime.c: New file.
16411         * modules/strftime-tests: New module.
16412
16413 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16414
16415         strftime: don't assume a byte count fits in 'int'
16416         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
16417         found this problem by static analysis, using gcc -Wstrict-overflow
16418         (GCC 4.5.2, x86-64).  This reported an optimization that depended
16419         on an integer overflow having undefined behavior, but it turns out
16420         that the argument is a size, which might not fit in 'int' anyway,
16421
16422 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16423
16424         stdio: don't require ignore_value around fwrite
16425
16426         This patch works around libc bug 11959
16427         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
16428         Without this patch, applications must often write
16429         ignore_value (fwrite (...)) even though the ignore_value is
16430         not helpful here.  It's common to write many objects, using
16431         fwrite/printf/etc., and then use ferror to detect output error.
16432
16433         I considered making this patch optional, but decided against it,
16434         because libc is obviously being inconsistent here: there is no
16435         reason libc should insist that user code must inspect fwrite
16436         return's value without also insisting that it inspect printf's,
16437         putchar's, etc.  If user code wants to have a strict style where
16438         all these functions' values are checked (so that ferror need not
16439         be checked), we could add support for that style in a new gnulib
16440         module, but in the meantime it's better to be consistent and to
16441         support common usage.
16442
16443         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
16444         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
16445         that we are compiling in checking mode, and if not C++, and
16446         if not already wrapping fwrite for some other reason.
16447         (fwrite): #define to rpl_fwrite if the latter is defined.
16448
16449 2011-03-20  Bruno Haible  <bruno@clisp.org>
16450
16451         verror: Fix compilation error introduced on 2011-02-13.
16452         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
16453         instead of __attribute__.
16454         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16455
16456 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
16457             Bruno Haible  <bruno@clisp.org>
16458
16459         socklen: do not depend on sys_socket
16460         While trying to modify Emacs to use gnulib's socklen module,
16461         I discovered a circular dependency: socklen depends on sys_socket
16462         and vice versa.  Emacs can use socklen, but it does not need
16463         sys_socket because it has its own substitute for sys/socket.h.
16464         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
16465         gl_TYPE_SOCKLEN_T.
16466         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
16467         gl_PREREQ_SYS_H_SOCKET.
16468         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
16469         gl_PREREQ_SYS_H_SOCKET.
16470         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
16471         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
16472         * modules/socklen (Depends-on): Do not depend on sys_socket.
16473         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
16474
16475 2011-03-20  Jim Meyering  <meyering@redhat.com>
16476
16477         maint.mk: sort file names *after* new transformation
16478         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
16479         prefix would have led to an unwarranted failure in GNU parted.
16480         Sort after that transformation.
16481
16482 2011-03-19  Jim Meyering  <meyering@redhat.com>
16483
16484         maint.mk: fix po-file syntax-check rule
16485         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
16486         Patch by Bruno Haible.
16487
16488 2011-03-19  Bruno Haible  <bruno@clisp.org>
16489
16490         socklen: Update comment.
16491         * m4/socklen.m4: Update comment about platforms.
16492
16493 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16494             Bruno Haible  <bruno@clisp.org>
16495
16496         inet_ntop, inet_pton: Simplify.
16497         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
16498         documented to provide socklen_t and we already depend on sys_socket.
16499         * modules/inet_pton (Depends-on): Likewise.
16500         * lib/arpa_inet.in.h: Adjust comment.
16501
16502 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
16503             Bruno Haible  <bruno@clisp.org>
16504
16505         netdb: Simplify.
16506         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
16507         documented to provide socklen_t and we already depend on sys_socket.
16508         * lib/netdb.in.h: Adjust comment.
16509
16510 2011-03-19  Bruno Haible  <bruno@clisp.org>
16511
16512         sys_socket, netdb: Document problem with socklen_t.
16513         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
16514         platforms.
16515         * doc/posix-headers/netdb.texi: Likewise.
16516
16517 2011-03-18  Eric Blake  <eblake@redhat.com>
16518
16519         maint.mk: let po check work in VPATH build
16520         * top/maint.mk (po_file): Allow cfg.mk override.
16521         (sc_po_check): Allow VPATH use.
16522         Reported by Jiri Denemark.
16523
16524 2011-03-16  Jim Meyering  <meyering@redhat.com>
16525
16526         maint.mk: allow fine-grained syntax-check exclusion via Make variables
16527         Before, you would have had to create one .x-sc_ file per rule in order
16528         to exempt offending files.  Now, you may instead use a Make variable --
16529         usually defined in cfg.mk -- whose name identifies the affected rule.
16530         * top/maint.mk (_sc_excl): Define.
16531         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
16532         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
16533
16534 2011-03-13  Bruno Haible  <bruno@clisp.org>
16535
16536         ignore-value tests: Avoid warnings.
16537         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
16538         empty for gcc < 3.4.
16539
16540 2011-03-13  Bruno Haible  <bruno@clisp.org>
16541
16542         passfd: Fix link error on Solaris.
16543         * modules/passfd (Description): Correct.
16544         (Depends-on): Add socketlib.
16545         (Link): New section.
16546         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
16547
16548 2011-03-13  Bruno Haible  <bruno@clisp.org>
16549
16550         passfd: Fix link error on AIX 5.2.
16551         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
16552
16553 2011-03-13  Bruno Haible  <bruno@clisp.org>
16554
16555         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
16556         * lib/sys_socket.in.h: Include <stddef.h>.
16557         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
16558         CMSG_FIRSTHDR. Remove unused variable.
16559
16560 2011-03-13  Bruno Haible  <bruno@clisp.org>
16561
16562         passfd: Fix compilation error on OpenBSD.
16563         * lib/passfd.c: Include <sys/uio.h>.
16564
16565 2011-03-13  Bruno Haible  <bruno@clisp.org>
16566
16567         passfd test: Fix warnings.
16568         * tests/test-passfd.c: Include <sys/wait.h>.
16569         (main): Fix typo.
16570
16571 2011-03-13  Bruno Haible  <bruno@clisp.org>
16572
16573         passfd module, part 4, tweaks.
16574         * tests/test-passfd.c: Reorder includes.
16575         (main): Fix perror and printf calls.
16576
16577 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16578
16579         passfd module, part 4.
16580         * modules/passfd-tests: New file.
16581         * tests/test-passfd.c: New file.
16582
16583 2011-03-13  Jim Meyering  <meyering@redhat.com>
16584
16585         Makefile: rely on GNU make; derive syntax-check rule names
16586         Rather than requiring that each sc_ rule be listed as a dependent
16587         of "check", use features of GNU make to derive the list.
16588         * Makefile (syntax-check-rules): Define.
16589         (check): Depend on the new variable, not the hard-coded list.
16590
16591 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
16592             Bruno Haible  <bruno@clisp.org>
16593
16594         passfd module, part 3.
16595         * lib/passfd.h (recvfd): Add a flags argument.
16596         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
16597         (recvfd): Add a flags argument.
16598         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
16599         exists.
16600         * modules/passfd (Depends-on): Add cloexec.
16601         Suggested by Eric Blake.
16602
16603 2011-03-13  Bruno Haible  <bruno@clisp.org>
16604
16605         passfd module, part 2, tweaks.
16606         * modules/passfd (Files): Reorder.
16607         (Depends-on): Remove errno.
16608         (Include): Remove <sys/socket.h>, <sys/un.h>.
16609         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
16610         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
16611         specification header. Include <sys/socket.h> always. Don't include
16612         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
16613         (sendfd): Clarify that it sets errno when it fails.
16614         (recvfd): Fix specification.
16615
16616 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16617
16618         passfd module, part 2.
16619         * modules/passfd: New file.
16620         * lib/passfd.h: New file.
16621         * lib/passfd.c: New file.
16622
16623 2011-03-12  Bruno Haible  <bruno@clisp.org>
16624
16625         wcswidth, mbswidth: Avoid integer overflow.
16626         * lib/wcswidth.c: Include <limits.h>.
16627         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
16628         * lib/mbswidth.c: Include <limits.h>.
16629         (mbsnwidth): Avoid 'int' overflow.
16630         Reported by Jim Meyering.
16631
16632 2011-03-12  Bruno Haible  <bruno@clisp.org>
16633
16634         futimens, utimensat: Avoid endless recursion on Solaris 10.
16635         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
16636         Solaris.
16637         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
16638         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
16639
16640 2011-03-11  Jim Meyering  <meyering@redhat.com>
16641
16642         maint.mk: relax a regexp to accommodate other formatting styles
16643         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
16644         between "ngettext" and the following "(".
16645
16646 2011-03-11  Pádraig Brady <P@draigBrady.com>
16647
16648         maint.mk: suppress a false positive warning
16649         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
16650         diagnostics are marked with ngettext.
16651
16652 2011-03-10  Eric Blake  <eblake@redhat.com>
16653
16654         wchar: add explicit dependencies, for Tru64
16655         * modules/mbmemcasecoll (Depends-on): Add wchar.
16656         * modules/mbtowc (Depends-on): Likewise.
16657         * modules/vasnprintf (Depends-on): Likewise.
16658         * modules/unistdio/u-printf-args (Depends-on): Likewise.
16659         * modules/wctomb (Depends-on): Likewise.
16660         Reported by Peter O'Gorman.
16661
16662 2011-03-08  Bruno Haible  <bruno@clisp.org>
16663
16664         passfd module, part 1, tweaks.
16665         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
16666         Improve indentation. Improve AC_MSG_CHECKING messages.
16667         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
16668         gl_SOCKET_FAMILIES.
16669
16670 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
16671
16672         passfd module, part 1.
16673         * m4/afunix.m4: New file.
16674         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
16675         sockets.
16676
16677 2011-03-08  Bruno Haible  <bruno@clisp.org>
16678
16679         regex-quote: New API.
16680         * lib/regex-quote.h: Include <stdbool.h>.
16681         (struct regex_quote_spec): New type.
16682         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16683         New declarations.
16684         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16685         'const struct regex_quote_spec *' argument.
16686         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
16687         (pcre_special): New constant.
16688         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
16689         New functions.
16690         (regex_quote_length, regex_quote_copy, regex_quote): Take a
16691         'const struct regex_quote_spec *' argument.
16692         * modules/regex-quote (Depends-on): Add stdbool.
16693         * tests/test-regex-quote.c (check): Update for new API. Add test for
16694         anchored results.
16695         * NEWS: Mention the API change.
16696         Reported by Reuben Thomas and Eric Blake.
16697
16698 2011-03-06  Bruno Haible  <bruno@clisp.org>
16699
16700         regex-quote: Fix creation of POSIX extended regular expressions.
16701         * lib/regex-quote.c (ere_special): Add grouping and alternation
16702         operators.
16703
16704 2011-03-05  Bruno Haible  <bruno@clisp.org>
16705
16706         doc: Improve doc regarding autopoint vs. gnulib.
16707         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
16708         disable autopoint while running autoreconf.
16709         Suggested by Ralf Wildenhues.
16710
16711 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16712
16713         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
16714         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
16715
16716 2011-03-03  Bruce Korb  <bkorb@gnu.org>
16717
16718         parse-duration: remove xalloc.h dependency
16719         * lib/parse-duration.c (parse_period): handle NULL return from
16720         strdup instead of calling xstrdup().
16721         * modules/parse-duration: remove "xalloc" dependency
16722
16723 2011-03-03  Matthew Booth  <mbooth@redhat.com>
16724
16725         bootstrap: honor m4_base when running aclocal
16726         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
16727
16728 2011-03-02  Jim Meyering  <meyering@redhat.com>
16729
16730         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
16731         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
16732         on request from Matt Booth.
16733
16734 2011-03-01  Eric Blake  <eblake@redhat.com>
16735
16736         test-link: work on Hurd
16737         * tests/test-link.h (test_link): Hurd rejects linking directories
16738         with EISDIR instead of the POSIX-mandated EPERM.
16739
16740 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
16741
16742         stdio: simplify by moving files to printf-posix, sigpipe
16743         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
16744         since this symbol is needed only if printf is replaced.
16745         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
16746         Require gl_ASM_SYMBOL_PREFIX.
16747         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
16748         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
16749         (Depends-on): Add 'raise'.
16750         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
16751         * modules/stdio (Files): Remove lib/stdio-write.c,
16752         m4/asm-underscore.m4.
16753         (Depends-on): Remove 'raise'.
16754
16755         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
16756         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
16757         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
16758         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
16759
16760 2011-02-28  Bruno Haible  <bruno@clisp.org>
16761
16762         localcharset: Assume ANSI C behaviour of free().
16763         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
16764         calling free().
16765         Suggested by Simon Josefsson <simon@josefsson.org>.
16766
16767 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
16768             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
16769             Bruno Haible  <bruno@clisp.org>  (tiny change)
16770
16771         On Cygwin, use /proc file system instead of win32 API.
16772         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
16773         Win32 file names.
16774         (DllMain): Simplify by removing Cygwin specific code.
16775         (find_shared_library_fullname): Use Linux specific implementation also
16776         for Cygwin.
16777         (get_shared_library_fullname): Update accordingly.
16778         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
16779         Win32 file names.
16780         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
16781         Cygwin specific code.
16782
16783 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
16784             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
16785
16786         Fix OpenMP flag detection for various Fortran compilers.
16787         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
16788         OpenMP-conditional compilation construct, to force compile
16789         failure with missing OpenMP flag.
16790         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
16791
16792 2011-02-25  Eric Blake  <eblake@redhat.com>
16793
16794         strstr: expand test coverage
16795         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
16796         compilation.
16797         * tests/test-memmem.c (main): Duplicate tests.
16798         * tests/test-strcasestr.c (main): Likewise.
16799         * tests/test-c-strcasestr.c (main): Likewise.
16800
16801 2011-02-25  Jim Meyering  <meyering@redhat.com>
16802
16803         maint.mk: detect missing-NL-at-EOF, too
16804         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
16805         it also detects when a file lacks a newline at EOF.
16806         (require_exactly_one_NL_at_EOF_): Renamed from
16807         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
16808         since people may well have .x-sc_... file names tied to the
16809         existing name.  Suggested by Eric Blake.
16810
16811 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
16812
16813         dirname: move m4/dos.m4 functionality into lib/dosname.h
16814
16815         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
16816         extracts symbols from it, puts them into config.h; but it's much
16817         easier to use the symbols directly.  filename.h already does this,
16818         but it disagrees with dos.m4 in some respects.  This patch
16819         introduces a different include file dosname.h that packages up
16820         dos.m4, and then later we can work on merging filename.h and
16821         dosname.h.  Applications that need only the easy-to-configure
16822         symbols should consider including dosname.h rather than dirname.h.
16823         * NEWS: Mention incompatible changes.
16824         * m4/dos.m4: Remove.
16825         * lib/dosname.h, modules/dosname: New files.
16826         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
16827         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
16828         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
16829         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
16830         Include dosname.h, not dirname.h.
16831         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
16832         Include dosname.h, for definitions of symbols like ISSLASH
16833         that used to be in config.h.
16834         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
16835         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
16836         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16837         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16838         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
16839         * modules/rmdir (Files): Likewise.
16840         * modules/stat (Files): Likewise.
16841         * modules/unlink (Files): Likewise.
16842         * modules/dirname-lgpl (Depends-on): Add dosname.
16843         * modules/lstat (Depends-on): Likewise.
16844         * modules/openat (Depends-on): Likewise.
16845         * modules/rmdir (Depends-on): Likewise.
16846         * modules/savewd (Depends-on): Likewise.
16847         * modules/stat (Depends-on): Likewise.
16848         * modules/unlink (Depends-on): Likewise.
16849         * modules/openat (Depends-on): Remove dirname-lgpl.
16850         * modules/savewd (Depends-on): Likewise.
16851         * tests/test-dirname.c: Do not use removed symbols like
16852         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
16853         the remaining symbols, e.g., ISSLASH ('\\').
16854
16855 2011-02-25  Eric Blake  <eblake@redhat.com>
16856
16857         strstr: revert patches that introduced bug and pessimization
16858         * lib/str-two-way.h: Add another reference.
16859         (two_way_short_needle, two_way_long_needle): Revert changes from
16860         2011-02-24; they pessimize search speed.
16861         (critical_factorization): Partially revert changes from
16862         2010-06-22; they violate the requirement that the left half of the
16863         needle be smaller than the period of the needle.
16864
16865 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
16866
16867         filenamecat: remove unnecessary dependency on dirname-lgpl
16868         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
16869         is no direct dependency, just an indirect one via filenamecat-lgpl.
16870
16871         remove: remove unnecessary use of m4/dos.m4
16872         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
16873         * modules/remove (FILES): Remove m4/dos.m4.
16874
16875         * lib/openat-proc.c: Don't include dirname.h; not needed.
16876
16877         backupfile: remove unnecessary use of m4/dos.m4
16878         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
16879         of its symbols are used by the backupfile code.  backupfile.c does
16880         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
16881         for the rare case of programs that want all their backup file
16882         names to live within 8+3 limits, and dos.m4 doesn't address that.
16883         * modules/backupfile (Files): Remove m4/dos.m4.
16884
16885 2011-02-24  Jim Meyering  <meyering@redhat.com>
16886
16887         strstr: fix a bug whereby strstr would mistakenly return NULL
16888         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
16889         in period calculation.
16890         (two_way_long_needle): Likewise.
16891         The original problem was reported by Mike Stump in
16892         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
16893         Ralf Wildenhues provided the short needle and haystack.
16894         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
16895         Add a more involved test to trigger the bug in two_way_long_needle.
16896
16897 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16898
16899         gnulib-tool: remove use of bold display in help screen
16900         * gnulib-tool (func_usage): Do not use bold display anymore in the
16901         help screen.  That was just meant to be a temporary emphasis for a
16902         backward-incompatible change.
16903
16904 2011-02-23  Bruno Haible  <bruno@clisp.org>
16905
16906         Fix misindentation of preprocessor directives.
16907         * lib/argp-namefrob.h: Reindent preprocessor directives.
16908         * lib/getopt_int.h (struct _getopt_data): Likewise.
16909         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
16910         * lib/vasnprintf.c (decode_long_double): Likewise.
16911         * tests/test-argmatch.c: Insert blank lines, for clarity.
16912         * tests/test-exclude.c: Likewise.
16913
16914 2011-02-22  Bruno Haible  <bruno@clisp.org>
16915
16916         ioctl: Fix for MacOS X in 64-bit mode.
16917         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
16918         value.
16919         Suggested by Eric Blake.
16920         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
16921
16922 2011-02-22  Jim Meyering  <meyering@redhat.com>
16923
16924         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
16925         * Makefile (sc_cpp_indent_check): Don't limit the check to files
16926         in lib/.
16927
16928 2011-02-22  Eric Blake  <eblake@redhat.com>
16929
16930         maint: avoid any CDPATH issue
16931         * Makefile (sc_cpp_indent_check): Anchor cd argument.
16932
16933         maint: adjust cpp indentation for my modules, as well
16934         * Makefile (sc_cpp_indent_check): Add my name.
16935         * lib/fbufmode.c: Filter through cppi.
16936         * lib/fpurge.c: Likewise.
16937         * lib/freadable.c: Likewise.
16938         * lib/freading.c: Likewise.
16939         * lib/fwritable.c: Likewise.
16940         * lib/fwriting.c: Likewise.
16941         * lib/sigaction.c: Likewise.
16942
16943 2011-02-22  Jim Meyering  <meyering@redhat.com>
16944
16945         maint: adjust cpp indentation to reflect nesting depth
16946         I.e., in a block of code that begins with an unnested "#if",
16947         put one space between the "#" in column 1 and following token.
16948         For example,
16949         -#include <sys/vfs.h>
16950         +# include <sys/vfs.h>
16951         Do this only in .c files that are part of a module I maintain.
16952         * lib/linkat.c: Filter through cppi.
16953         * lib/nanosleep.c: Likewise.
16954         * lib/openat.c: Likewise.
16955         * lib/openat-die.c: Likewise.
16956         * lib/dup3.c: Likewise.
16957         * lib/fchownat.c: Likewise.
16958         * lib/flock.c: Likewise.
16959         * lib/fsync.c: Likewise.
16960         * lib/fts.c: Likewise.
16961         * lib/getpass.c: Likewise.
16962         * lib/gettimeofday.c: Likewise.
16963         * lib/userspec.c: Likewise.
16964         * Makefile (sc_cpp_indent_check): New rule, to check this.
16965
16966 2011-02-22  Bruno Haible  <bruno@clisp.org>
16967
16968         New module 'wctomb'.
16969         * lib/stdlib.in.h (wctomb): New declaration.
16970         * lib/wctomb.c: New file.
16971         * lib/wctomb-impl.h: New file.
16972         * m4/wctomb.m4: New file.
16973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16974         REPLACE_WCTOMB.
16975         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16976         REPLACE_WCTOMB.
16977         * modules/wctomb: New file.
16978         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16979         * doc/posix-functions/wctomb.texi: Mention the new module.
16980         * modules/wctob (Depends-on): Add wctomb.
16981
16982 2011-02-22  Bruno Haible  <bruno@clisp.org>
16983
16984         New module 'mbtowc'.
16985         * lib/stdlib.in.h (mbtowc): New declaration.
16986         * lib/mbtowc.c: New file.
16987         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16988         * m4/mbtowc.m4: New file.
16989         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16990         REPLACE_MBTOWC.
16991         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16992         REPLACE_MBTOWC.
16993         * modules/mbtowc: New file.
16994         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16995         * doc/posix-functions/mbtowc.texi: Mention the new module.
16996         * modules/btowc (Depends-on): Add mbtowc.
16997
16998 2011-02-22  Bruno Haible  <bruno@clisp.org>
16999
17000         wcrtomb: Add more tests for native Windows platforms.
17001         * tests/test-wcrtomb-w32-1.sh: New file.
17002         * tests/test-wcrtomb-w32-2.sh: New file.
17003         * tests/test-wcrtomb-w32-3.sh: New file.
17004         * tests/test-wcrtomb-w32-4.sh: New file.
17005         * tests/test-wcrtomb-w32-5.sh: New file.
17006         * tests/test-wcrtomb-w32.c: New file.
17007         * modules/wcrtomb-tests (Files): Add them.
17008         (Makefile.am): Arrange to run these tests.
17009         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17010         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17011
17012 2011-02-20  Bruno Haible  <bruno@clisp.org>
17013
17014         wcrtomb: Enhance test.
17015         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17016
17017 2011-02-20  Bruno Haible  <bruno@clisp.org>
17018
17019         mbrtowc: Tiny optimization.
17020         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17021
17022 2011-02-20  Jim Meyering  <meyering@redhat.com>
17023
17024         test-exclude.c: remove unmatched #endif
17025         * tests/test-exclude.c: Remove stray #endif, left over from
17026         the change of a week ago.
17027
17028 2011-02-19  Jim Meyering  <meyering@redhat.com>
17029
17030         git-version-gen: skip "-dirty" check when appropriate
17031         * build-aux/git-version-gen: Don't run any git commands when the
17032         version string comes from .tarball-version.  Prior to this, we
17033         would run git update-index --refresh even from a just-unpacked
17034         tarball directory, and that could affect a .git/ directory in a
17035         parent of the build directory.  Reported by Mike Frysinger.
17036
17037 2011-02-19  Bruno Haible  <bruno@clisp.org>
17038
17039         unictype/property-byname: Reduce the size of the 'data' segment.
17040         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17041
17042 2011-02-19  Bruno Haible  <bruno@clisp.org>
17043
17044         unictype/scripts: Reduce the size of the 'data' segment.
17045         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17046         '%pic'.
17047         * lib/unictype/scripts_byname.gperf: Regenerated.
17048
17049 2011-02-19  Bruno Haible  <bruno@clisp.org>
17050
17051         stdint: Update documentation.
17052         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17053
17054 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17055
17056         stdint: omit redundant check for wchar.h
17057         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17058         always tests whether wchar.h exists, so remove the now-redundant test.
17059
17060 2011-02-18  Bruno Haible  <bruno@clisp.org>
17061
17062         stdint: Cut dependency to module 'wchar'.
17063         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17064         include the necessary prerequisites.
17065         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17066         * modules/stdint (Depends-on): Remove wchar.
17067         (Makefile.am): Substitute HAVE_WCHAR_H.
17068         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17069
17070 2011-02-18  Eric Blake  <eblake@redhat.com>
17071
17072         longlong: skip, rather than fail, on cross-compilation
17073         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17074         when cross-compiling; regression from 2011-02-16.
17075
17076 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17077
17078         * NEWS: Mention 2011-02-08 change to stdlib.
17079
17080 2011-02-17  Bruno Haible  <bruno@clisp.org>
17081
17082         getloadavg: Add comments about platforms.
17083         * m4/getloadavg.m4: Add comment.
17084         * lib/getloadavg.c: Likewise.
17085
17086 2011-02-17  Bruno Haible  <bruno@clisp.org>
17087
17088         getloadavg: Fix link error on Solaris 2.6.
17089         * modules/getloadavg (Link): New section.
17090         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17091         linking test-getloadavg.
17092         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17093         getloadavg.
17094
17095 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17096
17097         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17098         It was 'int', but this doesn't match the IRIX 6.5 manual.
17099         Suggested by Bruno Haible in
17100         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17101
17102 2011-02-17  Bruno Haible  <bruno@clisp.org>
17103
17104         havelib: Fix comments.
17105         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17106         change.
17107
17108 2011-02-17  Bruno Haible  <bruno@clisp.org>
17109
17110         havelib: Update config.rpath.
17111         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17112
17113 2011-02-17  Bruno Haible  <bruno@clisp.org>
17114
17115         getloadavg test: Add some plausibility checks.
17116         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17117         is improbable.
17118
17119 2011-02-16  Eric Blake  <eblake@redhat.com>
17120
17121         maintainer-makefile: make syntax-check a no-op from tarballs
17122         * top/maint.mk (no-vc-detected): New rule.
17123         (local-checks-available): Use it to avoid hanging if someone tries
17124         'make syntax-check' from a tarball.  Also append to any non-syntax
17125         checks already defined in cfg.mk.
17126
17127 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17128
17129         longlong: tune, particularly for common case of c99
17130
17131         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17132         or running anything if c99, or if unsigned long long int does not
17133         work.  In either case, we know the answer without further tests.
17134         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17135         it at most once, and use its results for both long long int and
17136         unsigned long long int.  This is more likely to be efficient in
17137         the common case where the program wants to check for both long
17138         long int and unsigned long long int.
17139         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17140         since the answer is already known.
17141
17142 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17143
17144         getloadavg: set errno
17145         * lib/getloadavg.c: Set errno when returning -1.  If no other
17146         error number looks appropriate, set it to ENOSYS if the getloadavg
17147         looks like it can't possibly ever work, ENOTSUP otherwise.
17148         Suggested by Bruno Haible in
17149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17150
17151         getloadavg: trim unused parts and speed up 'configure'
17152         * NEWS: Document this.
17153         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17154         always compiled if getloadavg is absent.
17155         Move test code to ...
17156         * tests/test-getloadavg.c: New file, containing previous
17157         contents of test from lib/getloadavg.c.  It also contains
17158         suggestions by Bruno Haible in
17159         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17160         * modules/getloadavg-tests: New file.
17161         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17162         Do tests in the same order as they're needed for getloadavg.c.
17163         Omit setgid-related tests that generate symbols KMEM_GROUP,
17164         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17165         Do only the tests that are needed to see whether the system has
17166         getloadavg, moving the other tests into ...
17167         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17168         NLIST_NAME_UNION; nobody should be using it.  Do not define
17169         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17170         relevant, as the user of this module shouldn't care how getloadavg
17171         is implemented.
17172
17173         getloadavg: omit unused var
17174         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17175
17176 2011-02-15  Jim Meyering  <meyering@redhat.com>
17177
17178         doc: update users.txt
17179         * users.txt: Update iwhd's URL.
17180
17181 2011-02-13  Bruno Haible  <bruno@clisp.org>
17182
17183         Consistent macro naming for macros that use GCC __attribute__.
17184         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17185         _ATTRIBUTE_NONNULL_.
17186         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17187         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17188         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17189         ATTRIBUTE_DEPRECATED.
17190         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17191         ATTRIBUTE_NORETURN.
17192         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17193         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17194         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17195         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17196         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17197         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17198         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17199         ATTRIBUTE_SENTINEL.
17200         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17201         ATTRIBUTE_RETURN_CHECK.
17202         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17203         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17204         ATTRIBUTE_NORETURN.
17205         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17206         Reported by Paul Eggert.
17207
17208 2011-02-13  Bruno Haible  <bruno@clisp.org>
17209
17210         Don't interfere with a program's definition of __attribute__.
17211         * lib/argp.h (__attribute__): Remove definition.
17212         (_GL_ATTRIBUTE_FORMAT): New macro.
17213         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17214         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17215         (_GL_ATTRIBUTE_FORMAT): New macro.
17216         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17217         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17218         GCC 3 or newer.
17219         * lib/error.h (__attribute__): Remove definition.
17220         (_GL_ATTRIBUTE_FORMAT): New macro.
17221         (error, error_at_line): Use it.
17222         * lib/hash.h (__attribute__): Remove definition.
17223         (ATTRIBUTE_WUR): Update definition. Define always.
17224         * lib/openat.h (__attribute__): Remove definition.
17225         (ATTRIBUTE_NORETURN): Update definition. Define always.
17226         * lib/sigpipe-die.h (__attribute__): Remove definition.
17227         (ATTRIBUTE_NORETURN): Update definition. Define always.
17228         * lib/vasnprintf.h (__attribute__): Remove definition.
17229         (_GL_ATTRIBUTE_FORMAT): New macro.
17230         (asnprintf, vasnprintf): Use it.
17231         * lib/xalloc.h (__attribute__): Remove definition.
17232         (ATTRIBUTE_NORETURN): Update definition. Define always.
17233         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17234         * lib/xmemdup0.h (__attribute__): Remove definition.
17235         (ATTRIBUTE_NORETURN): Update definition. Define always.
17236         * lib/xprintf.h (__attribute__): Remove definition.
17237         (_GL_ATTRIBUTE_FORMAT): New macro.
17238         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17239         * lib/xstrtol.h (__attribute__): Remove definition.
17240         (ATTRIBUTE_NORETURN): Update definition. Define always.
17241         * lib/xvasprintf.h (__attribute__): Remove definition.
17242         (_GL_ATTRIBUTE_FORMAT): New macro.
17243         (xasprintf, xvasprintf): Use it.
17244         * tests/test-argmatch.c (__attribute__): Remove definition.
17245         (ATTRIBUTE_NORETURN): Update definition. Define always.
17246         * tests/test-exclude.c (__attribute__): Remove definition.
17247         (ATTRIBUTE_NORETURN): Update definition. Define always.
17248         Reported by Paul Eggert.
17249
17250 2011-02-13  Bruno Haible  <bruno@clisp.org>
17251
17252         mbrtowc: Add more tests for native Windows platforms.
17253         * tests/test-mbrtowc-w32-1.sh: New file.
17254         * tests/test-mbrtowc-w32-2.sh: New file.
17255         * tests/test-mbrtowc-w32-3.sh: New file.
17256         * tests/test-mbrtowc-w32-4.sh: New file.
17257         * tests/test-mbrtowc-w32-5.sh: New file.
17258         * tests/test-mbrtowc-w32.c: New file.
17259         * modules/mbrtowc-tests (Files): Add them.
17260         (Makefile.am): Arrange to run these tests.
17261         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17262         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17263
17264 2011-02-13  Bruno Haible  <bruno@clisp.org>
17265
17266         mbrtowc: Work around native Windows bug.
17267         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17268         guess when no suitable locale for testing was found.
17269         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17270
17271 2011-02-13  Bruno Haible  <bruno@clisp.org>
17272
17273         mbsinit: Work around mingw bug.
17274         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17275         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17276         Windows.
17277         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17278
17279 2011-02-13  Bruno Haible  <bruno@clisp.org>
17280
17281         mbsinit: Don't crash for a NULL argument.
17282         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17283         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17284
17285 2011-02-13  Bruno Haible  <bruno@clisp.org>
17286
17287         Don't interfere with a program's definition of __attribute__.
17288         * lib/stdio.in.h (__attribute__): Remove definition.
17289         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17290         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17291         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17292         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17293         * lib/string.in.h (__attribute__): Remove definition.
17294         Reported by Paul Eggert.
17295
17296 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17297
17298         stdlib: don't get in the way of non-GCC __attribute__
17299         See thread starting at
17300         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17301         Revert previous stdlib change, installing the following instead:
17302         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17303         to get in the way of a non-GCC compiler that supports __attribute__.
17304         (_GL_ATTRIBUTE_RETURN): New macro.
17305         (_Exit): Use it instead of __attribute__.
17306
17307 2011-02-12  Bruno Haible  <bruno@clisp.org>
17308
17309         quotearg test: Avoid test failure on mingw.
17310         * tests/test-quotearg.sh: Convert the locale identifier from native
17311         Windows syntax to Unix syntax.
17312
17313 2011-02-12  Bruno Haible  <bruno@clisp.org>
17314
17315         setlocale: Prefer gnulib's override over libintl's override.
17316         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17317         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17318         GNULIB_defined_setlocale is set.
17319
17320 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17321
17322         stdlib: support non-GCC __attribute__
17323
17324         Fix a serious and tricky problem encountered when attempting to
17325         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17326         5.5, but it crashed due to memory corruption on Solaris 10 with
17327         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17328         bits that are otherwise zero.  This tagging is optional inside
17329         Emacs but is preferred and is used when __attribute__ ((__aligned
17330         (8))) works, as it does with both recent-enough GCC and with Sun C
17331         5.11.  However, Sun C 5.11 is not GCC and does not #define
17332         __GNUC__ and __GNUC_MINOR__.
17333
17334         When I added the getloadavg module to Emacs, it brought in
17335         stdlib.in.h, which contained this fragment:
17336
17337            #ifndef __attribute__
17338            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
17339            #  define __attribute__(Spec)   /* empty */
17340            # endif
17341            #endif
17342
17343         When files that include <stdlib.h> were compiled with Sun C 5.11,
17344         the above code disabled __attribute__ ((__aligned (8))), which
17345         caused variables to not be properly aligned, which eventually led
17346         to the pointer corruption mentioned above.  (This was a bit hard
17347         to diagnose, unfortunately.)
17348
17349         Several "#define __attribute__(X) /* empty */" code snippets need
17350         to be eradicated from Gnulib to work with non-GCC compilers that
17351         support __attribute__.  The Autoconf way to do this is to test for
17352         each kind of attribute that we want support for, and selectively
17353         enable that in source code.
17354
17355         Fix this problem just for stdlib.h, by adding a test for the
17356         __noreturn__ attribute, and change stdlib.in.h to use that test
17357         when needed.  This technique can be easily generalized to the
17358         other *.in.h files and attributes, and a similar technique can be
17359         used for *.h and *.c files.  This patch is enough to solve the
17360         problem for Emacs + getloadavg, and I thought I'd publish it for
17361         feedback before undertaking further, similar fixes in other
17362         modules.
17363
17364         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
17365         because it's not needed for stdlib.h.  It merely substitutes the
17366         value directly into stdlib.h.  We may well need to #define it, or
17367         similar symbols, for other modules, but it's nice to also have an
17368         option to not #define it for applications like Emacs that do not
17369         need it.
17370
17371         * lib/stdlib.in.h (__attribute__): Do not #define.
17372         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
17373         be defined only if the _Exit module is also used.
17374         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
17375         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
17376         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
17377         platforms.
17378         * modules/_Exit (Files): Add m4/attribute.m4.
17379         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
17380         * m4/attribute.m4: New file.
17381
17382 2011-02-12  Bruno Haible  <bruno@clisp.org>
17383
17384         wcsrtombs: Work around bug on native Windows.
17385         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
17386         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
17387         instead of len.
17388         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
17389
17390 2011-02-12  Bruno Haible  <bruno@clisp.org>
17391
17392         mbsrtowcs: Work around bug on native Windows.
17393         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
17394         against mingw bug.
17395         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
17396
17397 2011-02-12  Bruno Haible  <bruno@clisp.org>
17398
17399         Avoid setlocale bugs in tests.
17400         * modules/btowc (Dependencies): Add setlocale.
17401         * modules/c-strcase (Dependencies): Likewise.
17402         * modules/mbmemcasecmp (Dependencies): Likewise.
17403         * modules/mbmemcasecoll (Dependencies): Likewise.
17404         * modules/mbrtowc (Dependencies): Likewise.
17405         * modules/mbscasecmp (Dependencies): Likewise.
17406         * modules/mbscasestr (Dependencies): Likewise.
17407         * modules/mbschr (Dependencies): Likewise.
17408         * modules/mbscspn (Dependencies): Likewise.
17409         * modules/mbsinit (Dependencies): Likewise.
17410         * modules/mbsncasecmp (Dependencies): Likewise.
17411         * modules/mbsnrtowcs (Dependencies): Likewise.
17412         * modules/mbspbrk (Dependencies): Likewise.
17413         * modules/mbspcasecmp (Dependencies): Likewise.
17414         * modules/mbsrchr (Dependencies): Likewise.
17415         * modules/mbsrtowcs (Dependencies): Likewise.
17416         * modules/mbsspn (Dependencies): Likewise.
17417         * modules/mbsstr (Dependencies): Likewise.
17418         * modules/nl_langinfo (Dependencies): Likewise.
17419         * modules/quotearg (Dependencies): Likewise.
17420         * modules/unicase/locale-language (Dependencies): Likewise.
17421         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
17422         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
17423         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
17424         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
17425         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
17426         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
17427         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
17428         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
17429         * modules/vasnprintf-posix (Dependencies): Likewise.
17430         * modules/wcrtomb (Dependencies): Likewise.
17431         * modules/wcsnrtombs (Dependencies): Likewise.
17432         * modules/wcsrtombs (Dependencies): Likewise.
17433
17434 2011-02-12  Bruno Haible  <bruno@clisp.org>
17435
17436         setlocale: Workaround native Windows bug.
17437         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
17438         succeeds but sets LC_CTYPE to "C", report a failure.
17439         * tests/test-setlocale2.sh: New file.
17440         * tests/test-setlocale2.c: New file.
17441         * modules/setlocale-tests (Files): Add the new files.
17442         (Makefile.am): Enable test-setlocale2.sh test.
17443         * doc/posix-functions/setlocale.texi: Mention workaround.
17444
17445 2011-02-11  Bruno Haible  <bruno@clisp.org>
17446
17447         Tests for module 'setlocale'.
17448         * modules/setlocale-tests: New file.
17449         * tests/test-setlocale1.sh: New file.
17450         * tests/test-setlocale1.c: New file.
17451
17452         New module 'setlocale'.
17453         * lib/locale.in.h (setlocale): New declaration.
17454         * lib/setlocale.c: New file, based on
17455         gettext/gettext-runtime/intl/setlocale.c.
17456         * m4/setlocale.m4: New file.
17457         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
17458         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
17459         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
17460         REPLACE_SETLOCALE.
17461         * modules/setlocale: New file.
17462         * tests/test-locale-c++.cc: Test the declaration of setlocale.
17463         * doc/posix-functions/setlocale.texi: Mention the new module.
17464
17465 2011-02-11  Bruno Haible  <bruno@clisp.org>
17466
17467         Prepare for locale dependent tests on mingw.
17468         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
17469         because it has the wrong locale encoding.
17470         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
17471         French_France.1252 instead of "fr".
17472         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
17473         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
17474         because it has the wrong locale encoding.
17475         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
17476         native Windows, try Turkish_Turkey.65001.
17477         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
17478         Chinese_China.54936.
17479
17480         Prepare for locale dependent tests on mingw.
17481         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
17482         differently.
17483         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
17484         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
17485         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
17486         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
17487
17488 2011-02-11  Eric Blake  <eblake@redhat.com>
17489
17490         strptime: avoid compiler warnings
17491         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
17492         compiler warnings about dead code.
17493         Reported by Daniel P. Berrange.
17494
17495 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
17496
17497         doc: update users.txt
17498         * users.txt: Add rcs.
17499
17500 2011-02-10  John W. Eaton  <jwe@gnu.org>
17501
17502         doc: update users.txt
17503         * users.txt: Add octave.
17504
17505 2011-02-10  Jim Meyering  <meyering@redhat.com>
17506
17507         doc: update users.txt
17508         * users.txt: Add iwhd.
17509
17510 2011-02-09  Bruno Haible  <bruno@clisp.org>
17511
17512         gnulib-tool: Make copyright notice adjustment more robust.
17513         * gnulib-tool (func_import): In sed_transform_main_lib_file,
17514         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
17515         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
17516         License".
17517         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
17518
17519 2011-02-06  Bruno Haible  <bruno@clisp.org>
17520
17521         New module 'towctrans'.
17522         * modules/towctrans: New file.
17523         * lib/wctype.in.h (towctrans): New declaration.
17524         * lib/towctrans.c: New file.
17525         * lib/towctrans-impl.h: New file.
17526         * m4/towctrans.m4: New file.
17527         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
17528         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
17529         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
17530         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
17531         * doc/posix-functions/towctrans.texi: Mention the new module.
17532
17533 2011-02-06  Bruno Haible  <bruno@clisp.org>
17534
17535         New module 'wctrans'.
17536         * modules/wctrans: New file.
17537         * lib/wctype.in.h (wctrans): New declaration.
17538         * lib/wctrans.c: New file.
17539         * lib/wctrans-impl.h: New file.
17540         * m4/wctrans.m4: New file.
17541         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
17542         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
17543         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
17544         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
17545         * doc/posix-functions/wctrans.texi: Mention the new module.
17546
17547 2011-02-06  Bruno Haible  <bruno@clisp.org>
17548
17549         New module 'iswctype'.
17550         * modules/iswctype: New file.
17551         * lib/wctype.in.h (iswctype): New declaration.
17552         * lib/iswctype.c: New file.
17553         * lib/iswctype-impl.h: New file.
17554         * m4/iswctype.m4: New file.
17555         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
17556         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
17557         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
17558         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
17559         * doc/posix-functions/iswctype.texi: Mention the new module and the
17560         HP-UX 11.00 problem.
17561
17562 2011-02-06  Bruno Haible  <bruno@clisp.org>
17563
17564         New module 'wctype'.
17565         * modules/wctype: Change to represent the wctype() substitute.
17566         * lib/wctype.in.h (wctype): New declaration.
17567         * lib/wctype.c: New file.
17568         * lib/wctype-impl.h: New file.
17569         * m4/wctype.m4: New file.
17570         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
17571         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
17572         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
17573         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
17574         * doc/posix-functions/wctype.texi: Mention the new module and the
17575         HP-UX 11.00 problem.
17576
17577 2011-02-06  Bruno Haible  <bruno@clisp.org>
17578
17579         wctype-h: Ensure wctype_t and wctrans_t are defined.
17580         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
17581         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17582         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
17583         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
17584         HAVE_WCTRANS_T.
17585         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
17586
17587 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17588
17589         flock: fix license typo
17590
17591         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
17592         omitted.
17593
17594 2011-02-08  Bruno Haible  <bruno@clisp.org>
17595
17596         Split large sed scripts, for HP-UX sed.
17597         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
17598         to avoid HP-UX limit of 99 commands, in the near future.
17599         * modules/stdlib (Makefile.am): Likewise.
17600         * modules/unistd (Makefile.am): Likewise.
17601         * modules/wchar (Makefile.am): Likewise.
17602         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
17603         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
17604         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
17605
17606 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17607             Bruno Haible  <bruno@clisp.org>
17608
17609         stdlib: improve random_r modularization
17610         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
17611         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
17612         you also need the random_r module to get this material right.
17613         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
17614         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
17615         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
17616
17617 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17618
17619         stdlib: don't depend on stdint
17620         * lib/stdlib.in.h: Don't include <stdint.h> merely because
17621         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
17622         be independent of whether stdint.h is needed.
17623         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
17624         here, instead of ...
17625         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
17626         struct random_data should be using the random_r module, not just
17627         the stdlib module (which wouldn't make sense: what package needs
17628         just struct random_data without also needing random_r?).
17629         * modules/stdlib (Depends-on): Remove stdint.
17630
17631         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
17632         See the thread rooted at
17633         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
17634         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
17635         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
17636         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
17637         __VMS)); previously it was always included (via fcntl--.h).
17638         (getloadavg): Do not use c_strtod.  Instead, approximate it by
17639         hand; this is good enough for load averages.  Also, do not use
17640         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
17641         flags directly if available and don't bother otherwise.  (Packages
17642         that need the extra reliability should use the modules that define
17643         these flags on older platforms that lack them.)
17644         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
17645         fcntl-safer.
17646
17647 2011-02-08  Jim Meyering  <meyering@redhat.com>
17648
17649         di-set.h, ino-map.h: add multiple-inclusion guard
17650         Technically, the guard is required only for ino-map.h, due to its
17651         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
17652         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
17653         * lib/ino-map.h: Likewise.
17654
17655 2011-02-06  Bruno Haible  <bruno@clisp.org>
17656
17657         iswblank: Ensure declaration on glibc systems.
17658         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
17659         * modules/iswblank (Dependencies): Add 'extensions'.
17660         * doc/posix-functions/iswblank.texi: Document the glibc problem.
17661
17662 2011-02-06  Bruno Haible  <bruno@clisp.org>
17663
17664         New module 'iswblank'.
17665         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
17666         * modules/iswblank: New file.
17667         * modules/wctype-h (Files): Remove lib/iswblank.c.
17668         (Makefile.am): Substitute GNULIB_ISWBLANK.
17669         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
17670         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
17671         (gl_WCTYPE_H_DEFAULTS): New macro.
17672         (gl_WCTYPE_H): Require it. Remove iswblank related code.
17673         * modules/iswblank-tests: New file.
17674         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
17675         * tests/test-wctype-h.c (main): Remove iswblank tests.
17676         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
17677         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
17678         of 'wctype-h'.
17679         * NEWS: Mention the change.
17680         * modules/mbchar (Depends-on): Add iswblank.
17681
17682 2011-02-08  Bruno Haible  <bruno@clisp.org>
17683
17684         di-set tests: Refactor.
17685         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
17686         unnecessary includes.
17687         (ASSERT): Remove macro.
17688         (main): Make C90 compliant by avoiding variable declaration after
17689         statement.
17690         * modules/di-set-tests (Files): Add tests/macros.h.
17691
17692 2011-02-08  Bruno Haible  <bruno@clisp.org>
17693
17694         ino-map tests: Refactor.
17695         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
17696         unnecessary includes.
17697         (ASSERT): Remove macro.
17698         (main): Make C90 compliant by avoiding variable declaration after
17699         statement.
17700         * modules/ino-map-tests (Files): Add tests/macros.h.
17701
17702 2011-02-08  Jim Meyering  <meyering@redhat.com>
17703
17704         di-set: add "const" to a cast
17705         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
17706         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
17707
17708 2011-02-06  Bruno Haible  <bruno@clisp.org>
17709
17710         Rename module 'wctype' to 'wctype-h'.
17711         * modules/wctype-h: Renamed from modules/wctype.
17712         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
17713         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
17714         (Files, Depends-on, Makefile.am): Update.
17715         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
17716         (Files, Makefile.am): Update.
17717         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
17718         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
17719         * doc/posix-headers/wctype.texi: Update.
17720         * doc/posix-functions/iswalnum.texi: Update.
17721         * doc/posix-functions/iswalpha.texi: Update.
17722         * doc/posix-functions/iswblank.texi: Update.
17723         * doc/posix-functions/iswcntrl.texi: Update.
17724         * doc/posix-functions/iswdigit.texi: Update.
17725         * doc/posix-functions/iswgraph.texi: Update.
17726         * doc/posix-functions/iswlower.texi: Update.
17727         * doc/posix-functions/iswprint.texi: Update.
17728         * doc/posix-functions/iswpunct.texi: Update.
17729         * doc/posix-functions/iswspace.texi: Update.
17730         * doc/posix-functions/iswupper.texi: Update.
17731         * doc/posix-functions/iswxdigit.texi: Update.
17732         * doc/posix-functions/towlower.texi: Update.
17733         * doc/posix-functions/towupper.texi: Update.
17734         * NEWS: Mention the change.
17735         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
17736         * modules/mbchar (Dependencies): Likewise.
17737         * modules/mbswidth (Dependencies): Likewise.
17738         * modules/quotearg (Dependencies): Likewise.
17739         * modules/regex (Dependencies): Likewise.
17740         * modules/wcscasecmp (Dependencies): Likewise.
17741         * modules/wcsncasecmp (Dependencies): Likewise.
17742         * modules/wcwidth (Dependencies): Likewise.
17743
17744 2011-02-06  Bruno Haible  <bruno@clisp.org>
17745
17746         New module 'wcswidth'.
17747         * modules/wcswidth: New file.
17748         * lib/wchar.in.h (wcswidth): New declaration.
17749         * lib/wcswidth.c: New file.
17750         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
17751         * m4/wcswidth.m4: New file.
17752         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
17753         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
17754         REPLACE_WCSWIDTH.
17755         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
17756         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
17757         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
17758         * doc/posix-functions/wcswidth.texi: Mention the new module.
17759
17760 2011-02-06  Bruno Haible  <bruno@clisp.org>
17761
17762         New module 'wcstok'.
17763         * modules/wcstok: New file.
17764         * lib/wchar.in.h (wcstok): New declaration.
17765         * lib/wcstok.c: New file.
17766         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
17767         * m4/wcstok.m4: New file.
17768         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
17769         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
17770         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
17771         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
17772         * doc/posix-functions/wcstok.texi: Mention the new module.
17773
17774 2011-02-06  Bruno Haible  <bruno@clisp.org>
17775
17776         New module 'wcsstr'.
17777         * modules/wcsstr: New file.
17778         * lib/wchar.in.h (wcsstr): New declaration.
17779         * lib/wcsstr.c: New file.
17780         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
17781         * m4/wcsstr.m4: New file.
17782         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
17783         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
17784         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
17785         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
17786         * doc/posix-functions/wcsstr.texi: Mention the new module.
17787
17788 2011-02-06  Bruno Haible  <bruno@clisp.org>
17789
17790         New module 'wcspbrk'.
17791         * modules/wcspbrk: New file.
17792         * lib/wchar.in.h (wcspbrk): New declaration.
17793         * lib/wcspbrk.c: New file.
17794         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
17795         * m4/wcspbrk.m4: New file.
17796         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
17797         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
17798         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
17799         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
17800         * doc/posix-functions/wcspbrk.texi: Mention the new module.
17801
17802 2011-02-06  Bruno Haible  <bruno@clisp.org>
17803
17804         New module 'wcsspn'.
17805         * modules/wcsspn: New file.
17806         * lib/wchar.in.h (wcsspn): New declaration.
17807         * lib/wcsspn.c: New file.
17808         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
17809         * m4/wcsspn.m4: New file.
17810         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
17811         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
17812         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
17813         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
17814         * doc/posix-functions/wcsspn.texi: Mention the new module.
17815
17816 2011-02-06  Bruno Haible  <bruno@clisp.org>
17817
17818         New module 'wcscspn'.
17819         * modules/wcscspn: New file.
17820         * lib/wchar.in.h (wcscspn): New declaration.
17821         * lib/wcscspn.c: New file.
17822         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
17823         * m4/wcscspn.m4: New file.
17824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
17825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
17826         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
17827         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
17828         * doc/posix-functions/wcscspn.texi: Mention the new module.
17829
17830 2011-02-06  Bruno Haible  <bruno@clisp.org>
17831
17832         New module 'wcsrchr'.
17833         * modules/wcsrchr: New file.
17834         * lib/wchar.in.h (wcsrchr): New declaration.
17835         * lib/wcsrchr.c: New file.
17836         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
17837         * m4/wcsrchr.m4: New file.
17838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
17839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
17840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
17841         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
17842         * doc/posix-functions/wcsrchr.texi: Mention the new module.
17843
17844 2011-02-06  Bruno Haible  <bruno@clisp.org>
17845
17846         New module 'wcschr'.
17847         * modules/wcschr: New file.
17848         * lib/wchar.in.h (wcschr): New declaration.
17849         * lib/wcschr.c: New file.
17850         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
17851         * m4/wcschr.m4: New file.
17852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
17853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
17854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
17855         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
17856         * doc/posix-functions/wcschr.texi: Mention the new module.
17857
17858 2011-02-06  Bruno Haible  <bruno@clisp.org>
17859
17860         New module 'wcsdup'.
17861         * modules/wcsdup: New file.
17862         * lib/wchar.in.h (wcsdup): New declaration.
17863         * lib/wcsdup.c: New file.
17864         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
17865         * m4/wcsdup.m4: New file.
17866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
17867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
17868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
17869         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
17870         * doc/posix-functions/wcsdup.texi: Mention the new module.
17871
17872 2011-02-06  Bruno Haible  <bruno@clisp.org>
17873
17874         New module 'wcsxfrm'.
17875         * modules/wcsxfrm: New file.
17876         * lib/wchar.in.h (wcsxfrm): New declaration.
17877         * lib/wcsxfrm.c: New file.
17878         * lib/wcsxfrm-impl.h: New file.
17879         * m4/wcsxfrm.m4: New file.
17880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
17881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
17882         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
17883         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
17884         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
17885
17886 2011-02-06  Bruno Haible  <bruno@clisp.org>
17887
17888         New module 'wcscoll'.
17889         * modules/wcscoll: New file.
17890         * lib/wchar.in.h (wcscoll): New declaration.
17891         * lib/wcscoll.c: New file.
17892         * lib/wcscoll-impl.h: New file.
17893         * m4/wcscoll.m4: New file.
17894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
17895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
17896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
17897         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
17898         * doc/posix-functions/wcscoll.texi: Mention the new module.
17899
17900 2011-02-06  Bruno Haible  <bruno@clisp.org>
17901
17902         New module 'wcsncasecmp'.
17903         * modules/wcsncasecmp: New file.
17904         * lib/wchar.in.h (wcsncasecmp): New declaration.
17905         * lib/wcsncasecmp.c: New file.
17906         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
17907         * m4/wcsncasecmp.m4: New file.
17908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
17909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
17910         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
17911         HAVE_WCSNCASECMP.
17912         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
17913         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
17914
17915 2011-02-06  Bruno Haible  <bruno@clisp.org>
17916
17917         New module 'wcscasecmp'.
17918         * modules/wcscasecmp: New file.
17919         * lib/wchar.in.h (wcscasecmp): New declaration.
17920         * lib/wcscasecmp.c: New file.
17921         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
17922         * m4/wcscasecmp.m4: New file.
17923         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
17924         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
17925         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
17926         HAVE_WCSCASECMP.
17927         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
17928         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
17929
17930 2011-02-05  Bruno Haible  <bruno@clisp.org>
17931
17932         New module 'wcsncmp'.
17933         * modules/wcsncmp: New file.
17934         * lib/wchar.in.h (wcsncmp): New declaration.
17935         * lib/wcsncmp.c: New file.
17936         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
17937         * m4/wcsncmp.m4: New file.
17938         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
17939         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
17940         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
17941         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
17942         * doc/posix-functions/wcsncmp.texi: Mention the new module.
17943
17944 2011-02-05  Bruno Haible  <bruno@clisp.org>
17945
17946         New module 'wcscmp'.
17947         * modules/wcscmp: New file.
17948         * lib/wchar.in.h (wcscmp): New declaration.
17949         * lib/wcscmp.c: New file.
17950         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
17951         * m4/wcscmp.m4: New file.
17952         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
17953         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
17954         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
17955         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
17956         * doc/posix-functions/wcscmp.texi: Mention the new module.
17957
17958 2011-02-05  Bruno Haible  <bruno@clisp.org>
17959
17960         New module 'wcsncat'.
17961         * modules/wcsncat: New file.
17962         * lib/wchar.in.h (wcsncat): New declaration.
17963         * lib/wcsncat.c: New file.
17964         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17965         * m4/wcsncat.m4: New file.
17966         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17967         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17968         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17969         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17970         * doc/posix-functions/wcsncat.texi: Mention the new module.
17971
17972 2011-02-05  Bruno Haible  <bruno@clisp.org>
17973
17974         New module 'wcscat'.
17975         * modules/wcscat: New file.
17976         * lib/wchar.in.h (wcscat): New declaration.
17977         * lib/wcscat.c: New file.
17978         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17979         * m4/wcscat.m4: New file.
17980         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17981         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17982         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17983         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17984         * doc/posix-functions/wcscat.texi: Mention the new module.
17985
17986 2011-02-05  Bruno Haible  <bruno@clisp.org>
17987
17988         New module 'wcpncpy'.
17989         * modules/wcpncpy: New file.
17990         * lib/wchar.in.h (wcpncpy): New declaration.
17991         * lib/wcpncpy.c: New file.
17992         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17993         * m4/wcpncpy.m4: New file.
17994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17996         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17997         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17998         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17999
18000 2011-02-05  Bruno Haible  <bruno@clisp.org>
18001
18002         New module 'wcsncpy'.
18003         * modules/wcsncpy: New file.
18004         * lib/wchar.in.h (wcsncpy): New declaration.
18005         * lib/wcsncpy.c: New file.
18006         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18007         * m4/wcsncpy.m4: New file.
18008         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18009         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18010         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18011         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18012         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18013
18014 2011-02-05  Bruno Haible  <bruno@clisp.org>
18015
18016         New module 'wcpcpy'.
18017         * modules/wcpcpy: New file.
18018         * lib/wchar.in.h (wcpcpy): New declaration.
18019         * lib/wcpcpy.c: New file.
18020         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18021         * m4/wcpcpy.m4: New file.
18022         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18023         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18024         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18025         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18026         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18027
18028 2011-02-05  Bruno Haible  <bruno@clisp.org>
18029
18030         New module 'wcscpy'.
18031         * modules/wcscpy: New file.
18032         * lib/wchar.in.h (wcscpy): New declaration.
18033         * lib/wcscpy.c: New file.
18034         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18035         * m4/wcscpy.m4: New file.
18036         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18037         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18038         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18039         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18040         * doc/posix-functions/wcscpy.texi: Mention the new module.
18041
18042 2011-02-05  Bruno Haible  <bruno@clisp.org>
18043
18044         New module 'wcsnlen'.
18045         * modules/wcsnlen: New file.
18046         * lib/wchar.in.h (wcsnlen): New declaration.
18047         * lib/wcsnlen.c: New file.
18048         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18049         * m4/wcsnlen.m4: New file.
18050         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18051         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18052         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18053         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18054         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18055
18056 2011-02-05  Bruno Haible  <bruno@clisp.org>
18057
18058         New module 'wcslen'.
18059         * modules/wcslen: New file.
18060         * lib/wchar.in.h (wcslen): New declaration.
18061         * lib/wcslen.c: New file.
18062         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18063         * m4/wcslen.m4: New file.
18064         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18065         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18066         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18067         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18068         * doc/posix-functions/wcslen.texi: Mention the new module.
18069
18070 2011-02-05  Bruno Haible  <bruno@clisp.org>
18071
18072         New module 'wmemset'.
18073         * modules/wmemset: New file.
18074         * lib/wchar.in.h (wmemset): New declaration.
18075         * lib/wmemset.c: New file.
18076         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18077         * m4/wmemset.m4: New file.
18078         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18079         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18080         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18081         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18082         * doc/posix-functions/wmemset.texi: Mention the new module.
18083
18084 2011-02-05  Bruno Haible  <bruno@clisp.org>
18085
18086         New module 'wmemmove'.
18087         * modules/wmemmove: New file.
18088         * lib/wchar.in.h (wmemmove): New declaration.
18089         * lib/wmemmove.c: New file.
18090         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18091         * m4/wmemmove.m4: New file.
18092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18094         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18095         HAVE_WMEMMOVE.
18096         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18097         * doc/posix-functions/wmemmove.texi: Mention the new module.
18098
18099 2011-02-05  Bruno Haible  <bruno@clisp.org>
18100
18101         New module 'wmemcpy'.
18102         * modules/wmemcpy: New file.
18103         * lib/wchar.in.h (wmemcpy): New declaration.
18104         * lib/wmemcpy.c: New file.
18105         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18106         * m4/wmemcpy.m4: New file.
18107         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18108         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18109         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18110         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18111         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18112
18113 2011-02-05  Bruno Haible  <bruno@clisp.org>
18114
18115         New module 'wmemcmp'.
18116         * modules/wmemcmp: New file.
18117         * lib/wchar.in.h (wmemcmp): New declaration.
18118         * lib/wmemcmp.c: New file.
18119         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18120         * m4/wmemcmp.m4: New file.
18121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18123         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18124         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18125         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18126
18127 2011-02-07  Jim Meyering  <meyering@redhat.com>
18128
18129         di-set, ino-map: new modules, from coreutils
18130         * lib/di-set.c: New file.
18131         * lib/di-set.h: Likewise.
18132         * lib/ino-map.c: Likewise.
18133         * lib/ino-map.h: Likewise.
18134         * modules/di-set: Likewise.
18135         * modules/di-set-tests: Likewise.
18136         * modules/ino-map: Likewise.
18137         * modules/ino-map-tests: Likewise.
18138         * tests/test-di-set.c: Likewise.
18139         * tests/test-ino-map.c: Likewise.
18140
18141 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18142
18143         getloadavg: merge minor changes from Emacs
18144
18145         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18146         (getloadavg): Use memset, not bzero.
18147
18148         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18149         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18150         clash (bug#86).
18151
18152 2010-11-14  Bruno Haible  <bruno@clisp.org>
18153
18154         Allow multiple gnulib generated replacements to coexist.
18155         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18156         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18157         * lib/langinfo.in.h (nl_item): Likewise.
18158         * lib/math.in.h (_NaN, NAN): Likewise.
18159         * lib/netdb.in.h (struct addrinfo): Likewise.
18160         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18161         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18162         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18163         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18164         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18165         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18166         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18167         pthread_mutexattr_init, pthread_mutexattr_settype,
18168         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18169         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18170         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18171         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18172         * lib/sched.in.h (struct sched_param): Likewise.
18173         * lib/se-selinux.in.h (security_class_t, security_context_t,
18174         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18175         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18176         lsetfilecon, fsetfilecon, security_check_context,
18177         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18178         Likewise.
18179         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18180         Likewise.
18181         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18182         _gl_function_taking_int_returning_void_t, union sigval,
18183         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18184         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18185         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18186         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18187         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18188         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18189         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18190         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18191         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18192         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18193         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18194         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18195         socklen_t, rpl_fd_isset): Likewise.
18196         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18197         * lib/sys_time.in.h (struct timeval): Likewise.
18198         * lib/sys_times.in.h (struct tms): Likewise.
18199         * lib/sys_utsname.in.h (struct utsname):
18200         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18201         * lib/unistd.in.h (getpagesize): Likewise.
18202         * lib/wchar.in.h (mbstate_t): Likewise.
18203         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18204         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18205         towlower, towupper): Likewise.
18206         Reported by Sam Steingold <sds@gnu.org>.
18207
18208 2011-02-05  Eric Blake  <eblake@redhat.com>
18209
18210         unsetenv: work around Haiku issues
18211         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18212         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18213
18214 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18215
18216         libposix: avoid calling error() within libposix
18217         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18218         is defined.
18219
18220 2011-02-05  Eric Blake  <eblake@redhat.com>
18221
18222         strerror_r-posix: port to cygwin
18223         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18224         implementation.
18225         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18226         * tests/test-strerror_r.c (main): Fix test.
18227         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18228         issue.
18229
18230 2011-02-05  Bruno Haible  <bruno@clisp.org>
18231
18232         New module 'wmemchr'.
18233         * modules/wmemchr: New file.
18234         * lib/wchar.in.h (wmemchr): New declaration.
18235         * lib/wmemchr.c: New file.
18236         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18237         * m4/wmemchr.m4: New file.
18238         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18239         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18240         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18241         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18242         * doc/posix-functions/wmemchr.texi: Mention the new module.
18243
18244 2011-02-04  Eric Blake  <eblake@redhat.com>
18245
18246         fdopendir: detect FreeBSD bug
18247         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18248         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18249
18250 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18251
18252         stdbool: do not define HAVE_STDBOOL_H
18253         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18254         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18255         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18256         imported from the latest Autoconf git.  It was motivated by Emacs,
18257         which uses gnulib but does not need HAVE_STDBOOL_H.
18258
18259 2011-02-04  Bruno Haible  <bruno@clisp.org>
18260
18261         wcsnrtombs: Prepare for new module wwcsnrtombs.
18262         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18263         * lib/wcsnrtombs.c: Include it.
18264         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18265
18266         wcsrtombs: Prepare for new module wwcsrtombs.
18267         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18268         * lib/wcsrtombs.c: Include it.
18269         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18270
18271         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18272         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18273         * lib/mbsnrtowcs.c: Include it.
18274         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18275
18276         mbsrtowcs: Prepare for new module mbsrtowwcs.
18277         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18278         * lib/mbsrtowcs.c: Include it.
18279         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18280
18281 2011-02-04  Bruno Haible  <bruno@clisp.org>
18282
18283         vasnprintf: Reduce use of malloc for small format strings.
18284         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18285         (arguments): Add room for the first 7 arguments.
18286         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18287         (char_directives, u8_directives, u16_directives, u32_directives): Add
18288         room for the first 7 directives.
18289         * lib/printf-parse.c: Include <string.h>.
18290         (PRINTF_PARSE): Change memory handling code so that it uses the first
18291         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18292         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18293         Reported by Pádraig Brady <P@draigbrady.com>.
18294
18295 2011-01-31  Eric Blake  <eblake@redhat.com>
18296
18297         dup2: work around Haiku bug
18298         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18299         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18300         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18301         * tests/test-dup2.c (main): Enhance test.
18302
18303 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18304
18305         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18306         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18307         declared by eglibc 2.11.2.
18308         * lib/stdio.in.h: Likewise.
18309
18310 2011-01-31  Eric Blake  <eblake@redhat.com>
18311
18312         ignore-value: add missing test dependency
18313         * tests/test-ignore-value.c: Revert previous change; stdio.h
18314         provides off_t.
18315         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18316
18317 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18318
18319         mktime: clarify long_int width checking
18320         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18321         the top level, to make it clearer that the assumption about
18322         long_int width is being checked.  See
18323         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18324
18325 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18326
18327         ignore-value: Fix self-test.
18328         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18329
18330 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
18331
18332         TYPE_MAXIMUM: avoid theoretically undefined behavior
18333         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
18334         negative number, which the C Standard says has undefined behavior.
18335         In practice this is not a problem, but might as well do it by the book.
18336         Reported by Rich Felker and Eric Blake; see
18337         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
18338         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
18339         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
18340         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
18341         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
18342         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18343         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
18344
18345         mktime: #undef mktime before #defining it
18346         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
18347
18348         mktime: systematically normalize tm_isdst comparisons
18349         * lib/mktime.c (isdst_differ): New function.
18350         (__mktime_internal): Use it systematically for all isdst comparisons.
18351         This completes the fix for libc BZ #6723, and removes the need for
18352         normalizing tm_isdst.  See
18353         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
18354         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
18355
18356         mktime: fix some integer overflow issues and sidestep the rest
18357
18358         This was prompted by a bug report by Benjamin Lindner for MinGW
18359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
18360         His bug is due to signed integer overflow (0 - INT_MIN), and I
18361         I scanned through mktime.c looking for other integer overflow
18362         problems, fixing all the bugs I found.
18363
18364         Although the C Standard says the resulting code is still not safe
18365         in the presence of integer overflow, in practice it should be good
18366         enough for all real-world two's-complement implementations, except
18367         for debugging environments that deliberately trap on integer
18368         overflow (e.g., gcc -ftrapv).
18369
18370         * lib/mktime.c (WRAPV): New macro.
18371         (SHR): Also check that long_int and time_t shift right in the
18372         usual way, before using the fast-but-unportable method.
18373         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
18374         used.  The code already assumed two's complement, so there's
18375         no need to test for alternatives.  All uses removed.
18376         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
18377         the C standard.  Problem reported by Rich Felker in
18378         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
18379         (twos_complement_arithmetic): Also check long_int and time_t.
18380         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
18381         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
18382         (__mktime_internal): Avoid integer overflow with unary subtraction
18383         in two instances where -1 - X is an adequate replacement for -X,
18384         since the calculations are approximate.
18385
18386 2011-01-29  Eric Blake  <eblake@redhat.com>
18387
18388         mktime: avoid infinite loop
18389         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
18390         type; behavior is still undefined but portable to all known targets.
18391         Reported by Rich Felker.
18392
18393 2011-01-29  Simon Josefsson  <simon@josefsson.org>
18394
18395         rename, unlink, same-inode: Relicense.
18396         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
18397         * modules/unlink (License): Likewise.
18398         * modules/same-inode (License): Likewise.
18399
18400 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
18401
18402         mktime: avoid problems on NetBSD 5 / i386
18403         * lib/mktime.c (long_int): New type.  This works around a problem
18404         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
18405         but time_t is 64 bits, and where I expect the existing code is
18406         wrong in some cases.
18407         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
18408         (ydhms_diff): Bring back the compile-time check for wide-enough
18409         year and yday.
18410
18411         mktime: fix misspelling in comment
18412         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
18413         This merges all recent glibc changes of importance.
18414
18415 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18416
18417         move-if-change: cope with concurrent mv of identical file.
18418         * build-aux/move-if-change (CMPPROG): Accept environment
18419         variable as an override for `cmp'.
18420         (usage): Document CMPPROG.
18421         Adjust comparison to drop stdout.  Cope with failure of mv if
18422         the target file exists and is identical to the source, for
18423         parallel builds.
18424         Report from H.J. Lu against binutils in PR binutils/12283.
18425
18426 2011-01-28  Bruce Korb  <bkorb@gnu.org>
18427
18428         * users.txt: Mention sharutils.
18429
18430 2011-01-28  Simon Josefsson  <simon@josefsson.org>
18431
18432         * users.txt: Mention OATH Toolkit.
18433
18434 2011-01-27  Bruno Haible  <bruno@clisp.org>
18435
18436         Prepare for supporting FreeBSD 10.
18437         * build-aux/config.libpath: Remove handling of freebsd1*.
18438
18439 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
18440
18441         Prepare for supporting FreeBSD 10.
18442         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
18443         match FreeBSD 10.0.
18444
18445 2011-01-27  Bruno Haible  <bruno@clisp.org>
18446
18447         vma-iter, get-rusage-as: Add OpenBSD support.
18448         * modules/vma-iter (configure.ac): Test for mquery.
18449         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
18450         * lib/vma-iter.c: Include <sys/mman.h>.
18451         (vma_iterate): Add an implementation based on mquery().
18452         * lib/resource-ext.h (get_rusage_as): Update comments.
18453         * lib/get-rusage-as.c: Likewise.
18454         * lib/get-rusage-data.c: Likewise.
18455
18456 2011-01-26  Karl Berry  <karl@gnu.org>
18457
18458         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
18459         variables to make it easier to override the makeinfo program used.
18460
18461 2011-01-26  Eric Blake  <eblake@redhat.com>
18462
18463         fcntl: work around Haiku F_DUPFD bugs
18464         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
18465         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
18466         cloexec bit on duplication.
18467         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
18468
18469 2011-01-26  Bruno Haible  <bruno@clisp.org>
18470
18471         Enable memory leak tests on AIX.
18472         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
18473         * tests/test-fprintf-posix3.c (main): Likewise.
18474
18475 2011-01-26  Bruno Haible  <bruno@clisp.org>
18476
18477         Tests for module 'get-rusage-data'.
18478         * modules/get-rusage-data-tests: New file.
18479         * tests/test-get-rusage-data.c: New file.
18480
18481         New module 'get-rusage-data'.
18482         * lib/resource-ext.h (get_rusage_data): New declaration.
18483         * lib/get-rusage-data.c: New file.
18484         * modules/get-rusage-data: New file.
18485
18486 2011-01-25  Bruno Haible  <bruno@clisp.org>
18487
18488         get-rusage-as: Allow for easier testing.
18489         * lib/resource-ext.h (get_rusage_as): Add comment.
18490         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
18491         (main): New function for interactive testing.
18492
18493 2011-01-25  Bruno Haible  <bruno@clisp.org>
18494
18495         vma-iter: Treat Haiku like BeOS.
18496         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
18497         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
18498
18499 2011-01-25  Eric Blake  <eblake@redhat.com>
18500
18501         c-stack: fix regression on cygwin when libsigsegv is present
18502         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
18503
18504 2011-01-24  Bruno Haible  <bruno@clisp.org>
18505
18506         vma-iter: Avoid empty intervals.
18507         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
18508         on an empty interval.
18509
18510 2011-01-24  Jim Meyering  <meyering@redhat.com>
18511
18512         u64: remove unnecessary #include
18513         * lib/u64.h: Don't include <stddef.h>.  It was not used.
18514
18515 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
18516
18517         Allow the user to avoid the HAVE_RAW_DECL_* macros.
18518         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
18519
18520 2011-01-23  Bruno Haible  <bruno@clisp.org>
18521
18522         New module 'vma-iter'.
18523         * lib/vma-iter.h: New file.
18524         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
18525         * modules/vma-iter: New file.
18526         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
18527         for get_rusage_as_via_iterator.
18528         (vma_iterate_callback): New function.
18529         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
18530         * modules/get-rusage-as (Depends-on): Add vma-iter.
18531
18532 2011-01-23  Bruno Haible  <bruno@clisp.org>
18533
18534         uninorm: Tweak includes.
18535         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
18536         Reported by Jim Meyering.
18537
18538 2011-01-23  Bruno Haible  <bruno@clisp.org>
18539
18540         get-rusage-as: Improve on NetBSD.
18541         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
18542         /proc, like on FreeBSD.
18543
18544 2011-01-23  Jim Meyering  <meyering@redhat.com>
18545
18546         xreadlink.h: remove unnecessary #include
18547         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
18548
18549         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
18550         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
18551
18552 2011-01-23  Bruno Haible  <bruno@clisp.org>
18553
18554         get-rusage-as: Fix bug.
18555         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
18556         original limit when aborting the first loop.
18557
18558 2011-01-23  Bruno Haible  <bruno@clisp.org>
18559
18560         wctype: Ensure valid C syntax.
18561         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
18562         unconditionally, instead of gl_NEXT_HEADERS conditionally.
18563
18564 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
18565
18566         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
18567         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
18568         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
18569         as they are needed only for configure's test case.
18570         This removes two unnecessary symbols from config.h.
18571
18572         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
18573         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
18574         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
18575         AC_CHECK_HEADERS_ONCE on a header that we also invoke
18576         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
18577         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
18578         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
18579         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
18580         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18581         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18582         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18583         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18584         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18585         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18586         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
18587         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18588         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
18589         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18590
18591 2011-01-21  Eric Blake  <eblake@redhat.com>
18592
18593         maintainer-makefile: work with older git for submodule check
18594         * top/maint.mk (public-submodule-commit): Rewrite to avoid
18595         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
18596         Reported by Matthias Bolte.
18597
18598         bootstrap: minor portability fixes
18599         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
18600         (usage): Omit leading capital and trailing . on help phrases, per
18601         GNU Coding Standards.
18602         (check_versions, top level): Prefix messages with script name.
18603
18604 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
18605
18606         bootstrap: support --no-git option
18607         * build-aux/bootstrap: Add --no-git option, to be used when
18608         --gnulib-srcdir points to the exact desired checkout.
18609
18610 2011-01-21  Eric Blake  <eblake@redhat.com>
18611
18612         strerror_r-posix: work with glibc 2.13
18613         * lib/strerror_r.c (strerror_r): Fix return type.
18614
18615 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18616             Bruno Haible  <bruno@clisp.org>
18617
18618         uN_strstr: New unit tests.
18619         * modules/unistr/u8-strstr-tests: New file.
18620         * modules/unistr/u16-strstr-tests: New file.
18621         * modules/unistr/u32-strstr-tests: New file.
18622         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
18623         * tests/unistr/test-u8-strstr.c: New file.
18624         * tests/unistr/test-u16-strstr.c: New file.
18625         * tests/unistr/test-u32-strstr.c: New file.
18626
18627 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18628             Bruno Haible  <bruno@clisp.org>
18629
18630         Make uN_strstr functions O(n) worst-case.
18631         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
18632         16-bit and 32-bit unit cases, use the unibyte algorithm from
18633         lib/mbsstr.c.
18634         * lib/unistr/u8-strstr.c: Include <string.h>.
18635         (UNIT_IS_UINT8_T): New macro.
18636         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
18637         (U_STRLEN, U_STRNLEN): New macros.
18638         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
18639         (U_STRLEN, U_STRNLEN): New macros.
18640         * modules/unistr/u8-strstr (Depends-on): Add strstr.
18641         (configure.ac): Update required libunistring version.
18642         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
18643         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
18644         malloca.
18645         (configure.ac): Update required libunistring version.
18646         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
18647         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
18648         malloca.
18649         (configure.ac): Update required libunistring version.
18650
18651 2011-01-21  Pádraig Brady  <P@draigBrady.com>
18652             Bruno Haible  <bruno@clisp.org>
18653
18654         Prepare for faster uN_strstr functions.
18655         * lib/str-kmp.h: Support definable UNITs.
18656         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
18657         needle_len argument.
18658         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
18659         * lib/mbscasestr.c (mbscasestr): Likewise.
18660
18661 2011-01-21  Pádraig Brady <P@draigBrady.com>
18662
18663         malloca-tests: make faster by unsetting MALLOC_PERTURB_
18664         * tests/test-malloca.c (main): Unset the environment variable
18665         to greatly speed up the test.
18666         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
18667         * modules/malloca-tests: Depend on unsetenv.
18668
18669 2011-01-21  Pádraig Brady <P@draigBrady.com>
18670
18671         ignore-value: remove stdint dependency
18672         * lib/ignore-value.h: Remove <stdint.h>
18673         * modules/ignore-value: Remove stdint dependency.
18674
18675 2011-01-21  Jim Meyering  <meyering@redhat.com>
18676
18677         maint.mk: adjust variable name to be consistent with other gl_ vars
18678         * top/maint.mk (gl_public_submodule_commit): Rename the variable
18679         to be lower case.
18680
18681 2011-01-20  Jim Meyering  <meyering@redhat.com>
18682
18683         maint.mk: make "check" depend on public-submodule-commit by default
18684         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
18685
18686 2011-01-20  Bruno Haible  <bruno@clisp.org>
18687
18688         mbfile, mbiter: Complete change from 2008-12-21.
18689         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
18690         * m4/mbiter.m4 (gl_MBITER): Likewise.
18691
18692 2011-01-20  Jim Meyering  <meyering@redhat.com>
18693
18694         init.sh: insert space between each function name and "()"
18695         * tests/init.sh: Make it a little easier to see that a function's
18696         name is "warn_", and not "warn" when looking at the first part of
18697         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
18698
18699 2011-01-20  Jim Meyering  <meyering@redhat.com>
18700
18701         mountlist: clean up code formatting
18702         * lib/mountlist.c (read_file_system_list): Split a long line,
18703         correct bracing style, use NULL in place of "(struct statfs *)0",
18704         don't parenthesize return value, add spaces around "=" and after
18705         ";-in-for-stmt".
18706
18707 2011-01-14  Markus Duft <mduft@gentoo.org>
18708
18709         mountlist: add support for Interix
18710         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
18711         Apply statvfs to all entries of /dev/fs.
18712         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
18713         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
18714
18715 2011-01-20  Jim Meyering  <meyering@redhat.com>
18716
18717         maint.mk: improve the public-submodule-commit rule
18718         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
18719         to suppress printing of its commands... unless V=1.
18720         Add git submodule's --quiet option to suppress printing of e.g.,
18721         "Entering gnulib" output.
18722         "cd" into $(srcdir) before running git submodule.
18723
18724 2011-01-20  Bruno Haible  <bruno@clisp.org>
18725
18726         include_next: Fix bug introduced on 2011-01-18.
18727         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
18728         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
18729         ac_cv_header_... variable if the second argument is not 'check'.
18730         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
18731         gl_NEXT_HEADERS_INTERNAL.
18732
18733 2011-01-20  Bruno Haible  <bruno@clisp.org>
18734
18735         Allow the user to avoid the GNULIB_TEST_* macros.
18736         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
18737         Suggested by Paul Eggert.
18738
18739 2011-01-14  Jim Meyering  <meyering@redhat.com>
18740
18741         bootstrap: avoid failure when there is no .gitmodules file
18742         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
18743         has been assigned to, even when its value is the empty string.
18744         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
18745         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
18746         Reported by John W. Eaton <jwe@gnu.org>.
18747
18748 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
18749
18750         assume <ctype.h>, ..., <time.h> exist
18751         For years gnulib has been assuming the existence of the headers
18752         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
18753         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
18754         them, since they don't appear to be needed.
18755         * README (Portability guidelines): Document this.
18756         * lib/flock.c: Assume <fcntl.h> exists.
18757         * lib/regex_internal.h: Assume <locale.h> exists.
18758         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
18759         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
18760         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
18761         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
18762         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
18763         * m4/regex.m4 (gl_REGEX): Likewise.
18764         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
18765         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
18766         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
18767         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
18768         * tests/test-argp.c: Likewise.
18769         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
18770
18771         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
18772         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
18773         AA_APPLE_UNIVERSAL_BUILD.  See
18774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
18775         * NEWS: Document this.
18776
18777 2011-01-19  Eric Blake  <eblake@redhat.com>
18778
18779         c-stack: assume stack overflow if SA_SIGINFO unsupported
18780         * lib/c-stack.c (SIGACTION_WORKS): Rename...
18781         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
18782         sigaction will work.
18783         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
18784         behavior match Linux.
18785         * tests/test-c-stack.c (main): Prefer NULL for pointers.
18786
18787         stdbool-tests: accomodate Haiku
18788         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
18789
18790         binary-io: fix O_TEXT on Haiku
18791         * modules/binary-io (Depends-on): Add fcntl-h.
18792         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
18793         than blindly undefining O_TEXT.
18794         Reported by Scott McCreary.
18795
18796 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18797
18798         include_next: do not check for standard headers like stddef.h
18799
18800         I found this problem when modifying Emacs to use gnulib.
18801         I noticed that it added HAVE_STDDEF_H to config.h, even though
18802         gnulib always assumes <stddef.h> exists as per README and this
18803         symbol is unnecessary.
18804         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
18805         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
18806         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
18807         faster for headers like stddef.h that are known to exist.
18808         (gl_CHECK_NEXT_HEADERS): Use it.
18809         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
18810         rather than gl_CHECK_NEXT_HEADERS.
18811         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
18812         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
18813
18814 2011-01-18  Eric Blake  <eblake@redhat.com>
18815
18816         ansi-c++-opt: skip C++ dependency style if C++ is unused
18817         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
18818         tests when we know C++ compilation is not desired.
18819         Reported by Scott McCreary.
18820
18821 2011-01-18  Bruno Haible  <bruno@clisp.org>
18822
18823         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
18824         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
18825         (main): Perform test also when getrlimit and setrlimit don't exist or
18826         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
18827         limiting the address space size using setrlimit, compare the address
18828         space size before and after the the test.
18829         * tests/test-dprintf-posix2.c: Likewise.
18830         * tests/test-fprintf-posix3.sh: Update skip messages.
18831         * tests/test-dprintf-posix2.sh: Likewise.
18832         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
18833         * modules/dprintf-posix-tests (Depends-on): Likewise.
18834         Reported by Bruce Korb <bkorb@gnu.org> and
18835         Gary V. Vaughan <gary@gnu.org>.
18836
18837 2011-01-18  Bruno Haible  <bruno@clisp.org>
18838
18839         get-rusage-as: Improvement for Cygwin.
18840         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
18841         areas that are merely reserved.
18842
18843 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
18844
18845         strftime: remove dependencies on multibyte modules
18846
18847         strftime depended on mbrlen, mbsinit, and wchar, but these modules
18848         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
18849         only if __osf__ is defined, and I suspect OSF doesn't need these
18850         other modules.  If my guess is wrong, we'll need to come up with a
18851         variant of strftime that doesn't need the multibyte modules.
18852
18853         I discovered this problem when attempting modify Emacs to use the
18854         strftime module.  With the previous gnulib, this caused Emacs to
18855         need 31 new files, ranging from lib/config.charset to
18856         m4/wint_t.m4.  This was overkill and I expect would be offputting
18857         to the Emacs maintainers.  After this change, only 6 new files are
18858         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
18859         stdbool.m4, and tm_gmtoff.m4.
18860
18861         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
18862         Suggested by Bruno Haible in
18863         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
18864         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
18865         and do not check for wchar.h.
18866         * modules/strftime (Files): Remove m4/mbstate_t.m4.
18867         (Depends-on): Remove mbrlen, mbsinit, wchar.
18868
18869 2011-01-18  Bruno Haible  <bruno@clisp.org>
18870
18871         Tests for module 'get-rusage-as'.
18872         * modules/get-rusage-as-tests: New file.
18873         * tests/test-get-rusage-as.c: New file.
18874
18875         New module 'get-rusage-as'.
18876         * modules/get-rusage-as: New file.
18877         * lib/resource-ext.h: New file.
18878         * lib/get-rusage-as.c: New file.
18879
18880 2011-01-17  Eric Blake  <eblake@redhat.com>
18881
18882         sigaction: relax license from LGPLv3+ to LGPLv2+
18883         * modules/sigaction (License): Relax to LGPLv2+.
18884
18885 2011-01-14  Bruno Haible  <bruno@clisp.org>
18886
18887         filemode: Make function declarations usable in C++ mode.
18888         * lib/filemode.h: Enclose function declarations in extern "C" block.
18889         Reported by John W. Eaton <jwe@gnu.org>.
18890
18891 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
18892
18893         save-cwd: no longer include "xgetcwd.h"
18894         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
18895         This avoids a compilation failure in projects that use save-cwd
18896         without also using the xgetcwd module.
18897
18898 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18899
18900         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
18901         This is so that a program like Emacs, which needs only dtoastr,
18902         does not have to bother with distributing and compiling ftoastr
18903         and ldtoastr.
18904         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
18905         * modules/dtoastr, modules/ldtoastr: New files.
18906         * modules/ftoastr: Now works just for 'float'.
18907         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
18908         (Makefile.am): Remove ftoastr.h (not needed and no effect),
18909         dtoastr.c, ldtoastr.c.
18910
18911 2011-01-11  Jim Meyering  <meyering@redhat.com>
18912
18913         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
18914         There is no need to work around the lack of the fchdir function,
18915         since gnulib can now provide a replacement when required.
18916         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
18917         * modules/save-cwd (Depends-on): Add fchdir.
18918
18919 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
18920
18921         openat, save-cwd: avoid xmalloc
18922
18923         This removes a direct (but undocumented) dependency of openat on
18924         xalloc, along with an indirect dependency via save-cwd.  It also
18925         removes a dependency of save-cwd on xgetcwd, and thereby
18926         indirectly on xalloc.  This change causes the openat substitute
18927         to fall back on save_cwd when memory is tight, and for save_cwd to
18928         fail instead of dying when memory is tight, but that's good enough.
18929         Problem and initial idea for fix reported by Bastien Roucaries in
18930         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
18931
18932         * lib/openat-proc.c: Include stdlib.h (for malloc), not
18933         xalloc.h (for xmalloc).
18934         (openat_proc_name): Use malloc, not xmalloc.
18935         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
18936         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
18937
18938         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
18939         This avoids heap allocation for file names whose lengths are in
18940         the range 512..1023, with the upper bound increasing to at most
18941         4031 depending on the platform's PATH_MAX.  (We do not want
18942         pathmax.h here as it might supply a non-constant PATH_MAX.)
18943         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
18944         Perhaps they should be moved to malloca.h?
18945         (OPENAT_BUFFER_SIZE): Use them.
18946
18947 2011-01-10  Bruno Haible  <bruno@clisp.org>
18948
18949         doc: Update users.txt.
18950         * users.txt: Add recutils.
18951
18952 2011-01-09  Karl Berry  <karl@gnu.org>
18953
18954         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
18955
18956         * doc/configmake.texi: New file.
18957         * doc/gnulib.texi: Include it.
18958         * modules/configmake: Move documentation from here.
18959
18960 2011-01-09  Bruno Haible  <bruno@clisp.org>
18961
18962         Update to Unicode 6.0.0.
18963         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
18964         (get_lbp): Update for Unicode 6.0.0.
18965         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18966         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18967         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18968         U+11001, U+11038..U+11046. Remove U+06DE.
18969         (uc_width): Fix bounds of planes.
18970         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18971         lib/uniwidth/width.c.
18972         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18973         trailing whitespace removed.
18974         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18975         without comments, but with the original copyright notice.
18976         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18977         * lib/unicase/ignorable.h: Likewise.
18978         * lib/unicase/tocasefold.h: Likewise.
18979         * lib/unicase/tolower.h: Likewise.
18980         * lib/unicase/totitle.h: Likewise.
18981         * lib/unicase/toupper.h: Likewise.
18982         * lib/unictype/bidi_of.h: Likewise.
18983         * lib/unictype/blocks.h: Likewise.
18984         * lib/unictype/categ_C.h: Likewise.
18985         * lib/unictype/categ_Cn.h: Likewise.
18986         * lib/unictype/categ_L.h: Likewise.
18987         * lib/unictype/categ_Ll.h: Likewise.
18988         * lib/unictype/categ_Lm.h: Likewise.
18989         * lib/unictype/categ_Lo.h: Likewise.
18990         * lib/unictype/categ_Lu.h: Likewise.
18991         * lib/unictype/categ_M.h: Likewise.
18992         * lib/unictype/categ_Mc.h: Likewise.
18993         * lib/unictype/categ_Me.h: Likewise.
18994         * lib/unictype/categ_Mn.h: Likewise.
18995         * lib/unictype/categ_N.h: Likewise.
18996         * lib/unictype/categ_Nd.h: Likewise.
18997         * lib/unictype/categ_No.h: Likewise.
18998         * lib/unictype/categ_P.h: Likewise.
18999         * lib/unictype/categ_Po.h: Likewise.
19000         * lib/unictype/categ_S.h: Likewise.
19001         * lib/unictype/categ_Sc.h: Likewise.
19002         * lib/unictype/categ_Sk.h: Likewise.
19003         * lib/unictype/categ_Sm.h: Likewise.
19004         * lib/unictype/categ_So.h: Likewise.
19005         * lib/unictype/categ_of.h: Likewise.
19006         * lib/unictype/combining.h: Likewise.
19007         * lib/unictype/ctype_alnum.h: Likewise.
19008         * lib/unictype/ctype_alpha.h: Likewise.
19009         * lib/unictype/ctype_graph.h: Likewise.
19010         * lib/unictype/ctype_lower.h: Likewise.
19011         * lib/unictype/ctype_print.h: Likewise.
19012         * lib/unictype/ctype_punct.h: Likewise.
19013         * lib/unictype/ctype_upper.h: Likewise.
19014         * lib/unictype/decdigit.h: Likewise.
19015         * lib/unictype/digit.h: Likewise.
19016         * lib/unictype/numeric.h: Likewise.
19017         * lib/unictype/pr_alphabetic.h: Likewise.
19018         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19019         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19020         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19021         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19022         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19023         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19024         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19025         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19026         * lib/unictype/pr_case_ignorable.h: Likewise.
19027         * lib/unictype/pr_cased.h: Likewise.
19028         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19029         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19030         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19031         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19032         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19033         * lib/unictype/pr_combining.h: Likewise.
19034         * lib/unictype/pr_composite.h: Likewise.
19035         * lib/unictype/pr_currency_symbol.h: Likewise.
19036         * lib/unictype/pr_decimal_digit.h: Likewise.
19037         * lib/unictype/pr_deprecated.h: Likewise.
19038         * lib/unictype/pr_format_control.h: Likewise.
19039         * lib/unictype/pr_grapheme_base.h: Likewise.
19040         * lib/unictype/pr_grapheme_extend.h: Likewise.
19041         * lib/unictype/pr_grapheme_link.h: Likewise.
19042         * lib/unictype/pr_id_continue.h: Likewise.
19043         * lib/unictype/pr_id_start.h: Likewise.
19044         * lib/unictype/pr_ideographic.h: Likewise.
19045         * lib/unictype/pr_lowercase.h: Likewise.
19046         * lib/unictype/pr_math.h: Likewise.
19047         * lib/unictype/pr_numeric.h: Likewise.
19048         * lib/unictype/pr_other_alphabetic.h: Likewise.
19049         * lib/unictype/pr_other_id_continue.h: Likewise.
19050         * lib/unictype/pr_other_math.h: Likewise.
19051         * lib/unictype/pr_punctuation.h: Likewise.
19052         * lib/unictype/pr_sentence_terminal.h: Likewise.
19053         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19054         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19055         * lib/unictype/pr_unified_ideograph.h: Likewise.
19056         * lib/unictype/pr_uppercase.h: Likewise.
19057         * lib/unictype/pr_xid_continue.h: Likewise.
19058         * lib/unictype/pr_xid_start.h: Likewise.
19059         * lib/unictype/scripts.h: Likewise.
19060         * lib/unictype/scripts_byname.gperf: Likewise.
19061         * lib/unictype/sy_java_ident.h: Likewise.
19062         * lib/unigbrk/gbrkprop.h: Likewise.
19063         * lib/unilbrk/lbrkprop1.h: Likewise.
19064         * lib/unilbrk/lbrkprop2.h: Likewise.
19065         * lib/uninorm/decomposition-table2.h: Likewise.
19066         * lib/uniwbrk/wbrkprop.h: Likewise.
19067         * tests/unicase/test-cased.c: Likewise.
19068         * tests/unicase/test-ignorable.c: Likewise.
19069         * tests/unicase/test-uc_tolower.c: Likewise.
19070         * tests/unicase/test-uc_totitle.c: Likewise.
19071         * tests/unicase/test-uc_toupper.c: Likewise.
19072         * tests/unictype/test-categ_C.c: Likewise.
19073         * tests/unictype/test-categ_Cn.c: Likewise.
19074         * tests/unictype/test-categ_L.c: Likewise.
19075         * tests/unictype/test-categ_Ll.c: Likewise.
19076         * tests/unictype/test-categ_Lm.c: Likewise.
19077         * tests/unictype/test-categ_Lo.c: Likewise.
19078         * tests/unictype/test-categ_Lu.c: Likewise.
19079         * tests/unictype/test-categ_M.c: Likewise.
19080         * tests/unictype/test-categ_Mc.c: Likewise.
19081         * tests/unictype/test-categ_Me.c: Likewise.
19082         * tests/unictype/test-categ_Mn.c: Likewise.
19083         * tests/unictype/test-categ_N.c: Likewise.
19084         * tests/unictype/test-categ_Nd.c: Likewise.
19085         * tests/unictype/test-categ_No.c: Likewise.
19086         * tests/unictype/test-categ_P.c: Likewise.
19087         * tests/unictype/test-categ_Po.c: Likewise.
19088         * tests/unictype/test-categ_S.c: Likewise.
19089         * tests/unictype/test-categ_Sc.c: Likewise.
19090         * tests/unictype/test-categ_Sk.c: Likewise.
19091         * tests/unictype/test-categ_Sm.c: Likewise.
19092         * tests/unictype/test-categ_So.c: Likewise.
19093         * tests/unictype/test-ctype_alnum.c: Likewise.
19094         * tests/unictype/test-ctype_alpha.c: Likewise.
19095         * tests/unictype/test-ctype_graph.c: Likewise.
19096         * tests/unictype/test-ctype_lower.c: Likewise.
19097         * tests/unictype/test-ctype_print.c: Likewise.
19098         * tests/unictype/test-ctype_punct.c: Likewise.
19099         * tests/unictype/test-ctype_upper.c: Likewise.
19100         * tests/unictype/test-decdigit.h: Likewise.
19101         * tests/unictype/test-digit.h: Likewise.
19102         * tests/unictype/test-numeric.h: Likewise.
19103         * tests/unictype/test-pr_alphabetic.c: Likewise.
19104         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19105         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19106         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19107         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19108         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19109         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19110         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19111         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19112         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19113         * tests/unictype/test-pr_cased.c: Likewise.
19114         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19115         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19116         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19117         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19118         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19119         * tests/unictype/test-pr_combining.c: Likewise.
19120         * tests/unictype/test-pr_composite.c: Likewise.
19121         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19122         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19123         * tests/unictype/test-pr_deprecated.c: Likewise.
19124         * tests/unictype/test-pr_format_control.c: Likewise.
19125         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19126         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19127         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19128         * tests/unictype/test-pr_id_continue.c: Likewise.
19129         * tests/unictype/test-pr_id_start.c: Likewise.
19130         * tests/unictype/test-pr_ideographic.c: Likewise.
19131         * tests/unictype/test-pr_lowercase.c: Likewise.
19132         * tests/unictype/test-pr_math.c: Likewise.
19133         * tests/unictype/test-pr_numeric.c: Likewise.
19134         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19135         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19136         * tests/unictype/test-pr_other_math.c: Likewise.
19137         * tests/unictype/test-pr_punctuation.c: Likewise.
19138         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19139         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19140         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19141         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19142         * tests/unictype/test-pr_uppercase.c: Likewise.
19143         * tests/unictype/test-pr_xid_continue.c: Likewise.
19144         * tests/unictype/test-pr_xid_start.c: Likewise.
19145         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19146         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19147         changes.
19148         * lib/unictype/categ_Cc.h: Likewise.
19149         * lib/unictype/categ_Cf.h: Likewise.
19150         * lib/unictype/categ_Co.h: Likewise.
19151         * lib/unictype/categ_Cs.h: Likewise.
19152         * lib/unictype/categ_Lt.h: Likewise.
19153         * lib/unictype/categ_Nl.h: Likewise.
19154         * lib/unictype/categ_Pc.h: Likewise.
19155         * lib/unictype/categ_Pd.h: Likewise.
19156         * lib/unictype/categ_Pe.h: Likewise.
19157         * lib/unictype/categ_Pf.h: Likewise.
19158         * lib/unictype/categ_Pi.h: Likewise.
19159         * lib/unictype/categ_Ps.h: Likewise.
19160         * lib/unictype/categ_Z.h: Likewise.
19161         * lib/unictype/categ_Zl.h: Likewise.
19162         * lib/unictype/categ_Zp.h: Likewise.
19163         * lib/unictype/categ_Zs.h: Likewise.
19164         * lib/unictype/ctype_blank.h: Likewise.
19165         * lib/unictype/ctype_cntrl.h: Likewise.
19166         * lib/unictype/ctype_digit.h: Likewise.
19167         * lib/unictype/ctype_space.h: Likewise.
19168         * lib/unictype/ctype_xdigit.h: Likewise.
19169         * lib/unictype/mirror.h: Likewise.
19170         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19171         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19172         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19173         * lib/unictype/pr_bidi_control.h: Likewise.
19174         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19175         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19176         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19177         * lib/unictype/pr_bidi_pdf.h: Likewise.
19178         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19179         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19180         * lib/unictype/pr_dash.h: Likewise.
19181         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19182         * lib/unictype/pr_diacritic.h: Likewise.
19183         * lib/unictype/pr_extender.h: Likewise.
19184         * lib/unictype/pr_hex_digit.h: Likewise.
19185         * lib/unictype/pr_hyphen.h: Likewise.
19186         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19187         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19188         * lib/unictype/pr_ignorable_control.h: Likewise.
19189         * lib/unictype/pr_iso_control.h: Likewise.
19190         * lib/unictype/pr_join_control.h: Likewise.
19191         * lib/unictype/pr_left_of_pair.h: Likewise.
19192         * lib/unictype/pr_line_separator.h: Likewise.
19193         * lib/unictype/pr_logical_order_exception.h: Likewise.
19194         * lib/unictype/pr_non_break.h: Likewise.
19195         * lib/unictype/pr_not_a_character.h: Likewise.
19196         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19197         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19198         * lib/unictype/pr_other_id_start.h: Likewise.
19199         * lib/unictype/pr_other_lowercase.h: Likewise.
19200         * lib/unictype/pr_other_uppercase.h: Likewise.
19201         * lib/unictype/pr_paired_punctuation.h: Likewise.
19202         * lib/unictype/pr_paragraph_separator.h: Likewise.
19203         * lib/unictype/pr_pattern_syntax.h: Likewise.
19204         * lib/unictype/pr_pattern_white_space.h: Likewise.
19205         * lib/unictype/pr_private_use.h: Likewise.
19206         * lib/unictype/pr_quotation_mark.h: Likewise.
19207         * lib/unictype/pr_radical.h: Likewise.
19208         * lib/unictype/pr_soft_dotted.h: Likewise.
19209         * lib/unictype/pr_space.h: Likewise.
19210         * lib/unictype/pr_titlecase.h: Likewise.
19211         * lib/unictype/pr_variation_selector.h: Likewise.
19212         * lib/unictype/pr_white_space.h: Likewise.
19213         * lib/unictype/pr_zero_width.h: Likewise.
19214         * lib/unictype/sy_c_ident.h: Likewise.
19215         * lib/unictype/sy_c_whitespace.h: Likewise.
19216         * lib/unictype/sy_java_whitespace.h: Likewise.
19217         * lib/uninorm/composition-table.gperf: Likewise.
19218         * lib/uninorm/decomposition-table1.h: Likewise.
19219         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19220         LB8.
19221         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19222         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19223         * modules/unictype/*: Bump version number of expected libunistring
19224         version.
19225
19226 2011-01-09  Bruno Haible  <bruno@clisp.org>
19227
19228         Update to Unicode 5.2.0.
19229         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19230         trailing whitespace removed.
19231
19232 2011-01-09  Bruno Haible  <bruno@clisp.org>
19233
19234         New Unicode character properties, from Unicode 5.2.0.
19235         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19236         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19237         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19238         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19239         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19240         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19241         uc_is_property_cased, uc_is_property_case_ignorable,
19242         uc_is_property_changes_when_lowercased,
19243         uc_is_property_changes_when_uppercased,
19244         uc_is_property_changes_when_titlecased,
19245         uc_is_property_changes_when_casefolded,
19246         uc_is_property_changes_when_casemapped): New declarations.
19247         * lib/unictype/pr_byname.gperf: Add the new properties.
19248         * modules/unictype/property-byname (Depends-on): Depend on the new
19249         properties modules.
19250         * modules/unictype/property-all (Depends-on): Likewise.
19251         * MODULES.html.sh (Unicode string functions): Add
19252         unictype/property-case-ignorable, unictype/property-cased,
19253         unictype/property-changes-when-casefolded,
19254         unictype/property-changes-when-casemapped,
19255         unictype/property-changes-when-lowercased,
19256         unictype/property-changes-when-titlecased,
19257         unictype/property-changes-when-uppercased.
19258
19259         New module 'unictype/property-changes-when-casemapped'.
19260         * modules/unictype/property-changes-when-casemapped: New file.
19261         * lib/unictype/pr_changes_when_casemapped.c: New file.
19262         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19263         generated by gen-uni-tables.
19264         * modules/unictype/property-changes-when-casemapped-tests: New file.
19265         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19266         automatically generated by gen-uni-tables.
19267
19268         New module 'unictype/property-changes-when-casefolded'.
19269         * modules/unictype/property-changes-when-casefolded: New file.
19270         * lib/unictype/pr_changes_when_casefolded.c: New file.
19271         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19272         generated by gen-uni-tables.
19273         * modules/unictype/property-changes-when-casefolded-tests: New file.
19274         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19275         automatically generated by gen-uni-tables.
19276
19277         New module 'unictype/property-changes-when-titlecased'.
19278         * modules/unictype/property-changes-when-titlecased: New file.
19279         * lib/unictype/pr_changes_when_titlecased.c: New file.
19280         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19281         generated by gen-uni-tables.
19282         * modules/unictype/property-changes-when-titlecased-tests: New file.
19283         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19284         automatically generated by gen-uni-tables.
19285
19286         New module 'unictype/property-changes-when-uppercased'.
19287         * modules/unictype/property-changes-when-uppercased: New file.
19288         * lib/unictype/pr_changes_when_uppercased.c: New file.
19289         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19290         generated by gen-uni-tables.
19291         * modules/unictype/property-changes-when-uppercased-tests: New file.
19292         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19293         automatically generated by gen-uni-tables.
19294
19295         New module 'unictype/property-changes-when-lowercased'.
19296         * modules/unictype/property-changes-when-lowercased: New file.
19297         * lib/unictype/pr_changes_when_lowercased.c: New file.
19298         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19299         generated by gen-uni-tables.
19300         * modules/unictype/property-changes-when-lowercased-tests: New file.
19301         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19302         automatically generated by gen-uni-tables.
19303
19304         New module 'unictype/property-case-ignorable'.
19305         * modules/unictype/property-case-ignorable: New file.
19306         * lib/unictype/pr_case_ignorable.c: New file.
19307         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19308         by gen-uni-tables.
19309         * modules/unictype/property-case-ignorable-tests: New file.
19310         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19311         generated by gen-uni-tables.
19312
19313         New module 'unictype/property-cased'.
19314         * modules/unictype/property-cased: New file.
19315         * lib/unictype/pr_cased.c: New file.
19316         * lib/unictype/pr_cased.h: New file, automatically generated by
19317         gen-uni-tables.
19318         * modules/unictype/property-cased-tests: New file.
19319         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19320         gen-uni-tables.
19321
19322 2011-01-09  Bruno Haible  <bruno@clisp.org>
19323
19324         Update to Unicode 5.2.0.
19325         * lib/gen-uni-tables.c (output_predicate, output_category,
19326         output_combclass, output_bidi_category, output_decimal_digit_test,
19327         output_decimal_digit, output_digit_test, output_digit,
19328         output_numeric_test, output_numeric, output_mirror, output_scripts,
19329         output_scripts_byname, output_blocks, output_ident_category): Fix
19330         comment header.
19331         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
19332         get_wbp.
19333         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
19334         items.
19335         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
19336         Changes_When_Lowercased, Changes_When_Uppercased,
19337         Changes_When_Titlecased, Changes_When_Casefolded,
19338         Changes_When_Casemapped.
19339         (is_property_alphabetic, is_property_default_ignorable_code_point):
19340         Update for Unicode 5.2.0.
19341         (is_property_cased, is_property_case_ignorable,
19342         is_property_changes_when_lowercased,
19343         is_property_changes_when_uppercased,
19344         is_property_changes_when_titlecased,
19345         is_property_changes_when_casefolded,
19346         is_property_changes_when_casemapped): New functions.
19347         (output_properties): Output also the properties cased, case_ignorable,
19348         changes_when_lowercased, changes_when_uppercased,
19349         changes_when_titlecased, changes_when_casefolded,
19350         changes_when_casemapped.
19351         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
19352         Unicode TR#11 revision 17 -> 19.
19353         (LBP_CP): New enumeration value.
19354         (LBP_*): Adjust values accordingly.
19355         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19356         TR#14 revision 22 -> 24.
19357         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
19358         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
19359         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
19360         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
19361         is_WBP_MIDLETTER.
19362         (output_composition_tables): Allow for 24 bits instead of 16 bits in
19363         the code1 and code2 of each composition rule.
19364         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
19365         * lib/unicase/ignorable.h: Likewise.
19366         * lib/unicase/tocasefold.h: Likewise.
19367         * lib/unicase/tolower.h: Likewise.
19368         * lib/unicase/totitle.h: Likewise.
19369         * lib/unicase/toupper.h: Likewise.
19370         * lib/unictype/bidi_of.h: Likewise.
19371         * lib/unictype/blocks.h: Likewise.
19372         * lib/unictype/categ_C.h: Likewise.
19373         * lib/unictype/categ_Cf.h: Likewise.
19374         * lib/unictype/categ_Cn.h: Likewise.
19375         * lib/unictype/categ_L.h: Likewise.
19376         * lib/unictype/categ_Ll.h: Likewise.
19377         * lib/unictype/categ_Lm.h: Likewise.
19378         * lib/unictype/categ_Lo.h: Likewise.
19379         * lib/unictype/categ_Lu.h: Likewise.
19380         * lib/unictype/categ_M.h: Likewise.
19381         * lib/unictype/categ_Mc.h: Likewise.
19382         * lib/unictype/categ_Mn.h: Likewise.
19383         * lib/unictype/categ_N.h: Likewise.
19384         * lib/unictype/categ_Nd.h: Likewise.
19385         * lib/unictype/categ_Nl.h: Likewise.
19386         * lib/unictype/categ_No.h: Likewise.
19387         * lib/unictype/categ_P.h: Likewise.
19388         * lib/unictype/categ_Pd.h: Likewise.
19389         * lib/unictype/categ_Po.h: Likewise.
19390         * lib/unictype/categ_S.h: Likewise.
19391         * lib/unictype/categ_Sc.h: Likewise.
19392         * lib/unictype/categ_So.h: Likewise.
19393         * lib/unictype/categ_of.h: Likewise.
19394         * lib/unictype/combining.h: Likewise.
19395         * lib/unictype/ctype_alnum.h: Likewise.
19396         * lib/unictype/ctype_alpha.h: Likewise.
19397         * lib/unictype/ctype_graph.h: Likewise.
19398         * lib/unictype/ctype_lower.h: Likewise.
19399         * lib/unictype/ctype_print.h: Likewise.
19400         * lib/unictype/ctype_punct.h: Likewise.
19401         * lib/unictype/ctype_upper.h: Likewise.
19402         * lib/unictype/decdigit.h: Likewise.
19403         * lib/unictype/digit.h: Likewise.
19404         * lib/unictype/numeric.h: Likewise.
19405         * lib/unictype/pr_alphabetic.h: Likewise.
19406         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19407         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19408         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19409         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19410         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19411         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19412         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19413         * lib/unictype/pr_combining.h: Likewise.
19414         * lib/unictype/pr_composite.h: Likewise.
19415         * lib/unictype/pr_currency_symbol.h: Likewise.
19416         * lib/unictype/pr_dash.h: Likewise.
19417         * lib/unictype/pr_decimal_digit.h: Likewise.
19418         * lib/unictype/pr_deprecated.h: Likewise.
19419         * lib/unictype/pr_diacritic.h: Likewise.
19420         * lib/unictype/pr_extender.h: Likewise.
19421         * lib/unictype/pr_grapheme_base.h: Likewise.
19422         * lib/unictype/pr_grapheme_extend.h: Likewise.
19423         * lib/unictype/pr_grapheme_link.h: Likewise.
19424         * lib/unictype/pr_id_continue.h: Likewise.
19425         * lib/unictype/pr_id_start.h: Likewise.
19426         * lib/unictype/pr_ideographic.h: Likewise.
19427         * lib/unictype/pr_ignorable_control.h: Likewise.
19428         * lib/unictype/pr_logical_order_exception.h: Likewise.
19429         * lib/unictype/pr_lowercase.h: Likewise.
19430         * lib/unictype/pr_numeric.h: Likewise.
19431         * lib/unictype/pr_other_alphabetic.h: Likewise.
19432         * lib/unictype/pr_punctuation.h: Likewise.
19433         * lib/unictype/pr_sentence_terminal.h: Likewise.
19434         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19435         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19436         * lib/unictype/pr_unified_ideograph.h: Likewise.
19437         * lib/unictype/pr_uppercase.h: Likewise.
19438         * lib/unictype/pr_xid_continue.h: Likewise.
19439         * lib/unictype/pr_xid_start.h: Likewise.
19440         * lib/unictype/pr_zero_width.h: Likewise.
19441         * lib/unictype/scripts.h: Likewise.
19442         * lib/unictype/scripts_byname.gperf: Likewise.
19443         * lib/unictype/sy_java_ident.h: Likewise.
19444         * lib/unigbrk/gbrkprop.h: Likewise.
19445         * lib/unilbrk/lbrkprop1.h: Likewise.
19446         * lib/unilbrk/lbrkprop2.h: Likewise.
19447         * lib/unilbrk/lbrktables.h: Likewise.
19448         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
19449         LBP_CP. Implement rule LB30.
19450         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
19451         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
19452         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
19453         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
19454         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
19455         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
19456         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
19457         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
19458         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
19459         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
19460         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
19461         bits instead of 16 bits in the code1 and code2 of each composition
19462         rule.
19463         (uc_composition): Update for Unicode 5.2.0.
19464         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
19465         * lib/uninorm/decomposition-table2.h: Likewise.
19466         * lib/uniwbrk/wbrkprop.h: Likewise.
19467         * tests/unicase/test-cased.c: Likewise.
19468         * tests/unicase/test-ignorable.c: Likewise.
19469         * tests/unicase/test-uc_tolower.c: Likewise.
19470         * tests/unicase/test-uc_totitle.c: Likewise.
19471         * tests/unicase/test-uc_toupper.c: Likewise.
19472         * tests/unictype/test-categ_C.c: Likewise.
19473         * tests/unictype/test-categ_Cf.c: Likewise.
19474         * tests/unictype/test-categ_Cn.c: Likewise.
19475         * tests/unictype/test-categ_L.c: Likewise.
19476         * tests/unictype/test-categ_Ll.c: Likewise.
19477         * tests/unictype/test-categ_Lm.c: Likewise.
19478         * tests/unictype/test-categ_Lo.c: Likewise.
19479         * tests/unictype/test-categ_Lu.c: Likewise.
19480         * tests/unictype/test-categ_M.c: Likewise.
19481         * tests/unictype/test-categ_Mc.c: Likewise.
19482         * tests/unictype/test-categ_Mn.c: Likewise.
19483         * tests/unictype/test-categ_N.c: Likewise.
19484         * tests/unictype/test-categ_Nd.c: Likewise.
19485         * tests/unictype/test-categ_Nl.c: Likewise.
19486         * tests/unictype/test-categ_No.c: Likewise.
19487         * tests/unictype/test-categ_P.c: Likewise.
19488         * tests/unictype/test-categ_Pd.c: Likewise.
19489         * tests/unictype/test-categ_Po.c: Likewise.
19490         * tests/unictype/test-categ_S.c: Likewise.
19491         * tests/unictype/test-categ_Sc.c: Likewise.
19492         * tests/unictype/test-categ_So.c: Likewise.
19493         * tests/unictype/test-ctype_alnum.c: Likewise.
19494         * tests/unictype/test-ctype_alpha.c: Likewise.
19495         * tests/unictype/test-ctype_graph.c: Likewise.
19496         * tests/unictype/test-ctype_lower.c: Likewise.
19497         * tests/unictype/test-ctype_print.c: Likewise.
19498         * tests/unictype/test-ctype_punct.c: Likewise.
19499         * tests/unictype/test-ctype_upper.c: Likewise.
19500         * tests/unictype/test-decdigit.h: Likewise.
19501         * tests/unictype/test-digit.h: Likewise.
19502         * tests/unictype/test-numeric.h: Likewise.
19503         * tests/unictype/test-pr_alphabetic.c: Likewise.
19504         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19505         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19506         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
19507         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19508         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19509         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19510         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19511         * tests/unictype/test-pr_combining.c: Likewise.
19512         * tests/unictype/test-pr_composite.c: Likewise.
19513         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19514         * tests/unictype/test-pr_dash.c: Likewise.
19515         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19516         * tests/unictype/test-pr_deprecated.c: Likewise.
19517         * tests/unictype/test-pr_diacritic.c: Likewise.
19518         * tests/unictype/test-pr_extender.c: Likewise.
19519         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19520         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19521         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19522         * tests/unictype/test-pr_id_continue.c: Likewise.
19523         * tests/unictype/test-pr_id_start.c: Likewise.
19524         * tests/unictype/test-pr_ideographic.c: Likewise.
19525         * tests/unictype/test-pr_ignorable_control.c: Likewise.
19526         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
19527         * tests/unictype/test-pr_lowercase.c: Likewise.
19528         * tests/unictype/test-pr_numeric.c: Likewise.
19529         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19530         * tests/unictype/test-pr_punctuation.c: Likewise.
19531         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19532         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19533         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19534         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19535         * tests/unictype/test-pr_uppercase.c: Likewise.
19536         * tests/unictype/test-pr_xid_continue.c: Likewise.
19537         * tests/unictype/test-pr_xid_start.c: Likewise.
19538         * tests/unictype/test-pr_zero_width.c: Likewise.
19539         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19540         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
19541         changed behaviour: line breaking is now disallowed between a letter
19542         or '=' and '('.
19543         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19544         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19545         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
19546         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
19547         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19548         lib/uniwidth/width.c.
19549         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
19550         without comments, but with the original copyright notice.
19551         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19552         changes.
19553         * lib/unictype/categ_Cc.h: Likewise.
19554         * lib/unictype/categ_Co.h: Likewise.
19555         * lib/unictype/categ_Cs.h: Likewise.
19556         * lib/unictype/categ_Lt.h: Likewise.
19557         * lib/unictype/categ_Me.h: Likewise.
19558         * lib/unictype/categ_Pc.h: Likewise.
19559         * lib/unictype/categ_Pe.h: Likewise.
19560         * lib/unictype/categ_Pf.h: Likewise.
19561         * lib/unictype/categ_Pi.h: Likewise.
19562         * lib/unictype/categ_Ps.h: Likewise.
19563         * lib/unictype/categ_Sk.h: Likewise.
19564         * lib/unictype/categ_Sm.h: Likewise.
19565         * lib/unictype/categ_Z.h: Likewise.
19566         * lib/unictype/categ_Zl.h: Likewise.
19567         * lib/unictype/categ_Zp.h: Likewise.
19568         * lib/unictype/categ_Zs.h: Likewise.
19569         * lib/unictype/ctype_blank.h: Likewise.
19570         * lib/unictype/ctype_cntrl.h: Likewise.
19571         * lib/unictype/ctype_digit.h: Likewise.
19572         * lib/unictype/ctype_space.h: Likewise.
19573         * lib/unictype/ctype_xdigit.h: Likewise.
19574         * lib/unictype/mirror.h: Likewise.
19575         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19576         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19577         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19578         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19579         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19580         * lib/unictype/pr_bidi_control.h: Likewise.
19581         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19582         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19583         * lib/unictype/pr_bidi_pdf.h: Likewise.
19584         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19585         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19586         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19587         * lib/unictype/pr_format_control.h: Likewise.
19588         * lib/unictype/pr_hex_digit.h: Likewise.
19589         * lib/unictype/pr_hyphen.h: Likewise.
19590         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19591         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19592         * lib/unictype/pr_iso_control.h: Likewise.
19593         * lib/unictype/pr_join_control.h: Likewise.
19594         * lib/unictype/pr_left_of_pair.h: Likewise.
19595         * lib/unictype/pr_line_separator.h: Likewise.
19596         * lib/unictype/pr_math.h: Likewise.
19597         * lib/unictype/pr_non_break.h: Likewise.
19598         * lib/unictype/pr_not_a_character.h: Likewise.
19599         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19600         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19601         * lib/unictype/pr_other_id_continue.h: Likewise.
19602         * lib/unictype/pr_other_id_start.h: Likewise.
19603         * lib/unictype/pr_other_lowercase.h: Likewise.
19604         * lib/unictype/pr_other_math.h: Likewise.
19605         * lib/unictype/pr_other_uppercase.h: Likewise.
19606         * lib/unictype/pr_paired_punctuation.h: Likewise.
19607         * lib/unictype/pr_paragraph_separator.h: Likewise.
19608         * lib/unictype/pr_pattern_syntax.h: Likewise.
19609         * lib/unictype/pr_pattern_white_space.h: Likewise.
19610         * lib/unictype/pr_private_use.h: Likewise.
19611         * lib/unictype/pr_quotation_mark.h: Likewise.
19612         * lib/unictype/pr_radical.h: Likewise.
19613         * lib/unictype/pr_soft_dotted.h: Likewise.
19614         * lib/unictype/pr_space.h: Likewise.
19615         * lib/unictype/pr_titlecase.h: Likewise.
19616         * lib/unictype/pr_variation_selector.h: Likewise.
19617         * lib/unictype/pr_white_space.h: Likewise.
19618         * lib/unictype/sy_c_ident.h: Likewise.
19619         * lib/unictype/sy_c_whitespace.h: Likewise.
19620         * lib/unictype/sy_java_whitespace.h: Likewise.
19621         * modules/uni*/*: Bump version number of expected libunistring version.
19622         Reported by Simon Josefsson.
19623
19624 2011-01-09  Karl Heuer  <kwzh@gnu.org>
19625
19626         useless-if-before-free: fix typo in --help and make the internal,
19627         automatic version date update process work once again.
19628         --help output contained a NUL character instead of the
19629         backslash-zero that was intended.  Also, the "must lie within
19630         the first 8 lines" line is on line 9, and hence not getting
19631         automatically updated.
19632         * build-aux/useless-if-before-free: Fix the former by adding a
19633         backslash, and the latter by condensing the three lines of what-it-does
19634         to a single line, leaving one line of slack for the future.
19635
19636 2011-01-09  Bruno Haible  <bruno@clisp.org>
19637
19638         uniwidth/width: Fix width of U+1D173..U+1D17A.
19639         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
19640         symbolic_width, output_width_property_test): New functions.
19641         (main): Invoke output_nonspacing_property, output_width_property_test.
19642         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
19643         U+1D173..U+1D17A.
19644         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
19645         1.
19646         * modules/uniwidth/*: Bump version number of expected libunistring
19647         version.
19648         * modules/unilbrk/*: Likewise.
19649
19650 2011-01-08  Bruno Haible  <bruno@clisp.org>
19651
19652         uninorm tests: Preserve copyright of Unicode data file.
19653         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
19654         Mention modifications.
19655
19656 2011-01-08  Bruno Haible  <bruno@clisp.org>
19657
19658         gen-uni-tables: Prepare for Unicode 5.2.0.
19659         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
19660         (debug_output_lbp, output_lbp): Update.
19661
19662 2011-01-08  Bruno Haible  <bruno@clisp.org>
19663
19664         unilbrk: Clarify gen-uni-tables.c code.
19665         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
19666         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
19667         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
19668
19669 2011-01-07  Bruno Haible  <bruno@clisp.org>
19670
19671         strtod: Restore errno when successfully parsing Infinity or NaN.
19672         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
19673         restore the original errno.
19674
19675 2011-01-07  Bruno Haible  <bruno@clisp.org>
19676
19677         remove test: Avoid failure on HP-UX 11.
19678         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
19679
19680 2011-01-07  Bruno Haible  <bruno@clisp.org>
19681
19682         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
19683         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
19684         error code.
19685
19686 2011-01-07  Pádraig Brady <P@draigBrady.com>
19687
19688         ignore-value: fixup comments, and add Eric Blake
19689         as an author since he rewrote the macros.
19690         * lib/ignore-value.h (ignore_value):  State that
19691         we now support aggregates.  Also specify exactly
19692         when the GCC warn_unused_result feature was added.
19693
19694 2011-01-06  Eric Blake  <eblake@redhat.com>
19695
19696         ignore-value: support aggregate types
19697         * lib/ignore-value.h (ignore_value): Provide separate gcc
19698         definition.
19699         * modules/ignore-value-tests: New test module.
19700         * tests/test-ignore-value.c: New test.
19701
19702         maint.mk: improve sc_prohibit_strcmp regex
19703         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
19704         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
19705         definition of STRNEQ.
19706
19707         signal: work around Haiku issue with SIGBUS
19708         * lib/siglist.h: Add comment.
19709         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
19710         strsignal's favoring of SIGSEGV.
19711         * tests/test-signal.c (main): Avoid test failure.
19712         * doc/posix-headers/signal.texi (signal.h): Document the issue.
19713         Reported by Scott McCreary.
19714
19715         maint.mk: add pre-release check to ensure submodule commits are public
19716         * top/maint.mk (public-submodule-commit): New rule.
19717         (submodule-checks): New variable.
19718         (alpha beta stable): Depend on the variable.
19719
19720 2011-01-05  Pádraig Brady <P@draigBrady.com>
19721         and Jim Meyering  <meyering@redhat.com>
19722
19723         ignore-value: make ignore_value more generic; deprecate ignore_ptr
19724         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
19725         (ATTRIBUTE_DEPRECATED): Define.
19726         (_ignore_case): New function.
19727         (ignore_value): New macro, to replace the old function.
19728         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
19729         * modules/ignore-value (Depends-on): Add stdint.
19730
19731 2011-01-04  Eric Blake  <eblake@redhat.com>
19732
19733         doc: regenerate INSTALL
19734         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
19735         @firstparagraphindent support, now that autoconf dropped it.
19736         (INSTALL_PRELUDE): Reinstate old macro.
19737         * doc/install.texi: Resync from autoconf.
19738         * doc/INSTALL: Reflect recent autoconf update.
19739         * doc/INSTALL.ISO: Likewise.
19740         * doc/INSTALL.UTF-8: Likewise.
19741         Reported by Karl Berry.
19742
19743 2011-01-04  Bruce Korb  <address@hidden>
19744
19745         git-version-gen: avoid a sub-shell
19746         * build-aux/git-version-gen: Redirect stderr in `...` via
19747         "exec 2>...", rather than via an added sub-shell.
19748
19749 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
19750
19751         git-version-gen: use (...) rather than sh -c '...'
19752         * build-aux/git-version-gen: Rather than hard-coding a shell's name
19753         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
19754
19755 2011-01-03  Jim Meyering  <meyering@redhat.com>
19756
19757         git-version-gen: convert leading TABs to spaces
19758         * build-aux/git-version-gen: Expand leading TABs.
19759
19760         git-version-gen: handle failed "git rev-list"
19761         * build-aux/git-version-gen: Rather than leaking a "fatal" error
19762         from git and proceeding as if it had succeeded but printed no SHA1
19763         checksums, suppress the diagnostic and handle the failure.
19764         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
19765
19766         git-version-gen: include command name in one more diagnostic
19767         * build-aux/git-version-gen: When the required .tarball-version file
19768         was missing or unreadable, you might see the diagnostic from "cat",
19769         but no trace of the name of the invoking script.  Now, you still see
19770         the diagnostic from cat, but also get one from "git-version-gen: ".
19771         Inspired by a patch from Bruce Korb.
19772
19773         update-copyright: adjust test to match changed code
19774         * tests/test-update-copyright.sh: Change test's expected output
19775         to match new actual output.
19776
19777 2011-01-02  Bruno Haible  <bruno@clisp.org>
19778
19779         getlogin_r: Avoid test failure on HP-UX 11.
19780         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
19781         ERANGE when the second argument is zero.
19782         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
19783         portability problem.
19784
19785 2011-01-02  Bruce Korb  <bkorb@gnu.org>
19786
19787         * build-aux/update-copyright: doc Simon's changes
19788
19789 2011-01-02  Simon Josefsson  <simon@josefsson.org>
19790
19791         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
19792         environment variable.
19793
19794 2011-01-02  Bruno Haible  <bruno@clisp.org>
19795
19796         unigbrk: Avoid gcc warnings.
19797         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
19798         unused variable.
19799         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
19800         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
19801         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
19802         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
19803         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
19804         Change type of first argument to 'const char *'.
19805         (main): Remove unused variable.
19806         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
19807         type of first argument to 'const char *'.
19808         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
19809         Likewise.
19810         (main): Change type of variable 's'.
19811         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
19812         to 'int'.
19813
19814 2011-01-02  Bruno Haible  <bruno@clisp.org>
19815
19816         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
19817         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
19818         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
19819         bug.
19820         * lib/pwrite.c: Undo 2010-12-31 patch.
19821         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
19822
19823 2011-01-02  Bruno Haible  <bruno@clisp.org>
19824
19825         pread: Fix test whether it works.
19826         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
19827
19828 2011-01-02  Bruno Haible  <bruno@clisp.org>
19829
19830         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
19831         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
19832         ends in "6". Don't require a specific month name. Try also the locale
19833         names found on HP-UX 11 and Solaris 7.
19834
19835 2011-01-02  Bruno Haible  <bruno@clisp.org>
19836
19837         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
19838         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
19839         C linkage.
19840         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
19841
19842 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19843
19844         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
19845         for consistency, since the "cluster" term is not used elsewhere.
19846         * lib/unigbrk.in.h: Update name.
19847         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
19848         * lib/unigbrk/u16-grapheme-next.c: Update name.
19849         * lib/unigbrk/u16-grapheme-prev.c: Update name.
19850         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
19851         * lib/unigbrk/u32-grapheme-next.c: Update name.
19852         * lib/unigbrk/u32-grapheme-prev.c: Update name.
19853         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
19854         * lib/unigbrk/u8-grapheme-next.c: Update name.
19855         * lib/unigbrk/u8-grapheme-prev.c: Update name.
19856         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
19857         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
19858         Suggested by Bruno Haible.
19859
19860 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19861
19862         Remove module 'u8-grapheme-len' as too redundant with
19863         'u8-grapheme-next'.
19864         * modules/unigbrk/u8-grapheme-len: Delete file.
19865         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
19866         * lib/unigbrk.in.h: Remove prototype for deleted function.
19867         * lib/unigbrk/u8-grapheme-len.c: Delete file.
19868         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
19869
19870         Remove module 'u16-grapheme-len' as too redundant with
19871         'u16-grapheme-next'.
19872         * modules/unigbrk/u16-grapheme-len: Delete file.
19873         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
19874         * lib/unigbrk.in.h: Remove prototype for deleted function.
19875         * lib/unigbrk/u16-grapheme-len.c: Delete file.
19876         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
19877
19878         Remove module 'u32-grapheme-len' as too redundant with
19879         'u32-grapheme-next'.
19880         * modules/unigbrk/u32-grapheme-len: Delete file.
19881         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
19882         * lib/unigbrk.in.h: Remove prototype for deleted function.
19883         * lib/unigbrk/u32-grapheme-len.c: Delete file.
19884         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
19885
19886         Suggested by Bruno Haible.
19887
19888 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
19889
19890         * unigbrk.in.h: Fix typo: "ben" => "been".
19891         Reported by Bruno Haible.
19892
19893 2011-01-01  Jim Meyering  <meyering@redhat.com>
19894
19895         maint: update almost all copyright ranges to include 2011
19896         Run the new "make update-copyright" rule.
19897
19898 2011-01-01  Jim Meyering  <meyering@redhat.com>
19899
19900         maint: update-copyright: exempt doc/INSTALL*
19901         * Makefile (update-copyright): Also exclude doc/INSTALL*,
19902         since they are generated.  Suggested by Bruno Haible.
19903
19904 2011-01-01  Jim Meyering  <meyering@redhat.com>
19905
19906         maint: refine the update-copyright rule
19907         * Makefile (update-copyright): Also exclude any file that includes
19908         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
19909         code that merely generates the comment.
19910
19911 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19912
19913         New module 'u8-grapheme-len'.
19914         * modules/unigbrk/u8-grapheme-len: New file.
19915         * modules/unigbrk/u8-grapheme-len-tests: New file.
19916         * lib/unigbrk.in.h: Add prototype for new function.
19917         * lib/unigbrk/u8-grapheme-len.c: New file.
19918         * tests/unigbrk/test-u8-grapheme-len.c: New file.
19919
19920         New module 'u16-grapheme-len'.
19921         * modules/unigbrk/u16-grapheme-len: New file.
19922         * modules/unigbrk/u16-grapheme-len-tests: New file.
19923         * lib/unigbrk.in.h: Add prototype for new function.
19924         * lib/unigbrk/u16-grapheme-len.c: New file.
19925         * tests/unigbrk/test-u16-grapheme-len.c: New file.
19926
19927         New module 'u32-grapheme-len'.
19928         * modules/unigbrk/u32-grapheme-len: New file.
19929         * modules/unigbrk/u32-grapheme-len-tests: New file.
19930         * lib/unigbrk.in.h: Add prototype for new function.
19931         * lib/unigbrk/u32-grapheme-len.c: New file.
19932         * tests/unigbrk/test-u32-grapheme-len.c: New file.
19933
19934         New module 'u8-grapheme-next'.
19935         * modules/unigbrk/u8-grapheme-next: New file.
19936         * modules/unigbrk/u8-grapheme-next-tests: New file.
19937         * lib/unigbrk.in.h: Add prototype for new function.
19938         * lib/unigbrk/u8-grapheme-next.c: New file.
19939         * tests/unigbrk/test-u8-grapheme-next.c: New file.
19940
19941         New module 'u16-grapheme-next'.
19942         * modules/unigbrk/u16-grapheme-next: New file.
19943         * modules/unigbrk/u16-grapheme-next-tests: New file.
19944         * lib/unigbrk.in.h: Add prototype for new function.
19945         * lib/unigbrk/u16-grapheme-next.c: New file.
19946         * tests/unigbrk/test-u16-grapheme-next.c: New file.
19947
19948         New module 'u32-grapheme-next'.
19949         * modules/unigbrk/u32-grapheme-next: New file.
19950         * modules/unigbrk/u32-grapheme-next-tests: New file.
19951         * lib/unigbrk.in.h: Add prototype for new function.
19952         * lib/unigbrk/u32-grapheme-next.c: New file.
19953         * tests/unigbrk/test-u32-grapheme-next.c: New file.
19954
19955         New module 'u8-grapheme-prev'.
19956         * modules/unigbrk/u8-grapheme-prev: New file.
19957         * modules/unigbrk/u8-grapheme-prev-tests: New file.
19958         * lib/unigbrk.in.h: Add prototype for new function.
19959         * lib/unigbrk/u8-grapheme-prev.c: New file.
19960         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
19961
19962         New module 'u16-grapheme-prev'.
19963         * modules/unigbrk/u16-grapheme-prev: New file.
19964         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19965         * lib/unigbrk.in.h: Add prototype for new function.
19966         * lib/unigbrk/u16-grapheme-prev.c: New file.
19967         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19968
19969         New module 'u32-grapheme-prev'.
19970         * modules/unigbrk/u32-grapheme-prev: New file.
19971         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19972         * lib/unigbrk.in.h: Add prototype for new function.
19973         * lib/unigbrk/u32-grapheme-prev.c: New file.
19974         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19975
19976         New module 'u8-grapheme-breaks'.
19977         * modules/unigbrk/u8-grapheme-breaks: New file.
19978         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19979         * lib/unigbrk.in.h: Add prototype for new function.
19980         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19981         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19982
19983         New module 'u16-grapheme-breaks'.
19984         * modules/unigbrk/u16-grapheme-breaks: New file.
19985         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19986         * lib/unigbrk.in.h: Add prototype for new function.
19987         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19988         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19989
19990         New module 'u32-grapheme-breaks'.
19991         * modules/unigbrk/u32-grapheme-breaks: New file.
19992         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19993         * lib/unigbrk.in.h: Add prototype for new function.
19994         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19995         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19996
19997         New module 'ulc-grapheme-breaks'.
19998         * modules/unigbrk/ulc-grapheme-breaks: New file.
19999         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20000         * m4/locale-ar.m4: New file.
20001         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20002         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20003         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20004
20005 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20006
20007         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20008         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20009         modified how this file was generated before I initially submitted
20010         the module, but failed to regenerate it.  This meant that several
20011         of the level2 entries were wrong.
20012         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20013         Remove the division-by-2 that is folded into the table now that
20014         gbrkprop.h has been regenerated properly.  Now -1 entries are
20015         handled correctly.
20016
20017         New module 'unigbrk/uc-gbrk-prop-tests'.
20018         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20019         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20020         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20021         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20022
20023 2011-01-01  Bruno Haible  <bruno@clisp.org>
20024
20025         Avoid use of hexadecimal escapes.
20026         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20027         instead of hexadecimal escapes.
20028
20029 2011-01-01  Jim Meyering  <meyering@redhat.com>
20030
20031         maint: new rule to update copyright year ranges
20032         * Makefile (update-copyright): New rule.
20033
20034         maint: indent with TABs in Makefile
20035         * Makefile: Expand leading sequences of spaces to TABs
20036
20037         version-etc: update the copyright year it reports
20038         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20039
20040 2010-12-31  Bruno Haible  <bruno@clisp.org>
20041
20042         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20043         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20044         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20045         zero.
20046
20047 2010-12-31  Bruno Haible  <bruno@clisp.org>
20048
20049         pwrite: Work around HP-UX 11.11 bug.
20050         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20051         works and set REPLACE_PWRITE if not.
20052         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20053         function.
20054         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20055
20056 2010-12-31  Bruno Haible  <bruno@clisp.org>
20057
20058         pread: Work around HP-UX 11 bugs.
20059         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20060         and set REPLACE_PREAD if not.
20061         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20062
20063 2010-12-31  Eric Blake  <eblake@redhat.com>
20064
20065         nl_langinfo: fix YESEXPR on Irix 6.5
20066         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20067         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20068         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20069         it.
20070
20071 2010-12-31  Bruno Haible  <bruno@clisp.org>
20072
20073         iconv: Document HP-UX 11 bug.
20074         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20075
20076 2010-12-31  Bruno Haible  <bruno@clisp.org>
20077
20078         ldexpl: Fix link error on HP-UX 11.
20079         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20080         LDEXPL_LIBM, using $ISNANL_LIBM.
20081
20082 2010-12-31  Eric Blake  <eblake@redhat.com>
20083
20084         ftello: avoid compilation failure with SunStudio c89
20085         * lib/ftello.c (ftello): Use lseek, not llseek.
20086
20087         tests: avoid failing coreutils tests on cygwin
20088         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20089         (create_exe_shims_): Return 0 when skipping.
20090
20091 2010-12-31  Bruno Haible  <bruno@clisp.org>
20092
20093         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20094         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20095
20096 2010-12-31  Bruno Haible  <bruno@clisp.org>
20097
20098         waitpid: Fix link error in C++ mode.
20099         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20100
20101 2010-12-31  Bruno Haible  <bruno@clisp.org>
20102
20103         isnan: Use GCC built-ins when possible.
20104         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20105         __builtin_isnan.
20106         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20107         (isnan): Define using GCC built-ins for GCC >= 4.0.
20108
20109 2010-12-31  Bruno Haible  <bruno@clisp.org>
20110
20111         isnand: Fix mistake.
20112         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20113         __builtin_isnand.
20114
20115 2010-12-31  Bruno Haible  <bruno@clisp.org>
20116
20117         open: Avoid C++ error on HP-UX 11.
20118         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20119
20120 2010-12-31  Bruno Haible  <bruno@clisp.org>
20121
20122         time_r: Add missing declarations on HP-UX 11.
20123         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20124         instead of HAVE_LOCALTIME_R.
20125         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20126         HAVE_LOCALTIME_R always.
20127         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20128         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20129         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20130         HAVE_LOCALTIME_R.
20131         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20132         * doc/posix-functions/localtime_r.texi: Likewise.
20133
20134 2010-12-29  Eric Blake  <eblake@redhat.com>
20135
20136         mountlist: tweak previous commit
20137         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20138         Reported by Paul Eggert.
20139
20140         mountlist: fix local drive detection on cygwin
20141         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20142         that works for cygwin.
20143
20144 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20145
20146         ftoastr, snprintf: ftoastr + snprintf module
20147         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20148         since the snprintf module now should be good enough here.
20149         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20150         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20151         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20152         GNULIB_SNPRINTF only for the test directory, and the latter
20153         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20154         seems to suffice by itself.
20155
20156 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20157
20158         alloca: one step towards thread-safety
20159         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20160         need for a static variable.  All callers changed.  This does not
20161         make the alloca replacement thread-safe, but it's one step.
20162
20163         tests: minor indenting change
20164         * tests/init.sh: Sync from coreutils housekeeping patch
20165         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20166         to keep lines within 80 columns.
20167
20168 2010-12-28  Jim Meyering  <meyering@redhat.com>
20169
20170         regex: don't infloop on persistent failing calloc
20171         * lib/regexec.c (build_trtable): Return failure indication upon
20172         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20173         In glibc, this was fixed for version 2.13:
20174         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20175
20176 2010-12-28  Bruno Haible  <bruno@clisp.org>
20177             Paul Eggert <eggert@cs.ucla.edu>
20178
20179         linkat: Make implementation robust against system behaviour variations.
20180         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20181         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20182         way, and to -2 if it needs a generic runtime test.
20183         * lib/linkat.c (solaris_optimized_link_immediate,
20184         solaris_optimized_link_follow): New functions.
20185         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20186         (check_same_link): Use it.
20187
20188 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20189
20190         New module 'unigbrk/base'.
20191         * modules/unigbrk/base: New file.
20192         * lib/unigbrk.in.h: New file.
20193
20194         New module 'unigbrk/uc-gbrk-prop'.
20195         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20196         * modules/unigbrk/uc-gbrk-prop: New file.
20197         * lib/unigbrk/gbrkprop.h: New file.
20198         * lib/unigbrk/uc-gbrk-prop.c: New file.
20199
20200         New module 'unigbrk/uc-is-grapheme-break'.
20201         * modules/unigbrk/uc-is-grapheme-break: New file.
20202         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20203         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20204         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20205         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20206         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20207
20208         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20209
20210 2010-12-27  Bruno Haible  <bruno@clisp.org>
20211
20212         linkat test: Avoid failure on Solaris 11 2010-11.
20213         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20214
20215 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20216
20217         utimens: work around glibc rounding bug on more platforms
20218         * lib/utimens.c (fdutimens): Work around rounding bug even if
20219         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20220         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20221
20222 2010-12-27  Bruno Haible  <bruno@clisp.org>
20223
20224         select tests: Improve comments.
20225         * tests/test-select.c (do_select): Add comments.
20226
20227 2010-12-27  Bruno Haible  <bruno@clisp.org>
20228
20229         select tests: Safer way of handling timeout.
20230         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20231         at every invocation.
20232
20233 2010-12-27  Bruno Haible  <bruno@clisp.org>
20234
20235         select tests: Use 'bool' where appropriate.
20236         * tests/test-select.c (connect_to_socket): Change argument type to
20237         'bool'.
20238
20239 2010-12-27  Bruno Haible  <bruno@clisp.org>
20240
20241         select tests: Use existing modules.
20242         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20243         (configure.ac): Don't test for unistd.h.
20244         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20245         declared in <unistd.h>.
20246
20247 2010-12-27  Bruno Haible  <bruno@clisp.org>
20248
20249         mbrtowc: Work around a Solaris 7 bug.
20250         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20251         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20252         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20253         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20254         MBRTOWC_NULL_ARG1_BUG.
20255         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20256         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20257         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20258         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20259
20260 2010-12-27  Jim Meyering  <meyering@redhat.com>
20261
20262         read-file.c: tweak syntax
20263         * lib/read-file.c (fread_file): Remove space after "*" in function
20264         definitions.
20265
20266 2010-12-27  Bruno Haible  <bruno@clisp.org>
20267
20268         times test: Avoid gcc warnings on OSF/1.
20269         * tests/test-times.c (main): Cast printf arguments from clock_t to
20270         'long int'.
20271
20272 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20273
20274         utimens: work around glibc rounding bug on older Linux kernels
20275         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20276         on Linux with a glibc whose utimes might not work, then work
20277         around a longstanding glibc bug involving rounding rather than
20278         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20279         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20280
20281 2010-12-26  Bruno Haible  <bruno@clisp.org>
20282
20283         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20284         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20285         _GL_CXXALIAS_SYS.
20286         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20287
20288 2010-12-26  Bruno Haible  <bruno@clisp.org>
20289
20290         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20291         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20292         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20293         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20294         looking for the declaration.
20295         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20296         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20297         problem.
20298         * doc/posix-functions/inet_pton.texi: Likewise.
20299
20300 2010-12-26  Bruno Haible  <bruno@clisp.org>
20301
20302         arpa_inet: Use the common idioms with C++ support.
20303         * lib/arpa_inet.in.h: Include c++defs.h.
20304         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20305         support.
20306         * modules/arpa_inet (Depends-on): Add c++defs.
20307         (Makefile.am): Substitute the contents of c++defs.h.
20308         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20309         * modules/arpa_inet-c++-tests: New file.
20310         * tests/test-arpa_inet-c++.cc: New file.
20311
20312 2010-12-25  Bruno Haible  <bruno@clisp.org>
20313
20314         Fix more C++ link errors on Solaris 8.
20315         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20316         $(LIB_EACCESS).
20317         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20318         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20319         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20320         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20321         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20322
20323 2010-12-25  Bruno Haible  <bruno@clisp.org>
20324
20325         printf-posix: Fix link error when a non-GCC compiler is used.
20326         * lib/stdio.in.h (printf): When not using GCC, override printf
20327         correctly.
20328         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20329
20330 2010-12-25  Bruno Haible  <bruno@clisp.org>
20331
20332         strerror_r-posix: Update doc.
20333         * doc/posix-functions/strerror_r.texi: Update doc about the return
20334         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
20335
20336 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20337
20338         utimens: simplify the logic of the previous change
20339         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
20340         This should not affect whether the test succeeds or fails.
20341
20342         utimens: configure better on hosts with NFS clock skew
20343         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
20344         uses the clock of the local host.  It might use the clock of the
20345         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
20346         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20347
20348 2010-12-25  Bruno Haible  <bruno@clisp.org>
20349
20350         ptsname test: Avoid failure on Solaris.
20351         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
20352         open a pseudo-terminal; don't use BSD-style ptys.
20353         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
20354
20355 2010-12-25  Bruno Haible  <bruno@clisp.org>
20356
20357         ptsname: Avoid ERANGE failure on some systems.
20358         * lib/ptsname.c (buffer): Increase size.
20359
20360 2010-12-25  Bruno Haible  <bruno@clisp.org>
20361
20362         rename, renameat: Avoid test failures at NFS mounted locations.
20363         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
20364         so that subsequent mkdir calls succeed.
20365
20366 2010-12-25  Bruno Haible  <bruno@clisp.org>
20367
20368         iswblank: Fix C++ link error on Solaris 8.
20369         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
20370         _GL_FUNCDECL_SYS.
20371
20372 2010-12-25  Bruno Haible  <bruno@clisp.org>
20373
20374         unistd: Fix C++ link error on Solaris 8.
20375         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
20376
20377 2010-12-25  Bruno Haible  <bruno@clisp.org>
20378
20379         readlink doc: Mention an old glibc bug.
20380         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
20381
20382 2010-12-25  Bruno Haible  <bruno@clisp.org>
20383
20384         fcntl-h: Fix for use of C++ on glibc systems.
20385         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20386         also on glibc systems in C++ mode.
20387         Reported by Gary V. Vaughan <gary@gnu.org>.
20388
20389 2010-12-25  Bruno Haible  <bruno@clisp.org>
20390
20391         roundl-ieee: Make it work on OSF/1 5.1 with cc.
20392         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
20393
20394 2010-12-25  Bruno Haible  <bruno@clisp.org>
20395
20396         truncl-ieee: Make it work on OSF/1 5.1 with cc.
20397         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
20398         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
20399         test whether truncl works according to ISO C 99 with IEC 60559.
20400         * m4/truncl-ieee.m4: New file.
20401         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
20402         m4/signbit.m4.
20403         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
20404
20405 2010-12-25  Bruno Haible  <bruno@clisp.org>
20406
20407         ceill-ieee: Make it work on OSF/1 5.1 with cc.
20408         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
20409         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
20410         test whether ceill works according to ISO C 99 with IEC 60559.
20411         * m4/ceill-ieee.m4: New file.
20412         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
20413         m4/signbit.m4.
20414         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
20415
20416 2010-12-25  Bruno Haible  <bruno@clisp.org>
20417
20418         Ensure all prerequisites of <wchar.h> are included.
20419         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
20420         before <wchar.h>.
20421         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
20422         gl_MBRLEN_NUL_RETVAL): Likewise.
20423         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20424         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
20425         AC_FUNC_MBRTOWC): Likewise.
20426         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20427         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
20428         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20429         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20430         Likewise.
20431         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20432         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
20433         (gl_WCHAR_H): Improve comments.
20434         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
20435
20436 2010-12-25  Bruno Haible  <bruno@clisp.org>
20437
20438         strtok_r: Fix C syntax error in autoconf macro.
20439         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
20440         characters in test program.
20441
20442 2010-12-24  Bruno Haible  <bruno@clisp.org>
20443
20444         ceil, trunc, round: Fix gcc warnings.
20445         * lib/ceil.c (MIN): Undefine before redefining.
20446         * lib/trunc.c (MIN): Likewise.
20447         * lib/round.c (MIN): Likewise.
20448         Include <math.h> first.
20449
20450 2010-12-24  Bruno Haible  <bruno@clisp.org>
20451
20452         select tests: Avoid failures on OSF/1 5.1.
20453         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
20454         failure of closing the last socket; it may fail with ECONNRESET.
20455
20456 2010-12-24  Eric Blake  <eblake@redhat.com>
20457
20458         stdint: avoid HP-UX 10.20 preprocessor bug
20459         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
20460         than #if.
20461         * tests/test-floor2.c (main): Likewise.
20462         Reported by Peter O'Gorman.
20463
20464         pipe: make obsoletion transition easier
20465         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
20466         * modules/pipe (Files): Include revived file.
20467         (Include): Drop reference, to mirror getdate's behavior.
20468
20469 2010-12-24  Bruno Haible  <bruno@clisp.org>
20470
20471         sys_socket: Hide mismatch of declarations on NonStop Kernel.
20472         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
20473         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
20474         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20475
20476 2010-12-24  Bruno Haible  <bruno@clisp.org>
20477
20478         gethostname: Ensure declaration on NonStop Kernel.
20479         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
20480         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20481
20482 2010-12-24  Bruno Haible  <bruno@clisp.org>
20483
20484         sys_select: Ensure all necessary types on NonStop Kernel.
20485         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
20486         include <sys/time.h>.
20487         * doc/posix-headers/sys_select.texi: Mention that it's missing on
20488         NonStop Kernel.
20489         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20490
20491 2010-12-24  Bruno Haible  <bruno@clisp.org>
20492
20493         sys_select: Remove unneeded include.
20494         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
20495         have <sys/select.h>.
20496
20497 2010-12-24  Bruno Haible  <bruno@clisp.org>
20498
20499         gethostname: Provide a fallback for HOST_NAME_MAX.
20500         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
20501         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
20502         instead.
20503         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20504
20505 2010-12-24  Bruno Haible  <bruno@clisp.org>
20506
20507         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
20508         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
20509         (SA_RESTART): Likewise.
20510         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20511
20512 2010-12-24  Bruno Haible  <bruno@clisp.org>
20513
20514         signal: Define NSIG.
20515         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
20516         * tests/test-signal.c (nsig): New variable.
20517         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20518
20519 2010-12-24  Bruno Haible  <bruno@clisp.org>
20520
20521         rename, renameat: Avoid test failures on OSF/1 5.1.
20522         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
20523         alternative error codes.
20524         * tests/test-renameat.c (main): Likewise.
20525
20526 2010-12-24  Bruno Haible  <bruno@clisp.org>
20527
20528         *printf: Detect large precisions bug on Solaris 10/SPARC.
20529         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
20530         by Paul Eggert.
20531         * tests/test-snprintf-posix.h (test_function): Add this test code here
20532         too.
20533         * tests/test-sprintf-posix.h (test_function): Likewise.
20534         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20535         * tests/test-vasprintf-posix.c (test_function): Likewise.
20536         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
20537         around by gnulib.
20538         * doc/posix-functions/printf.texi: Likewise.
20539         * doc/posix-functions/snprintf.texi: Likewise.
20540         * doc/posix-functions/sprintf.texi: Likewise.
20541         * doc/posix-functions/vfprintf.texi: Likewise.
20542         * doc/posix-functions/vprintf.texi: Likewise.
20543         * doc/posix-functions/vsnprintf.texi: Likewise.
20544         * doc/posix-functions/vsprintf.texi: Likewise.
20545         * doc/posix-functions/dprintf.texi: Undo last commit.
20546         * doc/posix-functions/vdprintf.texi: Likewise.
20547
20548 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20549
20550         tests: port test-fdutimensat.c to Solaris 8
20551         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
20552         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
20553         On Solaris 8, it fails with errno == ENOSYS, because there is no
20554         futimens (so it can't use the fd), and there is no lutimens (so it
20555         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
20556
20557         vsnprintf: make more consistent with snprintf; doc fixes
20558
20559         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
20560         the byte count return problem was promoted from the snprintf-posix
20561         to the snprintf module.
20562         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20563         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
20564         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
20565         * tests/test-snprintf.c (main): Check the byte count returned.
20566         * tests/test-vsnprintf.c (main): Likewise.
20567
20568 2010-12-23  Eric Blake  <eblake@redhat.com>
20569
20570         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
20571         * modules/sigpipe (License): Relax license.
20572
20573 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20574
20575         doc: document Solaris printf bug with large float precisions
20576         * doc/posix-functions/dprintf.texi (dprintf):
20577         * doc/posix-functions/fprintf.texi (fprintf):
20578         * doc/posix-functions/printf.texi (printf):
20579         * doc/posix-functions/snprintf.texi (snprintf):
20580         * doc/posix-functions/sprintf.texi (sprintf):
20581         * doc/posix-functions/vdprintf.texi (vdprintf):
20582         * doc/posix-functions/vfprintf.texi (vfprintf):
20583         * doc/posix-functions/vprintf.texi (vprintf):
20584         * doc/posix-functions/vsnprintf.texi (vsnprintf):
20585         * doc/posix-functions/vsprintf.texi (vsprintf):
20586         Mention that these functions mishandle large floating point
20587         precisions on Solaris 10.  The same bug is also present in Solaris
20588         8, and I assume earlier.  This causes "cd gnulib-tests; make
20589         check" to fail on Solaris 8 (and I assume, later) when building
20590         the latest coreutils, in test-vasprintf-posix's call to
20591         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
20592         the wide flavors (e.g., wprintf) so this patch just updates the
20593         documentation for the narrow ones.
20594
20595         test-posixtm.c: add two tests
20596         * tests/test-posixtm.c: Add two tests, to highlight the
20597         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
20598         around this bug; this is merely to document it.
20599
20600 2010-12-22  Bruno Haible  <bruno@clisp.org>
20601
20602         getlogin_r: Work around portability problem on OSF/1.
20603         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
20604         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
20605         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
20606         test for a truncated result.
20607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
20608         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
20609         * modules/getlogin_r (Depends-on): Add memchr.
20610         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
20611
20612 2010-12-22  Bruno Haible  <bruno@clisp.org>
20613
20614         ptsname: Avoid test failure on OSF/1 5.1.
20615         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
20616         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
20617         (same_slave): New function.
20618         (main): Use it to compare ptsname's result with the expected file name.
20619
20620 2010-12-22  Bruno Haible  <bruno@clisp.org>
20621
20622         Port extended stdio modules to HP NonStop Kernel.
20623         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
20624         macros.
20625         * lib/fbufmode.c: Update comments.
20626         * lib/fflush.c: Likewise.
20627         * lib/fpurge.c: Likewise.
20628         * lib/freadable.c: Likewise.
20629         * lib/freadahead.c: Likewise.
20630         * lib/freading.c: Likewise.
20631         * lib/freadptr.c: Likewise.
20632         * lib/freadseek.c: Likewise.
20633         * lib/fseeko.c: Likewise.
20634         * lib/fseterr.c: Likewise.
20635         * lib/fwritable.c: Likewise.
20636         * lib/fwriting.c: Likewise.
20637         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20638
20639 2010-12-22  Bruno Haible  <bruno@clisp.org>
20640
20641         ttyname_r: Work around bug on OSF/1 5.1.
20642         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
20643         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
20644         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
20645         present.
20646         * lib/ttyname_r.c (ttyname_r): Update comments.
20647
20648 2010-12-22  Bruno Haible  <bruno@clisp.org>
20649
20650         round: Implement result sign according to IEEE 754.
20651         * lib/round.c (MIN, MINUS_ZERO): New macros.
20652         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
20653         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
20654         * tests/test-round-ieee.c (main): Likewise.
20655         * tests/test-roundl-ieee.c (main): Likewise.
20656
20657         trunc: Implement result sign according to IEEE 754.
20658         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
20659         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
20660         * tests/test-trunc2.c: Include minus-zero.h.
20661         (MINUS_ZERO): New macro.
20662         (trunc_reference): Keep in sync with lib/trunc.c.
20663         * tests/test-truncf2.c: Include minus-zero.h.
20664         (MINUS_ZERO): New macro.
20665         (truncf_reference): Keep in sync with lib/trunc.c.
20666         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
20667         * tests/test-trunc-ieee.c (main): Likewise.
20668         * tests/test-truncl-ieee.c (main): Likewise.
20669
20670         ceil: Implement result sign according to IEEE 754.
20671         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
20672         (FUNC): Return -0.0 for -1 < x < 0.
20673         * tests/test-ceil2.c: Include minus-zero.h.
20674         (MINUS_ZERO): New macro.
20675         (ceil_reference): Keep in sync with lib/ceil.c.
20676         * tests/test-ceilf2.c: Include minus-zero.h.
20677         (MINUS_ZERO): New macro.
20678         (ceilf_reference): Keep in sync with lib/ceil.c.
20679         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
20680         * tests/test-ceil-ieee.c (main): Likewise.
20681         * tests/test-ceill-ieee.c (main): Likewise.
20682
20683         floor: Implement result sign according to IEEE 754.
20684         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
20685         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
20686         * tests/test-floorf2.c (floorf_reference): Likewise.
20687         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
20688         * tests/test-floor-ieee.c (main): Likewise.
20689         * tests/test-floorl-ieee.c (main): Likewise.
20690
20691 2010-12-22  Bruno Haible  <bruno@clisp.org>
20692
20693         getaddrinfo: Update doc.
20694         * doc/posix-functions/gai_strerror.texi: Return type is also different
20695         on AIX and HP-UX.
20696
20697 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20698
20699         getaddrinfo, inet_ntop: Update doc for Solaris.
20700         * doc/posix-functions/gai_strerror.texi: Return type is also an
20701         issue on Solaris 9 and earlier.
20702         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
20703         on Solaris 10 and earlier.
20704
20705 2010-12-21  Bruno Haible  <bruno@clisp.org>
20706
20707         New module 'roundl-ieee'.
20708         * modules/roundl-ieee: New file.
20709         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
20710         test whether roundl works according to ISO C 99 with IEC 60559.
20711         * m4/roundl-ieee.m4: New file.
20712         * modules/roundl-ieee-tests: New file.
20713         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
20714         * tests/test-roundl.c (main): Remove signbit tests.
20715         * modules/roundl-tests (Depends-on): Remove signbit.
20716         * doc/posix-functions/roundl.texi: Mention the new module.
20717
20718 2010-12-21  Bruno Haible  <bruno@clisp.org>
20719
20720         New module 'truncl-ieee'.
20721         * modules/truncl-ieee: New file.
20722         * modules/truncl-ieee-tests: New file.
20723         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
20724         * tests/test-truncl.c (main): Remove signbit tests.
20725         * modules/truncl-tests (Depends-on): Remove signbit.
20726         * doc/posix-functions/truncl.texi: Mention the new module.
20727
20728 2010-12-21  Bruno Haible  <bruno@clisp.org>
20729
20730         New module 'ceill-ieee'.
20731         * modules/ceill-ieee: New file.
20732         * modules/ceill-ieee-tests: New file.
20733         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
20734         * tests/test-ceill.c (main): Remove signbit tests.
20735         * modules/ceill-tests (Depends-on): Remove signbit.
20736         * doc/posix-functions/ceill.texi: Mention the new module.
20737
20738 2010-12-21  Bruno Haible  <bruno@clisp.org>
20739
20740         New module 'floorl-ieee'.
20741         * modules/floorl-ieee: New file.
20742         * modules/floorl-ieee-tests: New file.
20743         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
20744         * tests/test-floorl.c (main): Remove signbit tests.
20745         * modules/floorl-tests (Depends-on): Remove signbit.
20746         * doc/posix-functions/floorl.texi: Mention the new module.
20747
20748 2010-12-21  Bruno Haible  <bruno@clisp.org>
20749
20750         New module 'round-ieee'.
20751         * modules/round-ieee: New file.
20752         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
20753         whether round works according to ISO C 99 with IEC 60559.
20754         * m4/round-ieee.m4: New file.
20755         * modules/round-ieee-tests: New file.
20756         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
20757         * tests/test-round1.c (main): Remove signbit tests.
20758         * modules/round-tests (Depends-on): Remove 'signbit'.
20759         * doc/posix-functions/round.texi: Mention the new module.
20760
20761 2010-12-21  Bruno Haible  <bruno@clisp.org>
20762
20763         New module 'trunc-ieee'.
20764         * modules/trunc-ieee: New file.
20765         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
20766         whether trunc works according to ISO C 99 with IEC 60559.
20767         * m4/trunc-ieee.m4: New file.
20768         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
20769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
20770         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
20771         * modules/trunc-ieee-tests: New file.
20772         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
20773         * tests/test-trunc1.c (main): Remove signbit tests.
20774         * modules/trunc-tests (Depends-on): Remove 'signbit'.
20775         * doc/posix-functions/trunc.texi: Mention the new module.
20776
20777 2010-12-21  Bruno Haible  <bruno@clisp.org>
20778
20779         New module 'ceil-ieee'.
20780         * modules/ceil-ieee: New file.
20781         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
20782         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
20783         ISO C 99 with IEC 60559.
20784         * m4/ceil-ieee.m4: New file.
20785         * modules/ceil (Files): Add lib/ceil.c.
20786         (Depends-on): Add 'float'.
20787         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20788         * lib/math.in.h (ceil): New declaration.
20789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
20790         REPLACE_CEIL.
20791         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
20792         * modules/ceil-ieee-tests: New file.
20793         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
20794         * tests/test-math-c++.cc: Check the signature of 'ceil'.
20795         * doc/posix-functions/ceil.texi: Mention the new module.
20796
20797 2010-12-21  Bruno Haible  <bruno@clisp.org>
20798
20799         New module 'floor-ieee'.
20800         * modules/floor-ieee: New file.
20801         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
20802         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
20803         ISO C 99 with IEC 60559.
20804         * m4/floor-ieee.m4: New file.
20805         * modules/floor (Files): Add lib/floor.c.
20806         (Depends-on): Add 'float'.
20807         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
20808         * lib/math.in.h (floor): New declaration.
20809         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
20810         REPLACE_FLOOR.
20811         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
20812         * modules/floor-ieee-tests: New file.
20813         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
20814         * tests/test-math-c++.cc: Check the signature of 'floor'.
20815         * doc/posix-functions/floor.texi: Mention the new module.
20816
20817 2010-12-21  Bruno Haible  <bruno@clisp.org>
20818
20819         New module 'roundf-ieee'.
20820         * modules/roundf-ieee: New file.
20821         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
20822         test whether roundf works according to ISO C 99 with IEC 60559.
20823         * m4/roundf-ieee.m4: New file.
20824         * modules/roundf-ieee-tests: New file.
20825         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
20826         * tests/test-roundf1.c (main): Remove signbit tests.
20827         * modules/roundf-tests (Depends-on): Remove 'signbit'.
20828         * doc/posix-functions/roundf.texi: Mention the new module.
20829
20830 2010-12-21  Bruno Haible  <bruno@clisp.org>
20831
20832         New module 'truncf-ieee'.
20833         * modules/truncf-ieee: New file.
20834         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
20835         test whether truncf works according to ISO C 99 with IEC 60559.
20836         * m4/truncf-ieee.m4: New file.
20837         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
20838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
20839         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
20840         * modules/truncf-ieee-tests: New file.
20841         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
20842         * tests/test-truncf1.c (main): Remove signbit tests.
20843         * modules/truncf-tests (Depends-on): Remove 'signbit'.
20844         * doc/posix-functions/truncf.texi: Mention the new module.
20845
20846 2010-12-21  Bruno Haible  <bruno@clisp.org>
20847
20848         New module 'ceilf-ieee'.
20849         * modules/ceilf-ieee: New file.
20850         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
20851         test whether ceilf works according to ISO C 99 with IEC 60559.
20852         * m4/ceilf-ieee.m4: New file.
20853         * modules/ceilf-ieee-tests: New file.
20854         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
20855         * tests/test-ceilf1.c (main): Remove signbit tests.
20856         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
20857         * doc/posix-functions/ceilf.texi: Mention the new module.
20858
20859 2010-12-21  Bruno Haible  <bruno@clisp.org>
20860
20861         New module 'floorf-ieee'.
20862         * modules/floorf-ieee: New file.
20863         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
20864         test whether floorf works according to ISO C 99 with IEC 60559.
20865         * m4/floorf-ieee.m4: New file.
20866         * modules/floorf-ieee-tests: New file.
20867         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
20868         * tests/test-floorf1.c (main): Remove signbit tests.
20869         * modules/floorf-tests (Depends-on): Remove 'signbit'.
20870         * doc/posix-functions/floorf.texi: Mention the new module.
20871
20872 2010-12-21  Bruno Haible  <bruno@clisp.org>
20873
20874         Support for minus zero in autoconf macros.
20875         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
20876         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
20877         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
20878         * tests/minus-zero.h: Update comments.
20879
20880 2010-12-21  Bruno Haible  <bruno@clisp.org>
20881
20882         Tests for module 'ceil'.
20883         * modules/ceil-tests: New file.
20884         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
20885         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
20886
20887 2010-12-21  Bruno Haible  <bruno@clisp.org>
20888
20889         Tests for module 'floor'.
20890         * modules/floor-tests: New file.
20891         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
20892         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
20893
20894 2010-12-21  Bruno Haible  <bruno@clisp.org>
20895
20896         math: Fix indentation.
20897         * lib/math.in.h (floorf): Fix indentation.
20898
20899 2010-12-21  Bruno Haible  <bruno@clisp.org>
20900
20901         Fix cross-compilation guesses on Solaris.
20902         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
20903         not match "solaris2.10".
20904         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20905         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
20906         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
20907
20908 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20909
20910         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
20911         This fixes a problem observed with the latest coreutils snapshot
20912         that caused a test to fail on Solaris 8.  src/csplit.c's call
20913         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
20914         earlier, instead of returning the number of bytes that would have
20915         been generated; this causes csplit to incorrectly report memory
20916         exhaustion.
20917         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
20918         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
20919         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
20920         comments to match.
20921         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
20922         Fix typo in matching older versions of Solaris: "solaris2.10"
20923         is matched by the shell pattern "solaris2.[0-9]*".  This matters
20924         only for guessing while cross-compiling.
20925         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
20926
20927 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20928
20929         ftoastr: fix comment again
20930         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20931         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
20932         Also, simplify example a bit by using flags = 0.
20933
20934 2010-12-20  Bruno Haible  <bruno@clisp.org>
20935
20936         round*, trunc*: Update documentation regarding glibc.
20937         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
20938         * doc/posix-functions/round.texi: Likewise.
20939         * doc/posix-functions/roundl.texi: Likewise.
20940         * doc/posix-functions/truncf.texi: Likewise.
20941         * doc/posix-functions/trunc.texi: Likewise.
20942         * doc/posix-functions/truncl.texi: Likewise.
20943
20944 2010-12-20  Bruno Haible  <bruno@clisp.org>
20945
20946         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
20947         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
20948         * doc/posix-functions/round.texi: Likewise.
20949         * doc/posix-functions/roundl.texi: Likewise.
20950
20951 2010-12-20  Bruno Haible  <bruno@clisp.org>
20952
20953         ttyname_r: Add missing declaration on HP-UX 11.
20954         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
20955         HAVE_TTYNAME_R.
20956         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
20957         declared. Set HAVE_TTYNAME_R always.
20958         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20959         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
20960         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
20961         HAVE_TTYNAME_R.
20962         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
20963
20964 2010-12-20  Bruno Haible  <bruno@clisp.org>
20965
20966         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20967         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20968         * doc/posix-functions/getlogin_r.texi: Likewise.
20969         * tests/test-getlogin.c: Include <errno.h>.
20970         (main): Avoid test failure on HP-UX 11.11.
20971         * tests/test-getlogin_r.c (main): Likewise.
20972
20973 2010-12-20  Bruno Haible  <bruno@clisp.org>
20974
20975         getlogin_r: Add missing declaration on HP-UX 11.
20976         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20977         declared also when it exists as a function.
20978         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20979
20980 2010-12-20  Bruno Haible  <bruno@clisp.org>
20981
20982         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20983         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20984         through wcrtomb.
20985
20986 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20987
20988         ftoastr: fix comment
20989         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20990         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20991
20992 2010-12-19  Bruno Haible  <bruno@clisp.org>
20993
20994         isnan: Ensure it is a macro.
20995         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20996         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20997         Solaris.
20998
20999 2010-12-19  Bruno Haible  <bruno@clisp.org>
21000
21001         ldexpl test: Fix link error on OSF/1 5.1.
21002         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21003
21004 2010-12-19  Bruno Haible  <bruno@clisp.org>
21005
21006         wctype: Make it work in C++ mode on OSF/1 5.1.
21007         * lib/wctype.in.h (iswblank): Declare but not define here.
21008         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21009         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21010         * modules/wctype (Files): Add lib/iswblank.c.
21011
21012 2010-12-19  Bruno Haible  <bruno@clisp.org>
21013
21014         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21015         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21016         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21017
21018 2010-12-19  Bruno Haible  <bruno@clisp.org>
21019
21020         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21021         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21022         _POSIX_PII_SOCKET.
21023         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21024         * doc/posix-functions/recvfrom.texi: Likewise.
21025         * doc/posix-functions/send.texi: Likewise.
21026         * doc/posix-functions/sendto.texi: Likewise.
21027
21028 2010-12-19  Bruno Haible  <bruno@clisp.org>
21029
21030         tcgetsid: Add missing declaration on OSF/1 5.1.
21031         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21032         HAVE_TCGETSID.
21033         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21034         Don't set HAVE_TCGETSID.
21035         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21036         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21037         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21038         HAVE_TCGETSID.
21039         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21040
21041 2010-12-19  Bruno Haible  <bruno@clisp.org>
21042
21043         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21044         * lib/stdio.in.h: During the include_next statement, let recursive
21045         includes of this file include only the system header file.
21046
21047 2010-12-19  Bruno Haible  <bruno@clisp.org>
21048
21049         iconv_open: Fix regression from 2010-12-04.
21050         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21051         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21052
21053 2010-12-19  Bruno Haible  <bruno@clisp.org>
21054
21055         stdbool test: Avoid a gcc warning.
21056         * tests/test-stdbool.c (main): Fail if e1 is false.
21057         Reported by Jim Meyering.
21058
21059 2010-12-19  Jim Meyering  <meyering@redhat.com>
21060
21061         setenv: restore to working order
21062         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21063         mistakenly removed.
21064         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21065         HAVE_SETENV.
21066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21067         HAVE_SETENV.
21068
21069 2010-12-19  Bruno Haible  <bruno@clisp.org>
21070
21071         Document some different function declarations on OSF/1 5.1.
21072         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21073         * doc/posix-functions/inet_ntop.texi: Likewise.
21074         * doc/posix-functions/gethostname.texi: Likewise.
21075         * lib/unistd.in.h (gethostname): Update comment.
21076
21077 2010-12-19  Bruno Haible  <bruno@clisp.org>
21078
21079         doc: Mention vasprintf-posix module.
21080         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21081         the 'vasprintf-posix' module.
21082         * doc/glibc-functions/vasprintf.texi: Likewise.
21083
21084 2010-12-19  Bruno Haible  <bruno@clisp.org>
21085
21086         unsetenv: Add missing declaration on OSF/1 5.1.
21087         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21088         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21089         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21090         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21091         not HAVE_UNSETENV.
21092         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21093         HAVE_UNSETENV.
21094         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21095
21096 2010-12-19  Bruno Haible  <bruno@clisp.org>
21097
21098         setenv: Add missing declaration on OSF/1 5.1.
21099         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21100         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21101         declared. Don't set HAVE_SETENV.
21102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21103         not HAVE_SETENV.
21104         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21105         HAVE_SETENV.
21106         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21107
21108 2010-12-19  Bruno Haible  <bruno@clisp.org>
21109
21110         nl_langinfo tests: Avoid gcc warning.
21111         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21112
21113 2010-12-19  Bruno Haible  <bruno@clisp.org>
21114
21115         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21116         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21117         _GL_CXXALIAS_SYS.
21118
21119 2010-12-19  Bruno Haible  <bruno@clisp.org>
21120
21121         stdbool: Relax test.
21122         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21123         address to 'bool' work in static initializer, for compilers other than
21124         GCC.
21125
21126 2010-12-19  Bruno Haible  <bruno@clisp.org>
21127
21128         ftello: Add missing declaration on OSF/1 5.1.
21129         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21130         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21132         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21133         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21134
21135 2010-12-19  Bruno Haible  <bruno@clisp.org>
21136
21137         fseeko: Add missing declaration on OSF/1 5.1.
21138         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21139         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21141         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21142         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21143
21144 2010-12-19  Bruno Haible  <bruno@clisp.org>
21145
21146         fchdir: Add missing declaration on OSF/1 5.1.
21147         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21148         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21149         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21150         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21151         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21152
21153 2010-12-19  Bruno Haible  <bruno@clisp.org>
21154
21155         relocatable-prog-wrapper: Separate from relocatable-prog.
21156         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21157         uninstall-relocwrapper rule here.
21158         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21159         Reported by Ian Beckwith <ianb@erislabs.net>.
21160
21161 2010-12-19  Bruno Haible  <bruno@clisp.org>
21162
21163         unistr/u8-mbsnlen: Add missing dependency.
21164         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21165         Reported by Ian Beckwith <ianb@erislabs.net>.
21166
21167 2010-12-19  Bruno Haible  <bruno@clisp.org>
21168
21169         iconv: Make it possible again to use this module without 'iconv-h'.
21170         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21171         if it is not defined.
21172         Reported by Ian Beckwith <ianb@erislabs.net>.
21173
21174 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21175
21176         acl: port to Solaris 8 when copying from tmpfs to ufs
21177         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21178         error number.  Problem observed on Solaris 8 with latest
21179         coreutils, with "mv A B", where A is on a tmpfs file system and B
21180         is on a ufs file system.  This caused coreutils' mv/part-symlink
21181         test to fail.
21182
21183         tests: set fail=0 at start
21184         * tests/init.sh (setup_): Move fail=0 initialization here ...
21185         (mktempd_): ... from here, so that tests can rely on fail being
21186         set to 0 initially.  This fixes a problem in coreutils; see:
21187         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21188
21189 2010-12-18  Bruno Haible  <bruno@clisp.org>
21190
21191         memmem-simple: Stylistic changes.
21192         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21193         Fix preprocessor directive indentation.
21194
21195 2010-12-15  Pádraig Brady <P@draigBrady.com>
21196
21197         memmem, memmem-simple: reorganize and expand empty needle check
21198         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21199         functional checks to memmem-simple so that one has a fully functional
21200         memmem by using just this module.
21201         Restrict the performance only check to the memmem module.
21202         Also expand the empty needle check to ensure the correct
21203         pointer is returned, not just a non NULL pointer.
21204         * doc/glibc-functions/memmem.texi: Rearrange the portability
21205         documentation to correlate with the rearranged checks.
21206         Clarify exactly how the memmem and memmem-simple modules
21207         relate to each other.
21208
21209 2010-12-15  Pádraig Brady <P@draigBrady.com>
21210             Bruno Haible  <bruno@clisp.org>
21211
21212         Improve cross-compilation guesses for uClibc.
21213         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21214         that uClibc does not have the glibc bug.
21215         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21216         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21217
21218 2010-12-14  Eric Blake  <eblake@redhat.com>
21219
21220         configmake: provide fallbacks for oldest supported autotools
21221         * m4/configmake.m4: New file.
21222         * modules/configmake (Files): Ship it.
21223         (configure.ac): Use it to guarantee fallbacks.
21224
21225 2010-12-13  Pádraig Brady <P@draigBrady.com>
21226
21227         read-file: Improve handling of large files
21228         * lib/read-file.c (fread_file): Minimize realloc()s
21229         for regular files, and better manage sizes around SIZE_MAX.
21230
21231 2010-12-13  Eric Blake  <eblake@redhat.com>
21232
21233         cloexec, fcntl: relax license
21234         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21235         consent from all contributors.
21236         * modules/fcntl (License): Likewise.
21237
21238 2010-12-10  Bruno Haible  <bruno@clisp.org>
21239
21240         Tests for module 'pipe-posix'.
21241         * modules/pipe-posix-tests: New file.
21242         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21243
21244 2010-12-10  Bruno Haible  <bruno@clisp.org>
21245
21246         pipe-posix: Make it work in C++ mode.
21247         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21248         (pipe): Use common idiom, not a macro definition.
21249         * lib/pipe.c: New file.
21250         * m4/pipe.m4: New file.
21251         * modules/pipe-posix (Description): Enhance.
21252         (Files): Add lib/pipe.c, m4/pipe.m4.
21253         (configure.ac): Invoke gl_FUNC_PIPE.
21254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21255         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21256         * tests/test-unistd-c++.cc: Check the signature of pipe.
21257
21258 2010-12-10  Bruno Haible  <bruno@clisp.org>
21259
21260         Rename module 'pipe' to 'spawn-pipe'.
21261         * modules/spawn-pipe: New file, renamed from modules/pipe.
21262         (Files, configure.ac, Makefile.am): Update.
21263         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21264         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21265         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21266         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21267         "spawn-pipe.h" instead of "pipe.h".
21268         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21269         to gl_SPAWN_PIPE.
21270         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21271         (Files, Makefile.am): Update.
21272         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21273         Update.
21274         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21275         Include "spawn-pipe.h" instead of "pipe.h".
21276         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21277         * lib/javacomp.c: Likewise.
21278         * lib/javaversion.c: Likewise.
21279         * lib/pipe-filter-gi.c: Likewise.
21280         * lib/pipe-filter-ii.c: Likewise.
21281         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21282         * modules/javacomp (Depends-on): Likewise.
21283         * modules/javaversion (Depends-on): Likewise.
21284         * modules/pipe-filter-gi (Depends-on): Likewise.
21285         * modules/pipe-filter-ii (Depends-on): Likewise.
21286         * MODULES.html.sh (Executing programs): Update.
21287         * NEWS: Mention the change.
21288
21289 2010-12-10  Eric Blake  <eblake@redhat.com>
21290
21291         pipe-posix: new module
21292         * modules/pipe-posix: New file.
21293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21294         (gl_UNISTD_H): Check for declaration.
21295         * modules/unistd (Makefile.am): Substitute it.
21296         * lib/unistd.in.h (pipe): Provide it for mingw.
21297         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21298         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21299
21300 2010-12-07  Bruno Haible  <bruno@clisp.org>
21301
21302         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21303         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21304         u8_strcmp_gnu.
21305         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21306
21307 2010-12-06  Bruno Haible  <bruno@clisp.org>
21308
21309         Update internal documentation.
21310         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21311
21312 2010-12-04  Bruno Haible  <bruno@clisp.org>
21313
21314         Put more information about failed tests into the test return codes.
21315         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21316         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21317         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21318         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21319         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21320         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21321         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21322         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21323         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21324         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21325         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21326         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21327         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21328         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21329         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21330         returns a bit mask.
21331         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
21332         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
21333         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
21334         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
21335         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21336         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
21337         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
21338         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21339         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
21340         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
21341         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21342         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
21343         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21344         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
21345         * m4/link.m4 (gl_FUNC_LINK): Likewise.
21346         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
21347         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
21348         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
21349         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21350         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
21351         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21352         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21353         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
21354         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21355         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21356         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21357         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
21358         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
21359         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
21360         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
21361         gl_PRINTF_PRECISION): Likewise.
21362         * m4/regex.m4 (gl_REGEX): Likewise.
21363         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21364         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21365         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
21366         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21367         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
21368         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21369         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
21370         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
21371         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
21372         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21373         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
21374         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21375         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
21376         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
21377         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21378         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21379         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
21380         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
21382         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
21383         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
21384         enumerated value.
21385         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
21386
21387 2010-12-04  Bruno Haible  <bruno@clisp.org>
21388
21389         Update for Solaris 11 2010-11.
21390         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
21391         Express, released in November 2010.
21392
21393 2010-12-04  Bruno Haible  <bruno@clisp.org>
21394
21395         nproc: Relax license.
21396         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
21397         and Paul Eggert.
21398         Requested by Ludovic Courtès <ludo@gnu.org>.
21399
21400 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
21401
21402         utimecmp: fine-grained src to nearby coarse-grained dest
21403
21404         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
21405         and the source is on a file system with higher-resolution time
21406         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
21407         not work, and the time stamps are close together, the algorithm to
21408         determine the exact resolution from the read-back mtime was buggy:
21409         it had a "!=" where it should have had an "==".  This bug has been
21410         in the code ever since it was introduced to gnulib.
21411         Problem reported by Dan Jacobson in
21412         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
21413
21414 2010-11-30  Bruno Haible  <bruno@clisp.org>
21415
21416         strerror_r-posix: Fix autoconf test.
21417         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
21418
21419 2010-11-28  Bruno Haible  <bruno@clisp.org>
21420             Paul Eggert  <eggert@cs.ucla.edu>
21421
21422         Tests for module 'getdomainname'.
21423         * modules/getdomainname-tests: New file.
21424         * tests/test-getdomainname.c: New file, based on
21425         tests/test-gethostname.c.
21426
21427 2010-11-28  Bruno Haible  <bruno@clisp.org>
21428             Paul Eggert  <eggert@cs.ucla.edu>
21429
21430         getdomainname: Use the system function when possible.
21431         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
21432         (getdomainname): Replace if needed. Provide the declaration if it is
21433         missing. Don't use _GL_CXXALIAS_SYS_CAST.
21434         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
21435         (getdomainname): When the system has getdomainname, call the system
21436         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
21437         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
21438         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
21439         found in libnsl. Look for the declaration also in <netdb.h>. Replace
21440         the function if its second argument is of type 'int' or if it is found
21441         in libnsl.
21442         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
21443         <sys/systeminfo.h> and sysinfo().
21444         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
21445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21446         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
21447         HAVE_GETDOMAINNAME.
21448         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
21449         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
21450         * doc/glibc-functions/getdomainname.texi: Document the problems with
21451         the getdomainname declaration.
21452
21453 2010-11-28  Bruno Haible  <bruno@clisp.org>
21454
21455         sys_socket: Ensure ss_family field on AIX.
21456         * lib/sys_socket.in.h (ss_family): New macro definition.
21457         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
21458         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
21459         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
21460         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21461         * modules/sys_socket (Makefile.am): Substitute
21462         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
21463         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
21464
21465 2010-11-27  Bruno Haible  <bruno@clisp.org>
21466
21467         readline: Improve configure output.
21468         * m4/readline.m4 (gl_FUNC_READLINE): Make the
21469         "checking for readline..." result understandable.
21470
21471 2010-11-27  Bruno Haible  <bruno@clisp.org>
21472
21473         *printf-posix: Detect a bug on Solaris 10/x86.
21474         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
21475         for floating-point output.
21476         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
21477         directive.
21478         * tests/test-snprintf-posix.h (test_function): Likewise.
21479         * tests/test-sprintf-posix.h (test_function): Likewise.
21480         * tests/test-vasprintf-posix.c (test_function): Likewise.
21481         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
21482         * doc/posix-functions/printf.texi: Likewise.
21483         * doc/posix-functions/snprintf.texi: Likewise.
21484         * doc/posix-functions/sprintf.texi: Likewise.
21485         * doc/posix-functions/vfprintf.texi: Likewise.
21486         * doc/posix-functions/vprintf.texi: Likewise.
21487         * doc/posix-functions/vsnprintf.texi: Likewise.
21488         * doc/posix-functions/vsprintf.texi: Likewise.
21489         * doc/glibc-functions/obstack_printf.texi: Likewise.
21490         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21491
21492 2010-11-27  Bruno Haible  <bruno@clisp.org>
21493
21494         Fix link error when module libunistring-optional is in use.
21495         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
21496         * modules/striconveha-tests (Makefile.am): Likewise.
21497
21498 2010-11-27  Bruno Haible  <bruno@clisp.org>
21499
21500         regex: Mention link dependencies.
21501         * modules/regex (Link): New section.
21502         * modules/rpmatch (Link): Likewise.
21503         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
21504
21505 2010-11-27  Bruno Haible  <bruno@clisp.org>
21506
21507         ftoastr: Fix compilation error on Solaris.
21508         * lib/ftoastr.c: Include <config.h>.
21509
21510 2010-11-27  Bruno Haible  <bruno@clisp.org>
21511
21512         getloadavg: Update documentation.
21513         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
21514
21515 2010-11-27  Bruno Haible  <bruno@clisp.org>
21516
21517         sys_socket: Fix test whether the functions are declared.
21518         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
21519         not <sys/select.h>.
21520
21521 2010-11-27  Bruno Haible  <bruno@clisp.org>
21522
21523         getpass: Make sure to get system declaration on some platforms.
21524         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
21525         gl_USE_SYSTEM_EXTENSIONS.
21526         * modules/getpass (Depends-on): Add extensions.
21527
21528 2010-11-26  Bruno Haible  <bruno@clisp.org>
21529
21530         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
21531         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
21532         'iconv' module is present.
21533         (ICONV_CONST): New macro.
21534         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
21535         ICONV_CONST.
21536         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
21537         set ICONV_CONST.
21538         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
21539         here.
21540         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
21541         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
21542         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
21543         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
21544         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
21545         present.
21546
21547 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
21548
21549         ftoastr: comment fix
21550         * lib/ftoastr.c: "little" -> "little or no" in comment
21551
21552 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
21553
21554         stdint: port to GCC 4.3 + OSX + Octave
21555         On this platform, stdint.h is buggy and defines int64_t to long
21556         long int.  The replacement defined it to long int, causing
21557         problems with C++ style name mangling.  Instead, trust the system
21558         definition if INT64_MAX is defined, and likewise for the unsigned
21559         variant.   Problem reported by Jarno Rajahalme in
21560         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
21561         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
21562         and don't mess with int64_t and INT64_MAX in this case.
21563         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
21564
21565 2010-11-24  Bruno Haible  <bruno@clisp.org>
21566
21567         doc: Corrections regarding MacOS X 10.4 and 10.5.
21568         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
21569         MacOS X.
21570         Reported by Simon Josefsson.
21571
21572 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
21573
21574         Uninstall ".bin" files installed by relocwrapper.
21575         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
21576         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
21577         unless it is already there.
21578
21579 2010-11-21  Bruno Haible  <bruno@clisp.org>
21580
21581         Update for NetBSD 5.0.
21582         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21583         NetBSD; the test fails on NetBSD 5.0.
21584         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21585         about NetBSD.
21586
21587 2010-11-21  Bruno Haible  <bruno@clisp.org>
21588
21589         Update for HP-UX 11.23 and HP-UX 11.31.
21590         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
21591         HP-UX.
21592
21593 2010-11-21  Bruno Haible  <bruno@clisp.org>
21594
21595         Update for MacOS X 10.5.
21596         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
21597         MacOS X; the test fails on MacOS X 10.5.8.
21598         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
21599         about MacOS X.
21600
21601 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
21602
21603         bootstrap: add bootstrap_sync option.
21604         See discussion at
21605         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
21606         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
21607         * build-aux/bootstrap: Accept --bootstrap-sync to update
21608         bootstrap if it is not identical to the local gnulib's
21609         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
21610         enable this by default.  Accept --no-bootstrap-sync to disable
21611         it.
21612
21613 2010-11-20  Bruno Haible  <bruno@clisp.org>
21614
21615         Ensure that <features.h> is included before __GLIBC__ is tested.
21616         * lib/printf-parse.h: Include <features.h>.
21617         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
21618         Reported by Mike Frysinger <vapier@gentoo.org>.
21619
21620         Ensure that <features.h> is included before __GLIBC__ is tested.
21621         * lib/wchar.in.h: Include <features.h>.
21622         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
21623         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
21624         Reported by Mike Frysinger <vapier@gentoo.org>.
21625
21626         Ensure that <features.h> is included before __GLIBC__ is tested.
21627         * lib/arpa_inet.in.h: Include <features.h>.
21628         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
21629         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
21630         Reported by Mike Frysinger <vapier@gentoo.org>.
21631
21632         Ensure that <features.h> is included before __GLIBC__ is tested.
21633         * build-aux/link-warning.h: Include <features.h>.
21634         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
21635         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
21636         Reported by Mike Frysinger <vapier@gentoo.org>.
21637
21638         Ensure that <features.h> is included before __GLIBC__ is tested.
21639         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
21640         Reported by Mike Frysinger <vapier@gentoo.org>.
21641
21642 2010-11-20  Bruno Haible  <bruno@clisp.org>
21643
21644         memmem: Fix autoconf test.
21645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
21646
21647 2010-11-20  Bruno Haible  <bruno@clisp.org>
21648
21649         Port to uClibc.
21650         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
21651         * lib/fcntl.in.h: Likewise.
21652         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
21653         * lib/mbrtowc.c (mbrtowc): Likewise.
21654         * lib/relocatable.c (find_shared_library_fullname): Likewise.
21655         * lib/strerror_r.c: Likewise.
21656         * lib/unistr/u8-strnlen.c: Likewise.
21657         * lib/vasnprintf.c (decimal_point_char): Likewise.
21658         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21659         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
21660         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21661         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21662         * tests/test-sigaction.c (handler, main): Likewise.
21663         * lib/freading.h: Treat uClibc like a non-glibc platform.
21664         * lib/freading.c: Likewise.
21665         * lib/gettext.h: Likewise.
21666         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
21667         Likewise.
21668         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
21669         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
21670         * lib/propername.c (proper_name_utf8): Likewise.
21671         * lib/spawn.in.h: Likewise.
21672         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
21673         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
21674         mem_cd_iconveh_internal): Likewise.
21675         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
21676         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21677         strstr, strcasestr): Likewise.
21678         * lib/unicodeio.c (unicode_to_mb): Likewise.
21679         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
21680         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
21681         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
21682         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
21683         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
21684         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
21685         * lib/unistr/u8-stpncpy.c: Likewise.
21686         * lib/vasnprintf.c (VASNPRINTF): Likewise.
21687         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
21688         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21689         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21690         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21691         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
21692         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
21693         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
21694         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
21695         Likewise.
21696         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21697         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
21698         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21699         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21700         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21701         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21702         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21703         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21704         * tests/test-getopt.h (OPTIND_MIN): Likewise.
21705         * tests/test-striconveha.c (main): Likewise.
21706         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21707         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
21708         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
21709         * doc/posix-functions/getline.texi: Likewise.
21710         Reported by Mike Frysinger <vapier@gentoo.org>.
21711
21712 2010-11-20  Bruno Haible  <bruno@clisp.org>
21713
21714         nproc: Fix condition.
21715         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
21716         HAVE_PTHREAD_AFFINITY_NP.
21717
21718 2010-11-20  Bruno Haible  <bruno@clisp.org>
21719
21720         Fix a comment.
21721         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
21722
21723 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
21724
21725         ftoastr: don't assume snprintf
21726         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
21727         Implement a subset of snprintf here, by using sprintf safely.
21728         * modules/ftoastr (Depends-on): Remove snprintf.
21729
21730 2010-11-19  Jim Meyering  <meyering@redhat.com>
21731
21732         test-rename.h: fix compilation failure
21733         * tests/test-rename.h (test_rename): Add omitted "}".
21734
21735 2010-11-17  Jim Meyering  <meyering@redhat.com>
21736
21737         maint.mk: add a URL discussing the no-@acronym policy
21738         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
21739
21740 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
21741
21742         ftoastr: depend on snprintf, improve comments
21743         * lib/ftoastr.c: Also mention Loitsch's draft.
21744         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
21745         needed in the current implementation, but it might simplify
21746         speeding up the code later.
21747         * modules/ftoastr: Depend on snprintf; this improves portability.
21748         Suggested by Bruno Haible in the same email.
21749
21750         ftoastr: port to hosts lacking strtof and strtold
21751         Problem reported by Bruno Haible in
21752         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
21753         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
21754         environment and strtold (and presumably strtof) are not available.
21755         * modules/ftoastr (Files): Add m4/c-strtod.m4.
21756         (configure.ac): Require gl_C99_STRTOLD.
21757
21758 2010-11-18  Bruno Haible  <bruno@clisp.org>
21759
21760         c-strtold: Avoid link error on AIX 7.
21761         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
21762         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
21763         (gl_C_STRTOLD): Test whether strtold_l exists.
21764         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21765
21766 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21767
21768         intprops: new macro INT_BITS_STRLEN_BOUND
21769         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
21770         ftoastr.h.  This exposes an internal of intprops.h that was formerly
21771         not exposed.  Also, it uses a slightly tighter bound than before;
21772         though this makes no practical difference, we might as well be as
21773         tight as we easily can.
21774
21775         ftoastr: new module, for lossless conversion of floats to short strings
21776         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
21777         * modules/ftoastr: New files.
21778
21779 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21780
21781         bootstrap: port to Solaris sed
21782         * build-aux/bootstrap (get_version): Port to Solaris sed.
21783         See Ralf Wildenhues's note in
21784         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
21785
21786 2010-11-14  Jim Meyering  <meyering@redhat.com>
21787
21788         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
21789         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
21790         and move definition closer to sole use.
21791
21792 2010-11-13  Jim Meyering  <meyering@redhat.com>
21793
21794         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
21795         Now we require at least autoconf-2.59, which means the work-around
21796         is no longer needed.
21797         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
21798         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21799         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
21800         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21801         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21802
21803 2010-11-13  Bruno Haible  <bruno@clisp.org>
21804
21805         rename, renameat: Avoid test failures at NFS mounted locations.
21806         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
21807         functions.
21808         (test_rename): Use assert_nonexistent.
21809         * tests/test-rename.c: Include <dirent.h>.
21810         * tests/test-renameat.c: Likewise.
21811         Reported by Gary V. Vaughan <gary@gnu.org>.
21812
21813         rename, renameat: Document Linux bug with NFS
21814         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
21815         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
21816         * doc/posix-functions/renameat.texi: Likewise.
21817         Suggested by Eric Blake.
21818
21819 2010-11-13  Bruno Haible  <bruno@clisp.org>
21820
21821         rename test: Add comments.
21822         * tests/test-rename.h (test_rename): Add structure and comments.
21823
21824 2010-11-13  Eric Blake  <eblake@redhat.com>
21825
21826         maintainer-makefile: cover a few more files
21827         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
21828         scripts generated within C files, for libvirt.
21829
21830 2010-11-13  Bruno Haible  <bruno@clisp.org>
21831
21832         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
21833         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
21834         character, return the number of bytes that belong together, not always
21835         1.
21836         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
21837         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
21838         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
21839         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
21840         number of bytes of an invalid character.
21841         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
21842         (main): Invoke it.
21843         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
21844         results.
21845         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
21846         malformed byte sequences.
21847         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
21848         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
21849         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
21850         Reported by Ben Pfaff and Paolo Bonzini.
21851
21852 2010-11-13  Bruno Haible  <bruno@clisp.org>
21853
21854         openat: Work around glibc bug with fchownat() and empty file names.
21855         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
21856         (gl_FUNC_FCHOWNAT): Invoke it.
21857         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
21858         * doc/posix-functions/fchownat.texi: Document the glibc bug.
21859         Reported by Gary V. Vaughan <gary@gnu.org>.
21860
21861 2010-11-13  Bruno Haible  <bruno@clisp.org>
21862
21863         openat: Ensure autoconf macro ordering.
21864         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
21865         gl_USE_SYSTEM_EXTENSIONS.
21866         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
21867
21868 2010-11-13  Bruno Haible  <bruno@clisp.org>
21869
21870         Update comments.
21871         * lib/unistr/u8-check.c: Update file name in comments.
21872         * lib/unistr/u8-mblen.c: Likewise.
21873         * lib/unistr/u8-prev.c: Likewise.
21874         * lib/unistr/u8-strmblen.c: Likewise.
21875         * lib/unistr/u8-strmbtouc.c: Likewise.
21876
21877 2010-11-13  Jim Meyering  <meyering@redhat.com>
21878
21879         tests: avoid test failure on Solaris 10 due to lack of PATH export
21880         * tests/test-update-copyright.sh: Don't forget to export PATH.
21881
21882         init.sh: ensure that IFS is defined, just in case...
21883         * tests/init.sh (setup_): Ensure that IFS is defined,
21884         so that saving and restoring it works as expected.  This
21885         appears to be useful at least for an old version of dash
21886         from a long time ago (RH 6).  See here for details:
21887         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
21888
21889         maint.mk: tighten "test a == b" check
21890         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
21891         test to files that contain something like #!/bin/sh.
21892         Without this, coreutils would get two false positives in
21893         the comments of C source files.
21894
21895 2010-11-12  Eric Blake  <eblake@redhat.com>
21896
21897         bootstrap: fix typo in previous attempt
21898         * build-aux/bootstrap (buildreq): Correct the grouping.
21899         Reported by Paul Eggert.
21900
21901         maintainer-makefile: prohibit test x == x
21902         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
21903         Based on a report by Matthias Bolte.
21904
21905         bootstrap: allow FreeBSD gzip
21906         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
21907         which has no '.' and goes to stderr.
21908         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
21909         Reported by Matthias Bolte.
21910
21911         maintainer-makefile: check for i18n setup
21912         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
21913         will likely work.
21914
21915 2010-11-12  Bruno Haible  <bruno@clisp.org>
21916
21917         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
21918         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
21919         * lib/nanosleep.c (nanosleep): Likewise.
21920
21921 2010-11-11  Bruno Haible  <bruno@clisp.org>
21922
21923         fcntl-h: Fix for use of C++ on glibc systems.
21924         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21925         also on glibc systems in C++ mode.
21926         Reported by Gary V. Vaughan <gary@gnu.org>.
21927
21928 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21929
21930         mknod: avoid false failure with dash
21931         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
21932
21933 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21934
21935         unlink: Fix "is it should" typo in diagnostic.
21936         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
21937         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
21938
21939 2010-11-11  Bruno Haible  <bruno@clisp.org>
21940
21941         Tests for module 'strerror_r-posix'.
21942         * modules/strerror_r-posix-tests: New file.
21943         * tests/test-strerror_r.c: New file.
21944         * tests/test-string-c++.cc: Check the signature of strerror_r.
21945
21946         New module 'strerror_r-posix'.
21947         * lib/string.in.h (strerror_r): New declaration.
21948         * lib/strerror_r.c: New file.
21949         * m4/strerror_r.m4: New file.
21950         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
21951         of strerror_r.
21952         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
21953         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21954         * modules/strerror_r-posix: New file.
21955         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
21956         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
21957         * doc/posix-functions/strerror_r.texi: Mention the new module and the
21958         portability problems.
21959
21960 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
21961
21962         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
21963         line is also considered for output. Quoted function name in shell
21964         command, so temporary files for functions like MyClass::operator()
21965         are removed correctly without errors.
21966
21967 2010-11-09  Bruno Haible  <bruno@clisp.org>
21968
21969         * doc/posix-functions/strerror.texi: List more failing platforms.
21970
21971         * doc/posix-functions/strerror.texi: Add a comment.
21972
21973 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21974
21975         fdopendir: fix bug on MacOS X when low on file descriptors
21976
21977         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21978         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21979         All callers changed.
21980         (fdopendir): Invoke save_cwd at the top level, not after using
21981         multiple dup() calls to use up file descriptors.  Then retry
21982         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21983         less than the maximum number of open file descriptors, because
21984         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21985         on Mac OS X 10.6.4 for tar 1.24
21986         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21987         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21988         and for tar 1.25
21989         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21990
21991 2010-11-07  Bruno Haible  <bruno@clisp.org>
21992
21993         vasnprintf: Support I flag on glibc systems.
21994         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21995         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21996         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21997         snprintf function.
21998         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21999         glibc systems.
22000         * tests/test-vasnprintf-posix3.c: New file.
22001         * modules/vasnprintf-posix-tests (Files): Add it.
22002         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22003
22004 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22005
22006         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22007         * MODULES.html.sh: For compiler warnings, use name
22008         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22009
22010 2010-11-05  Eric Blake  <eblake@redhat.com>
22011
22012         ceil, floor: avoid spurious failure with icc
22013         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22014         [denormals-as-zero] when optimizing without -mieee-fp option.
22015         * tests/test-floorf2.c (floorf_reference): Likewise.
22016         * tests/test-ceilf1.c (dummy): New function.
22017         (main): Use it to outsmart icc's optimization.
22018         * tests/test-floorf1.c (dummy, main): Likewise.
22019
22020         tests: require working signbit
22021         * modules/ceilf-tests (Depends-on): Add signbit.
22022         * modules/ceill-tests (Depends-on): Likewise.
22023         * modules/floorf-tests (Depends-on): Likewise.
22024         * modules/floorl-tests (Depends-on): Likewise.
22025         * modules/round-tests (Depends-on): Likewise.
22026         * modules/roundf-tests (Depends-on): Likewise.
22027         * modules/roundl-tests (Depends-on): Likewise.
22028         * modules/trunc-tests (Depends-on): Likewise.
22029         * modules/truncf-tests (Depends-on): Likewise.
22030         * modules/truncl-tests (Depends-on): Likewise.
22031
22032         strtod: work around icc bug
22033         * lib/strtod.c (minus_zero): Define to working value.
22034         (strtod): Use it to avoid icc bug.
22035
22036         copysign: enhance tests
22037         * modules/copysign-tests (Files): Add minus-zero.h.
22038         * tests/test-copysign.c (main): Also test zeros.
22039
22040 2010-11-04  Eric Blake  <eblake@redhat.com>
22041
22042         ceil, floor, round, trunc: enhance tests of -0
22043         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22044         * tests/test-ceill.c (main): Likewise.
22045         * tests/test-floorf1.c (main): Likewise.
22046         * tests/test-floorl.c (main): Likewise.
22047         * tests/test-round1.c (main): Likewise.
22048         * tests/test-roundf1.c (main): Likewise.
22049         * tests/test-roundl.c (main): Likewise.
22050         * tests/test-trunc1.c (main): Likewise.
22051         * tests/test-truncf1.c (main): Likewise.
22052         * tests/test-truncl.c (main): Likewise.
22053
22054 2010-11-04  Eric Blake  <eblake@redhat.com>
22055
22056         frexp, tests: work around ICC bug with -zero
22057         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22058         works with more compilers.
22059         * tests/minus-zero.h: New file.
22060         * modules/ceilf-tests (Files): Include it.
22061         * modules/ceill-tests (Files): Likewise.
22062         * modules/floorf-tests (Files): Likewise.
22063         * modules/floorl-tests (Files): Likewise.
22064         * modules/frexp-nolibm-tests (Files): Likewise.
22065         * modules/frexp-tests (Files): Likewise.
22066         * modules/frexpl-nolibm-tests (Files): Likewise.
22067         * modules/frexpl-tests (Files): Likewise.
22068         * modules/isnan-tests (Files): Likewise.
22069         * modules/isnand-nolibm-tests (Files): Likewise.
22070         * modules/isnand-tests (Files): Likewise.
22071         * modules/isnanf-nolibm-tests (Files): Likewise.
22072         * modules/isnanf-tests (Files): Likewise.
22073         * modules/isnanl-nolibm-tests (Files): Likewise.
22074         * modules/isnanl-tests (Files): Likewise.
22075         * modules/round-tests (Files): Likewise.
22076         * modules/roundf-tests (Files): Likewise.
22077         * modules/roundl-tests (Files): Likewise.
22078         * modules/ldexpl-tests (Files): Likewise.
22079         * modules/signbit-tests (Files): Likewise.
22080         * modules/snprintf-posix-tests (Files): Likewise.
22081         * modules/sprintf-posix-tests (Files): Likewise.
22082         * modules/strtod-tests (Files): Likewise.
22083         * modules/trunc-tests (Files): Likewise.
22084         * modules/truncf-tests (Files): Likewise.
22085         * modules/truncl-tests (Files): Likewise.
22086         * modules/vsnprintf-posix-tests (Files): Likewise.
22087         * modules/vsprintf-posix-tests (Files): Likewise.
22088         * modules/vasnprintf-posix-tests (Files): Likewise.
22089         * modules/vasprintf-posix-tests (Files): Likewise.
22090         * tests/test-ceilf1.c (main): Use it.
22091         * tests/test-ceill.c (main): Likewise.
22092         * tests/test-floorf1.c (main): Likewise.
22093         * tests/test-floorl.c (main): Likewise.
22094         * tests/test-frexp.c (main): Likewise.
22095         * tests/test-frexpl.c (main): Likewise.
22096         * tests/test-isnan.c (main): Likewise.
22097         * tests/test-isnand.h (main): Likewise.
22098         * tests/test-isnanf.h (main): Likewise.
22099         * tests/test-isnanl.h (main): Likewise.
22100         * tests/test-ldexpl.c (main): Likewise.
22101         * tests/test-round.c (main): Likewise.
22102         * tests/test-roundf.c (main): Likewise.
22103         * tests/test-roundl.c (main): Likewise.
22104         * tests/test-signbit.c (test_signbitf, test_signbitd)
22105         (test_signbitl): Likewise.
22106         * tests/test-snprintf-posix.h (test_function): Likewise.
22107         * tests/test-sprintf-posix.h (test_function): Likewise.
22108         * tests/test-strtod.c (main): Likewise.
22109         * tests/test-trunc1.c (main): Likewise.
22110         * tests/test-truncf1.c (main): Likewise.
22111         * tests/test-truncl.c (main): Likewise.
22112
22113         isnanl: work around icc bug
22114         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22115
22116 2010-11-03  Eric Blake  <eblake@redhat.com>
22117
22118         tests: fix compiler warnings
22119         * tests/test-getopt.h (test_getopt): Fix condition.
22120         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22121         * tests/test-pipe2.c (main): Likewise.
22122         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22123
22124         utimens: fix broken m4 test
22125         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22126
22127 2010-10-28  Bruno Haible  <bruno@clisp.org>
22128
22129         posix_spawn*, getdtablesize: Relax license.
22130         * modules/posix_spawn (License): Change to LGPLv2+.
22131         * modules/posix_spawnp (License): Likewise.
22132         * modules/posix_spawn-internal (License): Likewise.
22133         * modules/posix_spawnattr_init (License): Likewise.
22134         * modules/posix_spawnattr_getflags (License): Likewise.
22135         * modules/posix_spawnattr_setflags (License): Likewise.
22136         * modules/posix_spawnattr_getpgroup (License): Likewise.
22137         * modules/posix_spawnattr_setpgroup (License): Likewise.
22138         * modules/posix_spawnattr_getschedparam (License): Likewise.
22139         * modules/posix_spawnattr_setschedparam (License): Likewise.
22140         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22141         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22142         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22143         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22144         * modules/posix_spawnattr_getsigmask (License): Likewise.
22145         * modules/posix_spawnattr_setsigmask (License): Likewise.
22146         * modules/posix_spawnattr_destroy (License): Likewise.
22147         * modules/posix_spawn_file_actions_init (License): Likewise.
22148         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22149         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22150         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22151         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22152         * modules/getdtablesize (License): Likewise.
22153         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22154
22155 2010-10-26  Bruno Haible  <bruno@clisp.org>
22156
22157         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22158         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22159         Cygwin and mingw.
22160         Suggested by Eric Blake.
22161
22162 2010-10-26  Bruno Haible  <bruno@clisp.org>
22163
22164         stdio: Work around compilation error due to renameat() on Solaris 10.
22165         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22166         * lib/renameat.c: Don't include <unistd.h> here.
22167         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22168         Reported by Paul Eggert and Eric Blake.
22169
22170 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22171
22172         renameat: port to Solaris 10, which declares renameat in unistd.h
22173
22174         * lib/renameat.c: Include unistd.h before stdio.h, because
22175         Solaris 10 declares renameat in unistd.h.  Problem encountered
22176         when building GNU tar 1.24 on Solaris 10.
22177
22178 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22179
22180         fdopendir: fix C89 compilation
22181         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22182         compilers.
22183
22184 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22185
22186         inttostr: simplify by removing unnecessary redundancy
22187         * lib/anytostr.c: Don't include verify.h.
22188         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22189         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22190         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22191         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22192         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22193         Likewise.
22194         * modules/inttostr (Depends-on): Remove 'verify'.
22195
22196 2010-10-23  Bruno Haible  <bruno@clisp.org>
22197
22198         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22199         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22200         Reported by Eric Blake.
22201
22202 2010-10-23  Bruno Haible  <bruno@clisp.org>
22203
22204         Tests: Fix LOCALE_JA on MirBSD 10.
22205         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22206         to an UTF-8 locale.
22207         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22208         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22209         Reported by Eric Blake.
22210
22211 2010-10-21  Bruno Haible  <bruno@clisp.org>
22212
22213         nl_langinfo test: Avoid test failure on NetBSD 5.
22214         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22215         Reported by Eric Blake.
22216
22217 2010-10-21  Eric Blake  <eblake@redhat.com>
22218
22219         c-stack: work around libsigsegv 2.8 bug
22220         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22221         overflow on at least PowerPC64.
22222
22223 2010-10-17  Bruno Haible  <bruno@clisp.org>
22224
22225         userspec: Drop redundant file.
22226         * modules/userspec (Files): Remove lib/inttostr.h.
22227
22228 2010-10-17  Bruno Haible  <bruno@clisp.org>
22229
22230         nl_langinfo tests: Silence some warnings.
22231         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22232         Reported by Jim Meyering.
22233
22234 2010-10-17  Bruno Haible  <bruno@clisp.org>
22235
22236         Make use of GCC's attribute __alloc_size__.
22237         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22238         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22239         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22240         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22241         __alloc_size__.
22242         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22243         Suggested by Jim Meyering.
22244
22245 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22246
22247         bootstrap: anchor .gitignore entries.
22248         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22249         with...
22250         (insert_vc_ignore): ... this new function, which prepends `/' to
22251         all .gitignore entries before passing them to
22252         insert_sorted_if_absent.
22253
22254 2010-10-16  Bruno Haible  <bruno@clisp.org>
22255
22256         nextafter: Fix configure check.
22257         * modules/nextafter (configure.ac): Correct expected prototype.
22258
22259 2010-10-16  Bruno Haible  <bruno@clisp.org>
22260
22261         termios: Update documentation.
22262         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22263
22264 2010-10-16  Bruno Haible  <bruno@clisp.org>
22265
22266         tests: Make them compile with TinyCC.
22267         * tests/test-strstr.c (main): Remove parentheses around array
22268         initializer.
22269
22270 2010-10-15  Eric Blake  <eblake@redhat.com>
22271
22272         ignore-value: make header idempotent
22273         * lib/ignore-value.h: Add double-inclusion guards.
22274         Reported by Stefan Berger.
22275
22276 2010-10-15  Jim Meyering  <meyering@redhat.com>
22277
22278         GNUmakefile: handle "stable" target, not "major"
22279         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22280         lists in maint.mk and announce-gen.  Without this, "make stable"
22281         would fail to ensure that $(VERSION) is up to date.
22282
22283 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22284
22285         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22286         & co.
22287
22288 2010-10-14  Bruno Haible  <bruno@clisp.org>
22289
22290         vasnprintf: Don't set errno to 0.
22291         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22292         block that sets it to 0.
22293         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22294
22295 2010-10-14  Bruno Haible  <bruno@clisp.org>
22296
22297         socketlib: Fix.
22298         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22299         gl_PREREQ_SYS_H_WINSOCK2.
22300         Reported by Ian Beckwith <ianb@erislabs.net>.
22301
22302 2010-10-13  Jim Meyering  <meyering@redhat.com>
22303
22304         test-select-stdin.c: avoid warn_unused_result warnings
22305         * tests/test-select-stdin.c: Include "macros.h".
22306         ASSERT that read and fflush succeed.
22307
22308 2010-10-13  Jim Meyering  <meyering@redhat.com>
22309
22310         git-version-gen: do require git-VC'd files in cwd
22311         * build-aux/git-version-gen: Reject a git version string
22312         if there are no commits associated with the current directory.
22313         This avoids an unlikely false-positive (unrelated dir whose parent
22314         repository also contains a tag matching v*), as pointed out
22315         by Giuseppe Scrivano in
22316         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22317
22318 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22319
22320         argv-iter: omit nonconforming declaration
22321         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22322         enum arg_iter_err declaration, which doesn't conform to C99.
22323         Solaris 10 cc warns about this.
22324
22325 2010-10-13  Eric Blake  <eblake@redhat.com>
22326
22327         termios: fix compilation on mingw
22328         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22329         (gl_TERMIOS_H): Adjust it on mingw.
22330         * modules/termios (Makefile.am): Substitute new key.
22331         * lib/termios.in.h (includes): Make include_next conditional.
22332         * doc/posix-headers/termios.texi (termios.h): Update
22333         documentation.
22334         Reported by Daniel P. Berrange.
22335
22336 2010-10-13  Jim Meyering  <meyering@redhat.com>
22337
22338         git-version-gen: don't require that .git/ be in the current dir
22339         * build-aux/git-version-gen: Adjust this script so that it works
22340         when run from any working directory beneath the top-level .git/-
22341         containing directory.  Inspired by a patch from Giuseppe Scrivano,
22342         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
22343
22344         test-select: avoid warn_unused_result warnings
22345         * tests/test-select.c: Include "macros.h".
22346         ASSERT that each call to read, write, and pipe succeeds.
22347         While not technically required, also check each "close".
22348         * modules/select-tests (Files): Add tests/macros.h.
22349
22350         test-symlinkat: remove declaration of unused local
22351         * tests/test-symlinkat.c (main): Remove unused local, "buf".
22352
22353         test-inttostr: avoid shadowing warnings
22354         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
22355         and use malloc rather than the stack for the same reason as
22356         mentioned in the comment justifying the other allocation.
22357
22358 2010-10-11  Bruno Haible  <bruno@clisp.org>
22359
22360         stdlib: Allow multiple gnulib generated replacements to coexist.
22361         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
22362         Reported by Sam Steingold <sds@gnu.org>.
22363
22364 2010-10-11  Jim Meyering  <meyering@redhat.com>
22365
22366         fix a documentation typo
22367         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
22368
22369 2010-10-11  Eric Blake  <eblake@redhat.com>
22370
22371         futimens: work around Solaris 11 bug
22372         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
22373         * tests/test-futimens.h (test_futimens): Enhance, rather than
22374         weaken test.
22375         * doc/posix-functions/futimens.texi (futimens): Document the bug.
22376
22377 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22378
22379         Indentation.
22380         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
22381         higher-level operators more to the left.
22382
22383 2010-10-11  Jim Meyering  <meyering@redhat.com>
22384
22385         test-futimens: avoid unwarranted test failure on Solaris 5.11
22386         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
22387         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
22388         because it tries to dereference the NULL name argument.
22389
22390 2010-10-11  Bruno Haible  <bruno@clisp.org>
22391
22392         Indentation.
22393         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
22394         indentation.
22395
22396 2010-10-11  Jim Meyering  <meyering@redhat.com>
22397
22398         spawn.in.h: make indentation consistent with parentheses
22399         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
22400         Make indentation consistent with parentheses.
22401
22402 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
22403
22404         Fix mismatched parens in previous commit
22405         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
22406         parens.
22407
22408 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22409
22410         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
22411
22412         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
22413         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
22414         * lib/malloca.c: Include "verify.h".
22415         (verify1): Remove, replacing with a verify call.
22416         * lib/relocwrapper.c (verify1): Likewise.
22417         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
22418         Likewise.
22419         * modules/malloca (Depends-on): Add 'verify'.
22420         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
22421         * modules/vasnprintf (Depends-on): Add 'verify'.
22422         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22423         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22424         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22425         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22426         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22427         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22428         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22429
22430         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
22431
22432         Formerly the style was sometimes 2*X - 1, because the C standard
22433         was wrongly thought to disallow ?: in integral constant expressions.
22434         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
22435         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
22436         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22437         * lib/stdint.in.h (_verify_intmax_size): Likewise.
22438         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
22439         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
22440         verify that time_t cannot be floating.
22441
22442 2010-10-08  Eric Blake  <eblake@redhat.com>
22443
22444         time: enforce recent POSIX ruling that time_t is integral
22445         * lib/time.in.h (__time_t_must_be_integral): Detect any
22446         problematic systems, allowing the rest of gnulib to assume POSIX.
22447
22448 2010-10-08  Jim Meyering  <meyering@redhat.com>
22449
22450         fdopendir: fix a bug on systems lacking openat and /proc support
22451         OpenBSD 4.7 is one such system.  The most noticeable effect was
22452         failure of any application making nontrivial use of fts: rm, du,
22453         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
22454           ./rm: traversal failed: `a': Bad file descriptor
22455         Debugging that, you see that even though FD 6 was closed just
22456         prior to the opendir call in fd_clone_opendir, its resulting
22457         dir->dd_fd was 8, rather than the expected value of 6:
22458
22459         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
22460         93                close (fd);
22461         (gdb) n
22462         94                dir = fd_clone_opendir (dupfd);
22463         (gdb) n
22464         95                saved_errno = errno;
22465         (gdb) p dir->dd_fd
22466         $11 = 8
22467
22468         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
22469         The problem is that on OpenBSD, fd_clone_opendir has to resort
22470         to using the old-style save/restore CWD mechanism, due to its
22471         lack of openat/proc support, and *that* would steal the FD (6)
22472         that opendir was supposed to use.
22473
22474         The fix is to squirrel away the desired FD so that save_cwd uses a
22475         different one, and then free the dest FD right before calling opendir.
22476         That guarantees opendir will use the required file descriptor.
22477
22478         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
22479
22480 2010-10-08  Bruno Haible  <bruno@clisp.org>
22481
22482         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
22483         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
22484
22485 2010-10-08  Bruno Haible  <bruno@clisp.org>
22486
22487         nanosleep: Make replacement POSIX compliant.
22488         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
22489         is out of range.
22490         Reported by Jim Meyering.
22491
22492 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22493
22494         bootstrap: add hook for altering gnulib.mk, for Bison
22495         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
22496         the Bison bootstrapping process can rewrite file names and variables
22497         in this file before later parts of 'bootstrap' use the file.
22498         Bison wants to include lib/gnulib.mk from the top-level makefile,
22499         so it needs the file names in this file to be relative to the top
22500         level, not relative to lib; plus it needs variable names to be
22501         rewritten.
22502         (slurp): Use the new function.
22503
22504         bootstrap: reformat for readability
22505         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
22506
22507 2010-10-08  Eric Blake  <eblake@redhat.com>
22508
22509         docs: update cygwin progress
22510         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
22511         1.7.7.
22512         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
22513         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
22514         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
22515         * doc/posix-functions/carg.texi (carg): Likewise.
22516         * doc/posix-functions/cargf.texi (cargf): Likewise.
22517         * doc/posix-functions/casin.texi (casin): Likewise.
22518         * doc/posix-functions/casinf.texi (casinf): Likewise.
22519         * doc/posix-functions/casinh.texi (casinh): Likewise.
22520         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
22521         * doc/posix-functions/catan.texi (catan): Likewise.
22522         * doc/posix-functions/catanf.texi (catanf): Likewise.
22523         * doc/posix-functions/catanh.texi (catanh): Likewise.
22524         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
22525         * doc/posix-functions/ccos.texi (ccos): Likewise.
22526         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
22527         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
22528         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
22529         * doc/posix-functions/cexp.texi (cexp): Likewise.
22530         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
22531         * doc/posix-functions/cimag.texi (cimag): Likewise.
22532         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
22533         * doc/posix-functions/clog.texi (clog): Likewise.
22534         * doc/posix-functions/clogf.texi (clogf): Likewise.
22535         * doc/posix-functions/conj.texi (conj): Likewise.
22536         * doc/posix-functions/conjf.texi (conjf): Likewise.
22537         * doc/posix-functions/cpow.texi (cpow): Likewise.
22538         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
22539         * doc/posix-functions/cproj.texi (cproj): Likewise.
22540         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
22541         * doc/posix-functions/creal.texi (creal): Likewise.
22542         * doc/posix-functions/crealf.texi (crealf): Likewise.
22543         * doc/posix-functions/csin.texi (csin): Likewise.
22544         * doc/posix-functions/csinf.texi (csinf): Likewise.
22545         * doc/posix-functions/csinh.texi (csinh): Likewise.
22546         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
22547         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
22548         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
22549         * doc/posix-functions/ctan.texi (ctan): Likewise.
22550         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
22551         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
22552         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
22553         * doc/posix-headers/complex.texi (complex.h): Likewise.
22554
22555 2010-10-07  Jim Meyering  <meyering@redhat.com>
22556
22557         parse-datetime: avoid compilation failure on OpenBSD 4.7
22558         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
22559         This works around a compilation failure on OpenBSD 4.7:
22560         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
22561
22562 2010-10-07  Eric Blake  <eblake@redhat.com>
22563
22564         docs: update cygwin progress
22565         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
22566         1.7.6.
22567         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22568         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
22569         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
22570         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
22571         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
22572         Likewise.
22573         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
22574         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
22575         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
22576         Likewise.
22577         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
22578         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
22579         Likewise.
22580         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
22581         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
22582         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
22583         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
22584         Likewise.
22585         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
22586         Likewise.
22587         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
22588
22589         docs: update parse-datetime history
22590         * doc/parse-datetime.texi (Authors of parse_datetime): Better
22591         documentation of this function's history and alternatives.
22592
22593         cygwin: use more robust version check
22594         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
22595         exclude an eventual cygwin 1.9.1.
22596         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22597         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22598         (gl_FUNC_STRCASESTR): Likewise.
22599         Reported by Bruno Haible.
22600
22601 2010-10-06  Bruno Haible  <bruno@clisp.org>
22602
22603         string, sys_select: Avoid #including large headers unless necessary.
22604         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
22605         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
22606         OSF/1, BeOS, Haiku.
22607         Reported by Jim Meyering.
22608
22609 2010-10-05  Eric Blake  <eblake@redhat.com>
22610
22611         memmem, strstr, strcasestr: fix bug with long periodic needle
22612         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
22613         periodic needle having false positive.
22614         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
22615         and cygwin 1.7.7.
22616         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
22617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
22618         (gl_FUNC_STRCASESTR): Likewise.
22619         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22620         * tests/test-memmem.c (main): Expose the bug.
22621         * tests/test-strcasestr.c (main): Likewise.
22622         * tests/test-strstr.c (main): Likewise.
22623         * tests/test-c-strcasestr.c (main): Likewise.
22624         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
22625         * doc/posix-functions/strstr.texi (strstr): Likewise.
22626         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
22627         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
22628
22629 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22630
22631         parse-datetime: do some more renaming
22632         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
22633         parse_datetime, not get_date.  Mention the renaming.
22634         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
22635         in comments.
22636         * m4/bison.m4: Likewise.
22637
22638 2010-10-05  Eric Blake  <eblake@redhat.com>
22639
22640         parse-datetime: better name than get_date
22641         * NEWS: Reword the deprecation notice.
22642         * modules/get_date: Rename to modules/parse-datetime.
22643         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
22644         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
22645         * lib/get_date.y: Rename to lib/parse-datetime.y.
22646         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
22647         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
22648         * doc/getdate.texi: Provide fallback wrapper.
22649         * lib/getdate.h: Move guts, and wrap...
22650         * lib/parse-datetime.h: ...new file.
22651         * lib/parse-datetime.y (get_date): Rename...
22652         (parse_datetime): ...to this.
22653         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
22654         (gl_PARSE_DATETIME): ...to this.
22655         * doc/posix-functions/getdate.texi (get_date): Provide fallback
22656         documentation.
22657         * modules/getdate (Files): Provide fallback docs and header.
22658         (Notice, Depends-on): Update references.
22659         * tests/test-parse-datetime.c: Likewise.
22660         * DEPENDENCIES: Likewise.
22661         * MODULES.html.sh (Date and time <time.h>): Likewise.
22662         * doc/parse-datetime.texi (Date input formats)
22663         (Authors of parse_datetime): Likewise.
22664         * modules/parse-datetime (Files, configure.ac, Makefile.am)
22665         (Include): Likewise.
22666         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
22667         * gnulib-tool: Likewise.
22668         * m4/bison.m4 (gl_BISON): Likewise.
22669         Suggested by Bruno Haible.
22670
22671 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
22672
22673         more ports to Solaris tr, which needs [] around ranges
22674         * gnulib-tool: Solaris tr needs [] around ranges.
22675         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22676         * tests/test-pipe-filter-gi1.c (main): Likewise.
22677         * tests/test-pipe-filter-ii1.c (main): Likewise.
22678
22679 2010-10-05  Eric Blake  <eblake@redhat.com>
22680
22681         bootstrap: fix Solaris regression
22682         * build-aux/bootstrap (check_versions): Solaris tr still needs []
22683         around ranges.
22684         Reported by Pádraig Brady.
22685
22686         bootstrap: work with pkg-config
22687         * build-aux/bootstrap (check_versions): Also transliterate - in
22688         prerequisite name.
22689         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
22690         prerequisites that were already found, to avoid confusion.
22691         Reported by Justin Clift.
22692
22693         faccessat: remove unused wrappers
22694         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
22695         presence of these wrappers dragged in -lgen on Solaris.
22696         Reported by Clemens Brogi; fix suggested by Paul Eggert.
22697
22698 2010-10-05  Jim Meyering  <meyering@redhat.com>
22699
22700         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
22701         * Makefile (sc_pragma_columns): New syntax-check rule.
22702
22703 2010-10-04  Bruno Haible  <bruno@clisp.org>
22704
22705         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
22706         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
22707         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
22708         Reported by Bruce Korb and Eric Blake.
22709
22710 2010-10-04  Bruno Haible  <bruno@clisp.org>
22711
22712         threadlib: Make option --with-libpth-prefix work.
22713         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
22714         use $LIBPTH, not just -lpth.
22715
22716 2010-10-04  Bruno Haible  <bruno@clisp.org>
22717
22718         Avoid line length limitation from HP NonStop system header files.
22719         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
22720         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
22721         * lib/ctype.in.h: Likewise.
22722         * lib/dirent.in.h: Likewise.
22723         * lib/errno.in.h: Likewise.
22724         * lib/fcntl.in.h: Likewise.
22725         * lib/float.in.h: Likewise.
22726         * lib/getopt.in.h: Likewise.
22727         * lib/iconv.in.h: Likewise.
22728         * lib/inttypes.in.h: Likewise.
22729         * lib/langinfo.in.h: Likewise.
22730         * lib/locale.in.h: Likewise.
22731         * lib/math.in.h: Likewise.
22732         * lib/netdb.in.h: Likewise.
22733         * lib/netinet_in.in.h: Likewise.
22734         * lib/poll.in.h: Likewise.
22735         * lib/pthread.in.h: Likewise.
22736         * lib/pty.in.h: Likewise.
22737         * lib/sched.in.h: Likewise.
22738         * lib/se-selinux.in.h: Likewise.
22739         * lib/search.in.h: Likewise.
22740         * lib/signal.in.h: Likewise.
22741         * lib/spawn.in.h: Likewise.
22742         * lib/stdarg.in.h: Likewise.
22743         * lib/stddef.in.h: Likewise.
22744         * lib/stdint.in.h: Likewise.
22745         * lib/stdio.in.h: Likewise.
22746         * lib/stdlib.in.h: Likewise.
22747         * lib/string.in.h: Likewise.
22748         * lib/strings.in.h: Likewise.
22749         * lib/sys_file.in.h: Likewise.
22750         * lib/sys_ioctl.in.h: Likewise.
22751         * lib/sys_select.in.h: Likewise.
22752         * lib/sys_socket.in.h: Likewise.
22753         * lib/sys_stat.in.h: Likewise.
22754         * lib/sys_time.in.h: Likewise.
22755         * lib/sys_times.in.h: Likewise.
22756         * lib/sys_utsname.in.h: Likewise.
22757         * lib/sys_wait.in.h: Likewise.
22758         * lib/sysexits.in.h: Likewise.
22759         * lib/termios.in.h: Likewise.
22760         * lib/time.in.h: Likewise.
22761         * lib/unistd.in.h: Likewise.
22762         * lib/wchar.in.h: Likewise.
22763         * lib/wctype.in.h: Likewise.
22764         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
22765         * modules/ctype (Makefile.am): Likewise.
22766         * modules/dirent (Makefile.am): Likewise.
22767         * modules/errno (Makefile.am): Likewise.
22768         * modules/fcntl-h (Makefile.am): Likewise.
22769         * modules/float (Makefile.am): Likewise.
22770         * modules/getopt-posix (Makefile.am): Likewise.
22771         * modules/iconv-h (Makefile.am): Likewise.
22772         * modules/inttypes (Makefile.am): Likewise.
22773         * modules/langinfo (Makefile.am): Likewise.
22774         * modules/locale (Makefile.am): Likewise.
22775         * modules/math (Makefile.am): Likewise.
22776         * modules/netdb (Makefile.am): Likewise.
22777         * modules/netinet_in (Makefile.am): Likewise.
22778         * modules/poll-h (Makefile.am): Likewise.
22779         * modules/pthread (Makefile.am): Likewise.
22780         * modules/pty (Makefile.am): Likewise.
22781         * modules/sched (Makefile.am): Likewise.
22782         * modules/search (Makefile.am): Likewise.
22783         * modules/selinux-h (Makefile.am): Likewise.
22784         * modules/signal (Makefile.am): Likewise.
22785         * modules/spawn (Makefile.am): Likewise.
22786         * modules/stdarg (Makefile.am): Likewise.
22787         * modules/stddef (Makefile.am): Likewise.
22788         * modules/stdint (Makefile.am): Likewise.
22789         * modules/stdio (Makefile.am): Likewise.
22790         * modules/stdlib (Makefile.am): Likewise.
22791         * modules/string (Makefile.am): Likewise.
22792         * modules/strings (Makefile.am): Likewise.
22793         * modules/sys_file (Makefile.am): Likewise.
22794         * modules/sys_ioctl (Makefile.am): Likewise.
22795         * modules/sys_select (Makefile.am): Likewise.
22796         * modules/sys_socket (Makefile.am): Likewise.
22797         * modules/sys_stat (Makefile.am): Likewise.
22798         * modules/sys_time (Makefile.am): Likewise.
22799         * modules/sys_times (Makefile.am): Likewise.
22800         * modules/sys_utsname (Makefile.am): Likewise.
22801         * modules/sys_wait (Makefile.am): Likewise.
22802         * modules/sysexits (Makefile.am): Likewise.
22803         * modules/termios (Makefile.am): Likewise.
22804         * modules/time (Makefile.am): Likewise.
22805         * modules/unistd (Makefile.am): Likewise.
22806         * modules/wchar (Makefile.am): Likewise.
22807         * modules/wctype (Makefile.am): Likewise.
22808
22809 2010-10-04  Bruno Haible  <bruno@clisp.org>
22810
22811         read-file tests: Avoid a test failure on NonStop Kernel.
22812         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
22813         a regular file.
22814         Reported by Joachim Schmitz <schmitz@hp.com>.
22815
22816 2010-10-03  Bruno Haible  <bruno@clisp.org>
22817
22818         gnulib-tool: Fixes for --create-testdir with --libtool.
22819         * gnulib-tool (func_get_automake_snippet): Don't augment
22820         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
22821         an executable.
22822         (func_create_testdir): Handle module 'alloca' like func_import.
22823         Reported by Bruce Korb <bruce.korb@gmail.com>.
22824
22825 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
22826
22827         Avoid some lines longer than 80 characters.
22828         * lib/stdint.in.h: Break long comment lines.
22829         * lib/math.in.h: Likewise.
22830         (_GL_NUM_UINT_WORDS): New macro, for readability.
22831         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
22832         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
22833         * lib/stdlib.in.h: Likewise.
22834         * lib/spawn.in.h: Likewise.
22835         * lib/sys_socket.in.h: Update an URL.
22836         * lib/sys_stat.in.h: Break long line.
22837
22838 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
22839
22840         Improve pmccabe2html.
22841         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
22842         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
22843         when the sources change. Remove the line in the HTML about "Used
22844         ranges" (which implied that there might be other unused ranges),
22845         rename "Resume" to "Summary" (easier to understand for more users).
22846         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
22847         styles, and some unnecessary blank lines.
22848
22849 2010-10-03  Bruno Haible  <bruno@clisp.org>
22850             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
22851
22852         acl: Add support for ACLs on NonStop Kernel.
22853         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
22854         Check whether the function aclsort() exists.
22855         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
22856         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
22857         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22858         (acl_nontrivial [HAVE_ACLSORT]: New function.
22859         (file_has_acl): Implement for NonStop Kernel.
22860         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22861         (qset_acl): Implement for NonStop Kernel.
22862         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
22863         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
22864         (main): Implement for NonStop Kernel.
22865         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
22866         Kernel. Handle this flavor.
22867         * tests/test-set-mode-acl.sh: Likewise.
22868         * tests/test-copy-acl.sh: Likewise.
22869         * tests/test-copy-file.sh: Likewise.
22870
22871 2010-10-03  Bruno Haible  <bruno@clisp.org>
22872
22873         Info about ACLs on NonStop Kernel.
22874         * doc/acl-resources.txt: Add info about NonStop Kernel.
22875         References by Joachim Schmitz <schmitz@hp.com>.
22876
22877 2010-10-02  Bruno Haible  <bruno@clisp.org>
22878
22879         Define missing EDQUOT on NonStop Kernel.
22880         * lib/errno.in.h (EDQUOT): Assign a value if missing.
22881         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
22882         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
22883         missing.
22884         * doc/posix-headers/errno.texi: Mention the NSK bug.
22885         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
22886         Reported by Joachim Schmitz <schmitz@hp.com>.
22887
22888 2010-10-02  Bruno Haible  <bruno@clisp.org>
22889
22890         Update doc for POSIX:2008.
22891         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
22892         Update URL of POSIX specification.
22893
22894 2010-10-02  Bruno Haible  <bruno@clisp.org>
22895
22896         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
22897         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
22898         from gnulib, not from Automake.
22899
22900 2010-10-02  Bruno Haible  <bruno@clisp.org>
22901
22902         New module 'system-posix'.
22903         * modules/system-posix: New file.
22904         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
22905         module is present.
22906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
22907         GNULIB_SYSTEM_POSIX.
22908         * modules/stdlib (Depends-on): Remove sys_wait.
22909         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
22910         * doc/posix-functions/system.texi: Mention the new module.
22911         * doc/posix-headers/stdlib.texi: Likewise.
22912         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
22913         define test_sys_wait_macros to a no-op.
22914         Reported by Sam Steingold <sds@gnu.org>.
22915
22916 2010-09-30  Bruno Haible  <bruno@clisp.org>
22917
22918         More renaming from 'getdate' to 'get_date'.
22919         * doc/get_date.texi: Renamed from doc/getdate.texi.
22920         * modules/get_date (Files): Update.
22921         * MODULES.html.sh (Date and time <time.h>): Update.
22922         * DEPENDENCIES: Update.
22923         * gnulib-tool: Update comment.
22924         * m4/bison.m4 (gl_BISON): Likewise.
22925         * m4/get_date.m4 (gl_GET_DATE): Likewise.
22926
22927 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
22928
22929         bootstrap: support ACLOCAL_FLAGS during aclocal
22930         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
22931         can add additional -I dir for third-party .m4 files.
22932
22933 2010-09-30  Eric Blake  <eblake@redhat.com>
22934
22935         bootstrap: use glibtoolize on MacOS
22936         * build-aux/bootstrap (check_versions): Convert libtool into
22937         libtoolize.
22938         (tool search): Move libtool check earlier, and look for
22939         glibtoolize for MacOS.
22940         (gnulib_tool_options): Auto-add --libtool when appropriate.
22941         Reported by Justin Clift.
22942
22943         poll: fix typo that broke test on MacOS
22944         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
22945         Reported by Justin Clift.
22946
22947         getdate: rename to get_date
22948         Note: getdate.h is not renamed, to minimize client impact.
22949         * modules/getdate: Mark obsolete.  Move old contents...
22950         * modules/get_date: ...to new module name.
22951         * modules/getdate-tests: Move...
22952         * modules/get_date-tests: ...here.
22953         * m4/getdate.m4: Move...
22954         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
22955         * lib/getdate.y: Move...
22956         * lib/get_date.y: ...here.
22957         * tests/test-getdate.c: Move...
22958         * tests/test-get_date.c: ...here.
22959         * doc/posix-functions/getdate.texi (getdate): Update name.
22960         * NEWS: Mention the change.
22961
22962 2010-09-29  Bruno Haible  <bruno@clisp.org>
22963
22964         Separate the module 'waitpid' from the module 'sys_wait'.
22965         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22966         present.
22967         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22968         gl_MODULE_INDICATOR_FOR_TESTS.
22969         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22970         * modules/sys_wait (Depends-on): Remove waitpid.
22971         (Makefile.am): Substitute GNULIB_WAITPID.
22972         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22973         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22974         signature only if the 'waitpid' module is present.
22975         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22976         * NEWS: Mention the change.
22977         * modules/grantpt (Depends-on): Add waitpid.
22978         * modules/wait-process (Depends-on): Likewise.
22979
22980 2010-09-29  Bruno Haible  <bruno@clisp.org>
22981
22982         More tests for module 'sys_wait'.
22983         * modules/sys_wait-c++-tests: New file.
22984         * tests/test-sys_wait-c++.cc: New file.
22985         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22986         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22987
22988 2010-09-29  Bruno Haible  <bruno@clisp.org>
22989
22990         New module 'waitpid'.
22991         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22992         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22993         Don't include <process.h>.
22994         (waitpid): Declare only, using modern idiom.
22995         * m4/waitpid.m4: New file.
22996         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22997         * modules/waitpid: New file.
22998         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22999         (Makefile.am): Update.
23000         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23001
23002 2010-09-28  Bruno Haible  <bruno@clisp.org>
23003
23004         poll: Assume ANSI C.
23005         * lib/poll.c (poll): Use an ANSI C declaration.
23006
23007 2010-09-28  Bruno Haible  <bruno@clisp.org>
23008
23009         poll-h: Create poll.h on all platforms.
23010         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23011         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23012         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23013         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23014         (gl_REPLACE_POLL_H): Don't set POLL_H.
23015         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23016         * modules/poll-h (Depends-on): Add include_next.
23017         (Makefile.am): Create poll.h unconditionally. Substitute also
23018         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23019
23020 2010-09-28  Bruno Haible  <bruno@clisp.org>
23021
23022         Tests for module 'poll-h'.
23023         * modules/poll-h-c++-tests: New file.
23024         * tests/test-poll-h-c++.cc: New file.
23025
23026         Tests for module 'poll-h'.
23027         * modules/poll-h-tests: New file.
23028         * tests/test-poll-h.c: New file.
23029
23030 2010-09-28  Bruno Haible  <bruno@clisp.org>
23031
23032         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23033         * modules/poll-h (Depends-on): Add 'extensions'.
23034
23035 2010-09-28  Bruno Haible  <bruno@clisp.org>
23036
23037         New module 'poll-h'.
23038         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23039         (poll): Use modern idiom.
23040         * modules/poll-h: New file.
23041         * modules/poll (Files): Remove lib/poll.in.h.
23042         (Depends-on): Add poll-h.
23043         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23044         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23045         * m4/poll_h.m4: New file.
23046         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23047         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23048         and invoke gl_REPLACE_POLL_H.
23049         * lib/poll.c: Use common idiom.
23050         * tests/test-poll.c: Likewise.
23051         * doc/posix-headers/poll.texi: Mention the poll-h module.
23052         Suggested by Eric Blake.
23053
23054 2010-09-26  Bruno Haible  <bruno@clisp.org>
23055
23056         sys_wait: Implement WSTOPSIG.
23057         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23058         Reported by Simon Josefsson.
23059
23060 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23061
23062         stdlib, sys_wait: Avoid compilation error on mingw.
23063         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23064
23065 2010-09-26  Bruno Haible  <bruno@clisp.org>
23066
23067         stdlib tests: Avoid code duplication.
23068         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23069         * modules/sys_wait-tests (Files): Likewise.
23070         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23071         * tests/test-stdlib.c: Include test-sys_wait.h.
23072         (main): Invoke test_sys_wait_macros.
23073         * tests/test-sys_wait.c: Include test-sys_wait.h.
23074         (main): Invoke test_sys_wait_macros.
23075
23076 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23077
23078         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23079         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23080         sure Windows sockets are working before calling getaddrinfo.
23081         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23082         * doc/gnulib.texi (Windows sockets): Fix typo.
23083
23084 2010-09-25  Bruno Haible  <bruno@clisp.org>
23085
23086         Tests for module 'regex-quote'.
23087         * modules/regex-quote-tests: New file.
23088         * tests/test-regex-quote.c: New file.
23089
23090         New module 'regex-quote'.
23091         * lib/regex-quote.h: New file.
23092         * lib/regex-quote.c: New file.
23093         * modules/regex-quote: New file.
23094         Suggested by Reuben Thomas <rrt@sc3d.org>.
23095
23096 2010-09-24  Bruno Haible  <bruno@clisp.org>
23097
23098         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23099         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23100
23101 2010-09-23  Bruno Haible  <bruno@clisp.org>
23102
23103         setenv: Relax license.
23104         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23105         Blake.
23106         Requested by Eric Blake.
23107
23108 2010-09-22  Bruno Haible  <bruno@clisp.org>
23109
23110         termios: Relax license.
23111         * modules/termios (License): Change to LGPLv2+.
23112         Requested by Eric Blake.
23113
23114 2010-09-22  Bruno Haible  <bruno@clisp.org>
23115
23116         threadlib: Allow the package to change the default to 'no'.
23117         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23118         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23119         Reported by Paul Eggert.
23120
23121 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23122             Bruno Haible  <bruno@clisp.org>
23123
23124         Fix endless loop in mbmemcasecoll.
23125         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23126         byte.
23127         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23128
23129 2010-09-22  Bruno Haible  <bruno@clisp.org>
23130
23131         Tests for module 'memcoll'.
23132         * modules/memcoll-tests: New file.
23133         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23134
23135         memcoll, xmemcoll: Clarify size vs. length.
23136         * modules/memcoll.c (memcoll0): Clarify specification.
23137         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23138         passed to collate_error.
23139
23140 2010-09-22  Bruno Haible  <bruno@clisp.org>
23141
23142         Tests for module 'memcasecmp'.
23143         * modules/memcasecmp-tests: New file.
23144         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23145
23146 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23147
23148         * lib/pthread.in.h: Add split double-inclusion guard, and include
23149         system <pthread.h> if there is one.  Use @@-style as in other
23150         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23151         pthread.h doesn't.
23152         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23153         (pthread_mutexattr_settype, pthread_mutex_trylock):
23154         New static inline functions, if there's no system <pthread.h>.
23155         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23156         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23157         Approximate with mutexes if the system lacks spinlocks, as in
23158         MacOS.
23159         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23160         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23161         @@-style.  Check for spinlocks separately.
23162         (gl_PTHREAD_DEFAULTS): New macro.
23163         * modules/pthread: Redo to use a more typical style for in.h files.
23164
23165 2010-09-21  Eric Blake  <eblake@redhat.com>
23166
23167         net_if: enhance tests
23168         * tests/test-net_if.c (main): Move signature checks earlier.
23169         Print failures to stderr.
23170         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23171         Document the bug that we do not yet fix.
23172
23173 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23174
23175         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23176         about gnulib, not GSS.
23177
23178 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23179
23180         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23181         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23182         for Emacs.
23183         * build-aux/pmccabe2html: Make Makefile.am example code more
23184         cut-and-paste friendly.
23185
23186 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23187
23188         * tests/test-net_if.c: New file.
23189         * modules/net_if-tests: New file.
23190
23191 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23192
23193         pthread: add pthread_spin_destroy
23194         * lib/pthread.in.h (pthread_spin_destroy): New function.
23195
23196 2010-09-19  Bruno Haible  <bruno@clisp.org>
23197
23198         gnulib-tool: Fix --help output.
23199         * gnulib-tool (func_usage): Fix help message.
23200         Reported by Reuben Thomas <rrt@sc3d.org>.
23201
23202 2010-09-18  Jim Meyering  <meyering@redhat.com>
23203
23204         maint.mk: avoid unexpanded \n in two diagnostics
23205         * top/maint.mk (sc_prohibit_always_true_header_tests):
23206         Don't use a literal \n in a halt=... assignment.  It would not be
23207         expanded, and the two \n bytes would appear in the diagnostic output
23208         rather than the desired newline.  Use halt=$$(printf ... instead.
23209         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23210
23211 2010-09-18  Bruno Haible  <bruno@clisp.org>
23212
23213         netinet_in: Doc tweak.
23214         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23215         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23216
23217 2010-09-18  Jim Meyering  <meyering@redhat.com>
23218
23219         init.sh: correct an outdated comment
23220         * tests/init.sh (create_exe_shims_):  s/function/alias/
23221
23222         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23223         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23224         a file named "*.exe" is removed between the glob expansion and the
23225         processing of that oddly named file.
23226
23227 2010-09-17  Eric Blake  <eblake@redhat.com>
23228
23229         mirbsd: add some more support
23230         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23231         in BSD family.
23232         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23233         devices as OpenBSD.
23234         * m4/host-os.m4 (mirbsd): Add MirBSD.
23235
23236         tests: fix unportable assumption on sys/wait.h
23237         * tests/test-sys_wait.c (main): Relax test.
23238         * tests/test-stdlib.c (main): Likewise.
23239
23240         init.sh: accomodate directory with no .exes
23241         * tests/init.sh: Accomodate directory containing only scripts.
23242
23243         tests: avoid compiler warning
23244         * tests/test-stdlib.c (main): Use the variable.
23245
23246         fdutimens, fdutimensat: update signature, again
23247         * lib/utimens.h (gl_futimens): Delete, and move signature...
23248         (fdutimens): ...here.
23249         (fdutimensat): Rearrange signature.
23250         (lutimensat): Rename variable for clarity.
23251         * lib/fdutimensat.c (fdutimensat): Update signature.
23252         * lib/utimens.c (fdutimens): Likewise.
23253         (gl_futimens): Delete.
23254         (utimens, lutimens): Update callers.
23255         * lib/futimens.c (futimens): Likewise.
23256         * tests/test-fdutimensat.c: Likewise.
23257         * tests/test-utimens.c: Likewise.
23258         * tests/test-futimens.h: Update comment.
23259         * NEWS: Mention this.
23260         Suggested by Paul Eggert.
23261
23262 2010-09-17  Bruno Haible  <bruno@clisp.org>
23263
23264         Take over the maintenance of some older macros from Autoconf.
23265         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23266         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23267         GNU Autoconf.
23268         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23269         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23270
23271 2010-09-17  Eric Blake  <eblake@redhat.com>
23272
23273         fdutimensat: drop atflag validation
23274         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23275         with valid fd, to close a race scenario where futimens is
23276         unsupported and FILE was replaced by a symlink.
23277         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23278         accordingly.
23279         Suggested by Paul Eggert.
23280
23281 2010-09-16  Bruno Haible  <bruno@clisp.org>
23282
23283         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23284         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23285
23286 2010-09-16  Bruno Haible  <bruno@clisp.org>
23287
23288         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23289         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23290         login_tty exists.
23291         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23292
23293 2010-09-16  Bruno Haible  <bruno@clisp.org>
23294
23295         login_tty: Make the replacement code work on BSD systems.
23296         * lib/login_tty.c: Include <sys/ioctl.h>.
23297         (login_tty): Use ioctl TIOCSCTTY when available.
23298         * modules/login_tty (Depends-on): Add sys_ioctl.
23299         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23300
23301 2010-09-16  Bruno Haible  <bruno@clisp.org>
23302
23303         login_tty: Stricter unit test.
23304         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23305         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23306         and tcgetsid() after login_tty.
23307         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23308
23309 2010-09-16  Bruno Haible  <bruno@clisp.org>
23310
23311         New module 'tcgetsid'.
23312         * lib/tcgetsid.c: New file.
23313         * m4/tcgetsid.m4: New file.
23314         * modules/tcgetsid: New file.
23315         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23316         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23317         GNULIB_TCGETSID, HAVE_TCGETSID.
23318         * lib/termios.in.h: Include <sys/types.h>.
23319         (tcgetsid): New declaration.
23320         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23321         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23322         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23323         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23324
23325 2010-09-16  Bruno Haible  <bruno@clisp.org>
23326
23327         Tests for module 'termios'.
23328         * modules/termios-c++-tests: New file.
23329         * modules/termios-tests: New file.
23330         * tests/test-termios-c++.cc: New file.
23331         * tests/test-termios.c: New file.
23332
23333         New module 'termios'.
23334         * modules/termios: New file.
23335         * lib/termios.in.h: New file.
23336         * m4/termios_h.m4: New file.
23337         * doc/posix-headers/termios.texi: Mention the new module.
23338
23339 2010-09-16  Eric Blake  <eblake@redhat.com>
23340
23341         fdutimensat: add an atflag parameter
23342         * lib/fdutimensat.c (fdutimensat): Add new parameter.
23343         * lib/utimens.h (fdutimensat): Update prototype.
23344         * tests/test-fdutimensat.c: Adjust test to match.
23345         * NEWS: Document the change.
23346         Suggested by Paul Eggert.
23347
23348 2010-09-16  Bruno Haible  <bruno@clisp.org>
23349
23350         Fix typos in comments.
23351         * lib/striconveh.h: Fix typo in comment.
23352         * lib/login_tty.c (login_tty): Likewise.
23353
23354 2010-09-15  Bruno Haible  <bruno@clisp.org>
23355
23356         stdlib: clarify MirBSD WEXITSTATUS bug
23357         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
23358         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23359
23360 2010-09-15  Eric Blake  <eblake@redhat.com>
23361
23362         stdlib: work around MirBSD WEXITSTATUS bug
23363         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
23364         * modules/stdlib (Depends-on): Add sys_wait.
23365         * tests/test-sys_wait.c (main): Enhance test.
23366         * tests/test-stdlib.c (main): Likewise.
23367         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
23368
23369         docs: mention MacOS issue with WEXITSTATUS(constant)
23370         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
23371         issue.
23372         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
23373
23374         strnlen: add tests
23375         * modules/strnlen-tests: New file.
23376         * tests/test-strnlen.c: Likewise.
23377
23378 2010-09-14  Bruno Haible  <bruno@clisp.org>
23379
23380         unistr/base: Avoid link errors when module 'libunistring' is also used.
23381         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
23382         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
23383         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
23384         Declare also when HAVE_LIBUNISTRING is set.
23385         Reported by Pádraig Brady <P@draigbrady.com>.
23386
23387 2010-09-14  Eric Blake  <eblake@redhat.com>
23388
23389         test-rawmemchr: make more robust
23390         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
23391         (Depends-on, configure.ac): Add needed prerequisites to use it.
23392         * modules/memchr-tests (Files, Depends-on, configure.ac):
23393         Likewise, to avoid implicit reliance on memchr module prereqs.
23394         * tests/test-memchr.c (main): Ensure proper masking.
23395         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
23396         reads.
23397
23398         memchr: detect glibc Alpha bug
23399         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
23400         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
23401         Alpha.
23402         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
23403         * tests/test-memchr.c (main): Enhance test.
23404         Reported by Nelson H. F. Beebe.
23405
23406 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23407
23408         fts, getcwd, glob: audit for dirfd returning -1
23409         * lib/fts.c (opendir): Remove #define; no longer used.
23410         (opendirat): New arg PDIR_FD.  All callers changed.
23411         (fts_build, _opendir2): Use new opendirat to avoid the need for
23412         dirfd, or for checking whether dirfd returns a negative value.
23413         Don't use opendir; always use openat followed by fdopendir.
23414         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
23415         it.
23416         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
23417         returns -1 here.
23418         * modules/fts (Depends-on): Remove dirfd.
23419         * modules/getcwd (Depends-on): Likewise.
23420
23421 2010-09-13  Eric Blake  <eblake@redhat.com>
23422
23423         float: fix broken MirBSD header
23424         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
23425         * doc/posix-headers/float.texi (float.h): Document it.
23426
23427 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
23428
23429         fts: use O_NOFOLLOW to avoid race condition when opening a directory
23430         * lib/fts.c (opendirat): New arg extra_flags.
23431         (__opendir2): Use it to avoid following symlinks when opening
23432         a directory, if symlinks are not supposed to be followed.  See
23433         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
23434
23435         fdopendir: preserve argument fd before returning
23436         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
23437         (fdopendir_with_dup, fd_clone_opendir): New static functions.
23438         (fdopendir): Use them, arranging for FD to be open to the same
23439         directory that it was when it started.  (It might be temporarily
23440         closed while fdopendir is running, so this not thread- or
23441         signal-safe.)  Be careful to do the right thing even when file
23442         descriptors are scarce and dup fails with errno == EMFILE.  See
23443         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
23444
23445 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
23446
23447         regex: Pass the system regex if its only problem is 32-bit regoff_t.
23448         * NEWS: Document change.
23449         * m4/regex.m4: Disable test for regoff_t size.
23450
23451 2010-09-13  Jim Meyering  <meyering@redhat.com>
23452
23453         fts: don't operate on an invalid file descriptor after failed dup
23454         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
23455         negative file descriptor.
23456
23457 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
23458
23459         savedir: add streamsavedir, deprecate fdsavedir
23460         * NEWS: Mention deprecation of fdsavedir.
23461         * lib/savedir.c (streamsavedir): New extern function, whose name
23462         ends in "savedir" to be consistent with the others.  This differs
23463         from savedirstream in that it doesn't close its argument.  The
23464         next version of GNU tar will use this instead of fdsavedir, to
23465         avoid some race conditions and conserve file descriptors.
23466         (savedirstream): Reimplement as a wrapper around streamsavedir.
23467         (fdsavedir): Add a comment deprecating this function.  As far as
23468         I know, only GNU tar used it, and GNU tar doesn't need it any more.
23469         * lib/savedir.h (streamsavedir): New decl.
23470         (fdsavedir): Add a comment deprecating this.
23471
23472 2010-09-10  Bruno Haible  <bruno@clisp.org>
23473
23474         langinfo: Fix last commit.
23475         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
23476         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
23477         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23478
23479 2010-09-10  Bruno Haible  <bruno@clisp.org>
23480
23481         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
23482         * lib/progreloc.c (O_EXEC): Define fallback.
23483
23484 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
23485
23486         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
23487         * NEWS: Document recent changes to fcntl-h.
23488         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
23489         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
23490         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
23491         Similarly for O_SEARCH; this last was already true, but not documented.
23492         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
23493         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
23494         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
23495         Likewise.
23496         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
23497         is zero, not whether it is defined.
23498         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
23499         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
23500         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
23501
23502 2010-09-10  Bruno Haible  <bruno@clisp.org>
23503
23504         langinfo, nl_langinfo: Fix for IRIX 5.3.
23505         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
23506         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
23507         HAVE_LANGINFO_YESEXPR.
23508         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
23509         HAVE_LANGINFO_YESEXPR.
23510         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
23511         HAVE_LANGINFO_T_FMT_AMPM is 0.
23512         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
23513         HAVE_LANGINFO_YESEXPR is 0.
23514         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
23515         NOEXPR.
23516         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
23517         * doc/posix-functions/nl_langinfo.texi: Likewise.
23518         Reported by Eric Blake.
23519
23520 2010-09-10  Bruno Haible  <bruno@clisp.org>
23521
23522         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
23523         * doc/glibc-functions/login_tty.texi: Mention the include file problem
23524         on FreeBSD 8.0 and OpenBSD 4.6.
23525         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
23526         * m4/pty_h.m4 (gl_PTY_H): Likewise.
23527         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
23528         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
23529         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
23530         ac_includes_default.
23531         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23532
23533 2010-09-09  Eric Blake  <eblake@redhat.com>
23534
23535         strsignal: work around NetBSD bug
23536         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
23537         * lib/string.in.h (includes): Likewise.
23538         * doc/posix-functions/strsignal.texi (strsignal): Document the
23539         bug.
23540         Reported by Nelson H. F. Beebe.
23541
23542         gnulib-tool: work with NetBSD /bin/sh
23543         * gnulib-tool (func_cache_var, func_cache_lookup_module)
23544         (func_get_description, func_get_comment, func_get_status)
23545         (func_get_notice, func_get_applicability, func_get_filelist)
23546         (func_get_dependencies, func_get_autoconf_early_snippet)
23547         (func_get_autoconf_snippet, func_get_automake_snippet)
23548         (func_get_include_directive, func_get_link_directive)
23549         (func_get_license, func_get_maintainer, func_import): Avoid
23550         shell syntax errors from parsing syntax extensions.
23551
23552 2010-09-09  Bruno Haible  <bruno@clisp.org>
23553
23554         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23555         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
23556         a reliable way to determine whether the 'alias' command works.
23557
23558 2010-09-08  Jim Meyering  <meyering@redhat.com>
23559
23560         init.sh: penalize a set-x-impaired shell; don't disqualify it
23561         * tests/init.sh: Too many shells corrupt application stderr when
23562         you set -x, so we can't afford to disqualify them, since at least
23563         on Irix-6.5, that would disqualify all bourne shells.
23564         Instead, use a two-pass approach.
23565         On the first pass, try to find a shell that meets the stricter
23566         condition that set -x does not corrupt stderr.
23567         If no shell meets the stricter condition, retest each candidate
23568         shell, but without that extra condition.  Finally, when
23569         VERBOSE=yes is requested and set -x might cause trouble, simply
23570         issue a warning and refrain from enabling debug output.
23571
23572 2010-09-08  Eric Blake  <eblake@redhat.com>
23573
23574         unsetenv: fix OpenBSD bug
23575         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
23576         * doc/posix-functions/unsetenv.texi (unsetenv): Update
23577         documentation.
23578         Reported by Jim Meyering.
23579
23580         strtod: work around IRIX 6.5 bug
23581         * lib/strtod.c (strtod): Reparse number on shorter string if
23582         exponent parse was invalid.
23583         * tests/test-strtod.c (main): Add check for "0x1p 2".
23584         Reported by Tom G. Christensen.
23585
23586         getopt: optimize previous patch
23587         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
23588         empty variable.  Speed up awk script.
23589         Reported by Paolo Bonzini.
23590
23591 2010-09-08  Jim Meyering  <meyering@redhat.com>
23592
23593         test.sh: disqualify shells for which set -x corrupts stderr
23594         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
23595         and OpenBSD 4.7.  They make it so with "set -x", environment settings
23596         appear in stderr output.  For example, this command:
23597             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
23598         prints "P=1" on those two systems:
23599
23600 2010-09-08  Bruno Haible  <bruno@clisp.org>
23601
23602         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
23603         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
23604         commands, because some shells ignore redirections when there is an
23605         error in the command lookup.
23606         Reported by Eric Blake.
23607
23608 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
23609
23610         * lib/regex.h: Fix a mention of `regex_compile' (should be
23611         `re_compile_pattern').
23612         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
23613         (re_set_registers): Correct name of parameter in comment.
23614
23615         * doc/regex.texi: Add documentation for missing syntax flags.
23616         Remove commented-out documentation of defunct syntax option
23617         RE_NO_EMPTY_ALTS.
23618         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
23619         Add documentation of re_set_registers.
23620         Document trick to re-use a pattern buffer by setting fastmap manually.
23621         Update documentation of struct re_pattern_buffer per public members.
23622         Uncomment documentation of equivalence class operators and
23623         collating symbol operators, since they are now implemented,
23624         Explain leftmost-longest matching in relation to alternatives.
23625         Tidy documentation of substring matching.
23626         Remove POSIX documentation, which is done better in
23627         glibc, and refer the reader there. Keep BSD API documentation, as
23628         that is not readily available elsewhere.
23629
23630 2010-09-07  Eric Blake  <eblake@redhat.com>
23631
23632         getopt: handle POSIXLY_CORRECT set but not exported
23633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
23634         export state of POSIXLY_CORRECT, due to bash set -o posix.
23635         Reported by Dustin J. Mitchell.
23636
23637 2010-09-05  Bruno Haible  <bruno@clisp.org>
23638
23639         gnulib-tool: Highlight the changed options.
23640         * gnulib-tool (func_usage): Display the --import, --add-import,
23641         --remove-import explanations in bold font.
23642
23643 2010-09-06  Karl Berry  <karl@gnu.org>
23644
23645         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
23646
23647 2010-09-05  Bruno Haible  <bruno@clisp.org>
23648
23649         uniwidth/width: Update comment.
23650         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
23651         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
23652
23653 2010-09-05  Bruno Haible  <bruno@clisp.org>
23654
23655         isinf, isnan: Relax license.
23656         * modules/isinf (License): Change from GPL to LGPL, with consent from
23657         Ben Pfaff.
23658         * modules/isnan (License): Likewise.
23659         Requested by Ludovic Courtès.
23660
23661 2010-09-04  Bruno Haible  <bruno@clisp.org>
23662
23663         gnulib-tool: Help migration from --import to --add-import or --update.
23664         * gnulib-tool: Emit a verbose error message when --import is used
23665         without any module name.
23666
23667 2010-09-04  Bruno Haible  <bruno@clisp.org>
23668
23669         Update doc about gnulib-tool.
23670         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
23671         'gnulib-tool --update' in more detail.
23672         Reported by Eric Blake.
23673
23674 2010-09-04  Bruno Haible  <bruno@clisp.org>
23675
23676         gnulib-tool: Change --import. New options --add/remove-import.
23677         * gnulib-tool: New options --add-import, --remove-import.
23678         (func_usage): Document them.
23679         (have_associative): Define always.
23680         (func_import): In import mode, don't merge the specified settings with
23681         the cached settings. Implement remove-import mode.
23682         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
23683         Explain when to use them versus --import.
23684         (Simple update): Use --add-import instead of --import.
23685         * NEWS: Mention the change.
23686
23687 2010-09-04  Bruno Haible  <bruno@clisp.org>
23688
23689         * doc/gnulib-tool.texi (Initial import): Update paragraph about
23690         separate gnulib.mk.
23691
23692 2010-09-04  Bruno Haible  <bruno@clisp.org>
23693
23694         gnulib-tool: Don't talk about CVS any more.
23695         * gnulib-tool (func_usage, func_import): Write "version control"
23696         instead of CVS.
23697
23698 2010-09-04  Jim Meyering  <meyering@redhat.com>
23699
23700         maint.mk: avoid obscure sc_copyright_check failure in coreutils
23701         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
23702         false positives (whose names may be ill-chosen) when searching
23703         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
23704         would cause a false-positive.
23705
23706         avoid coreutils "make distcheck" failure
23707         Coreutils tests with an absolute build directory name that contains
23708         a space.  Not quoting this directory name caused a failure.
23709         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
23710         * tests/test-vc-list-files-cvs.sh: Likewise.
23711
23712 2010-09-04  Bruno Haible  <bruno@clisp.org>
23713
23714         gnulib-tool: Avoid error when run in a package without Makefile.am.
23715         * gnulib-tool: When collecting the m4dirs in a package that does not
23716         have a Makefile.am, eliminate those directories that contain no
23717         gnulib-cache.m4. Fix expression that counts these directories.
23718
23719 2010-09-04  Bruno Haible  <bruno@clisp.org>
23720
23721         update-copyright test: Improve output when perl is missing or too old.
23722         * tests/test-update-copyright.sh: Move test of Perl version down after
23723         the test whether Perl exists. Provide an explanation relating Perl's
23724         error message to Automake's SKIP: message.
23725
23726 2010-09-04  Bruno Haible  <bruno@clisp.org>
23727
23728         Don't augment PATH in TESTS_ENVIRONMENT.
23729         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
23730         set abs_aux_dir instead of augmenting PATH.
23731         * modules/vc-list-files-tests (Makefile.am): Likewise.
23732         * tests/test-update-copyright.sh: Augment PATH here.
23733         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
23734         path_prepend_.
23735         * tests/test-vc-list-files-git.sh: Likewise.
23736
23737 2010-09-04  Jim Meyering  <meyering@redhat.com>
23738
23739         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
23740         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
23741
23742 2010-09-04  Bruno Haible  <bruno@clisp.org>
23743
23744         strdup: Fix compilation error in C++ mode.
23745         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
23746         the macro.
23747
23748 2010-09-04  Bruno Haible  <bruno@clisp.org>
23749
23750         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
23751         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
23752         macro into a function.
23753         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
23754
23755 2010-09-04  Bruno Haible  <bruno@clisp.org>
23756
23757         Set PATH_SEPARATOR the same way autoconf does.
23758         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
23759         the value of PATH_SEPARATOR the same way autoconf-generated configure
23760         scripts do.
23761         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
23762         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23763
23764 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23765
23766         Set PATH_SEPARATOR the same way autoconf does.
23767         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
23768         the same way autoconf-generated configure scripts do.
23769         * posix-modules: Likewise.
23770
23771 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
23772
23773         hash: fix safe_hasher const typo
23774         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
23775         const; otherwise, there is a type error later.
23776
23777 2010-09-02  Jim Meyering  <meyering@redhat.com>
23778
23779         test-update-copyright.sh: require perl 5.8.0
23780         * tests/test-update-copyright.sh: Require 5.8.0,
23781         which Tom G. Christensen has confirmed is adequate,
23782         while 5.6.1 is not.
23783
23784 2010-09-02  Eric Blake  <eblake@redhat.com>
23785
23786         tests: init.sh improvements for re-exec'ing with zsh
23787         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
23788         -vx through shell re-exec.
23789         Reported by Tom G. Christensen.
23790
23791         wctype: fix typo in previous commit
23792         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
23793         Reported by Ludovic Courtès.
23794
23795 2010-09-02  Jim Meyering  <meyering@redhat.com>
23796
23797         test-update-copyright.sh: skip test if Perl is too old
23798         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
23799         Reported by Tom G. Christensen.
23800
23801 2010-09-02  Bruno Haible  <bruno@clisp.org>
23802
23803         wctype: Avoid compilation error on IRIX 6.5.30.
23804         * lib/wctype.in.h (iswblank): Declare with a replacement if
23805         REPLACE_ISWBLANK is set.
23806         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
23807         declared. Set REPLACE_ISWBLANK.
23808         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
23809         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
23810         * doc/posix-headers/wctype.texi: Likewise.
23811         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23812
23813 2010-09-01  Bruno Haible  <bruno@clisp.org>
23814
23815         New module 'socketlib'.
23816         * modules/socketlib: New file.
23817         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
23818         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
23819         * modules/sockets (Depends-on): Add socketlib.
23820         Suggested by Sam Steingold <sds@gnu.org>.
23821
23822 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
23823
23824         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
23825
23826         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
23827         when one needs search access to a directory but not read access.
23828         On systems where it is available, it works in some cases where
23829         O_RDONLY does not, namely on directories that are searchable but
23830         not readable, and which need only to be searchable.  If O_SEARCH
23831         is not available, fall back to the traditional method of using
23832         O_RDONLY.
23833
23834         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
23835         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
23836         when opening a directory that needs only to be searchable.
23837         * lib/chdir-safer.c (chdir_no_follow): Likewise.
23838         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
23839         * lib/openat-proc.c (openat_proc_name): Likewise.
23840         * lib/openat.c (openat_needs_fchdir): Likewise.
23841         * lib/save-cwd.c (save_cwd): Likewise.
23842         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
23843
23844 2010-08-28  Bruno Haible  <bruno@clisp.org>
23845
23846         New module 'host-cpu-c-abi'.
23847         * modules/host-cpu-c-abi: New file.
23848         * m4/host-cpu-c-abi.m4: New file, based on part of
23849         clisp/src/m4/general.m4.
23850         Requested by Sam Steingold <sds@gnu.org>.
23851
23852 2010-08-31  Eric Blake  <eblake@redhat.com>
23853         and Jim Meyering  <meyering@redhat.com>
23854
23855         hash: factor, and guard against misbehaving hasher function
23856         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
23857         of table->hasher's return value.  Also protect against a hash value
23858         so large that adding it to table->bucket results in a NULL pointer.
23859         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
23860         Use it in place of open-coded check-and-abort.
23861
23862 2010-08-30  Bruno Haible  <bruno@clisp.org>
23863
23864         hash: silence spurious clang warning
23865         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
23866         Reported by Eric Blake.
23867
23868 2010-08-30  Eric Blake  <eblake@redhat.com>
23869
23870         strstr, memmem, strcasestr: avoid leaked shell message
23871         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
23872         FreeBSD.
23873         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23874         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23875
23876         tests: silence clang warning
23877         * tests/test-malloca.c (do_allocation): Avoid dead store.
23878
23879 2010-08-29  Bruno Haible  <bruno@clisp.org>
23880
23881         gettext: Fix recent mistake.
23882         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
23883
23884 2010-08-29  Bruno Haible  <bruno@clisp.org>
23885
23886         selinux-h: Offer a --without-selinux option.
23887         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
23888         --without-selinux was specified, skip all tests and define
23889         HAVE_SELINUX_SELINUX_H to 0.
23890         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
23891         set LIB_SELINUX to empty.
23892         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
23893         gl_LIBSELINUX. If --without-selinux was specified, replace
23894         selinux/context.h.
23895         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
23896
23897 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23898             Bruno Haible  <bruno@clisp.org>
23899
23900         Make the module 'realloc-gnu' work again on AIX and OSF/1.
23901         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
23902         of HAVE_REALLOC.
23903         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
23904         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
23905         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
23906         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23907
23908 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23909             Bruno Haible  <bruno@clisp.org>
23910
23911         Make the module 'calloc-gnu' work again on AIX and OSF/1.
23912         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
23913         HAVE_CALLOC.
23914         * lib/xmalloc.c: Update accordingly.
23915         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
23916         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
23917         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
23918
23919 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23920             Bruno Haible  <bruno@clisp.org>
23921
23922         Make the module 'malloc-gnu' work again on AIX and OSF/1.
23923         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
23924         HAVE_MALLOC.
23925         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
23926         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
23927         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
23928
23929 2010-08-29  Bruno Haible  <bruno@clisp.org>
23930
23931         Update modules list.
23932         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
23933         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
23934         (String handling <string.h>): Add astrxfrm.
23935         (File system functions): Add readlinkat.
23936
23937 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23938
23939         Tests for module 'realloc-gnu'.
23940         * modules/realloc-gnu-tests: New file.
23941         * tests/test-realloc-gnu.c: New file.
23942
23943         Tests for module 'calloc-gnu'.
23944         * modules/calloc-gnu-tests: New file.
23945         * tests/test-calloc-gnu.c: New file.
23946
23947         Tests for module 'malloc-gnu'.
23948         * modules/malloc-gnu-tests: New file.
23949         * tests/test-malloc-gnu.c: New file.
23950
23951 2010-08-28  Bruno Haible  <bruno@clisp.org>
23952
23953         Rename module 'realloc' -> 'realloc-gnu'.
23954         * modules/realloc-gnu: New file, copied from modules/realloc.
23955         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
23956         obsolete.
23957         * modules/mgetgroups (Depends-on): Update.
23958         * doc/posix-functions/realloc.texi: Update.
23959         * NEWS: Mention the change.
23960
23961         Rename module 'calloc' -> 'calloc-gnu'.
23962         * modules/calloc-gnu: New file, copied from modules/calloc.
23963         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
23964         obsolete.
23965         * doc/posix-functions/calloc.texi: Update.
23966         * NEWS: Mention the change.
23967
23968         Rename module 'malloc' -> 'malloc-gnu'.
23969         * modules/malloc-gnu: New file, copied from modules/malloc.
23970         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23971         obsolete.
23972         * modules/argp (Depends-on): Update.
23973         * modules/regex (Depends-on): Update.
23974         * doc/posix-functions/malloc.texi: Update.
23975         * NEWS: Mention the change.
23976
23977 2010-08-28  Eric Blake  <eblake@redhat.com>
23978
23979         pread, pwrite: add missing dependency
23980         * modules/pread (Depends-on): Add extensions.
23981         * modules/pwrite (Depends-on): Likewise.
23982
23983 2010-08-28  Bruno Haible  <bruno@clisp.org>
23984
23985         unistr/u*-strchr: Fix tests dependencies.
23986         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23987         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23988         Reported by Ian Beckwith <ianb@erislabs.net>.
23989
23990 2010-08-28  Bruno Haible  <bruno@clisp.org>
23991
23992         read-file: Don't occupy too much unused memory.
23993         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23994
23995 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23996             Eric Blake  <eblake@redhat.com>
23997             Bruno Haible  <bruno@clisp.org>
23998
23999         read-file: Avoid memory reallocations with regular files.
24000         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24001         (fread_file): With regular files, use the remaining length as the
24002         initial buffer size.  Check against overflow.
24003         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24004         sys_stat.
24005
24006 2010-08-28  Bruno Haible  <bruno@clisp.org>
24007
24008         ftello: Relax license.
24009         * modules/ftello (License): Relax to LGPLv2+.
24010         Reported by Eric Blake.
24011
24012 2010-08-28  Bruno Haible  <bruno@clisp.org>
24013
24014         Avoid relocwrapper link errors due to gnulib replacement functions.
24015         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24016         function.
24017         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24018
24019 2010-08-28  Bruno Haible  <bruno@clisp.org>
24020
24021         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24022         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24023         defined.
24024         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24025         Suggested by Eric Blake.
24026
24027 2010-08-28  Bruno Haible  <bruno@clisp.org>
24028
24029         sys_socket, netdb: Ensure socklen_t gets defined.
24030         * modules/sys_socket (Depends-on): Add socklen.
24031         * modules/netdb (Depends-on): Likewise.
24032         * modules/getaddrinfo (Depends-on): Remove socklen.
24033         * modules/getsockopt (Depends-on): Likewise.
24034         * modules/setsockopt (Depends-on): Likewise.
24035         * tests/test-sys_socket.c: Check that socklen_t is defined.
24036         * tests/test-netdb.c: Likewise.
24037         * m4/socklen.m4: Update comments.
24038         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24039
24040 2010-08-27  Eric Blake  <eblake@redhat.com>
24041
24042         login_tty: add missing dependency
24043         * modules/login_tty (Depends-on): Add pty.
24044
24045 2010-08-26  Eric Blake  <eblake@redhat.com>
24046
24047         lib-symbol-versions: fix m4 quoting
24048         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24049         format for AC_LINK_IFELSE.
24050
24051         glob: fix compile test
24052         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24053
24054         btowc: fix missing file
24055         * modules/btowc (Files): Also ship locale-fr.m4.
24056
24057         lseek: fix link test
24058         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24059         AC_LINK_IFELSE.
24060
24061         include_next: silence autoconf 2.68 warning
24062         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24063         AC_COMPILE_IFELSE as special.
24064         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24065         autoconf < 2.68.
24066
24067         acl: fix compilation test
24068         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24069         AC_COMPILE_IFELSE.
24070
24071 2010-08-26  Bruno Haible  <bruno@clisp.org>
24072
24073         Modernize AC_TRY_RUN invocations.
24074         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24075         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24076         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24077         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24078         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24079         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24080         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24081         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24082         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24083         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24084         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24085         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24086         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24087         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24088         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24089         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24090         gl_MBRLEN_NUL_RETVAL): Likewise.
24091         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24092         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24093         Likewise.
24094         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24095         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24096         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24097         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24098         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24099         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24100         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24101         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24102         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24103         Likewise.
24104         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24105         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24106         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24107         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24108         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24109         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24110         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24111         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24112         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24113         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24114
24115 2010-08-26  Bruno Haible  <bruno@clisp.org>
24116
24117         Modernize AC_TRY_LINK invocations.
24118         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24119         AC_TRY_LINK.
24120         * m4/argp.m4 (gl_ARGP): Likewise.
24121         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24122         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24123         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24124         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24125         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24126         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24127         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24128         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24129         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24130         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24131         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24132         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24133         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24134         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24135         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24136         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24137         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24138         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24139         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24140         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24141         Likewise.
24142         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24143         Likewise.
24144         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24145         Likewise.
24146         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24147         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24148         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24149         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24150         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24151         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24152         * m4/servent.m4 (gl_SERVENT): Likewise.
24153         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24154         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24155         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24156         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24157         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24158         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24159         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24160         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24161         * modules/tsearch-tests (configure.ac): Likewise.
24162
24163 2010-08-26  Bruno Haible  <bruno@clisp.org>
24164
24165         Modernize AC_TRY_COMPILE invocations.
24166         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24167         AC_TRY_COMPILE.
24168         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24169         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24170         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24171         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24172         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24173         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24174         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24175         * m4/lock.m4 (gl_LOCK): Likewise.
24176         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24177         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24178         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24179         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24180         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24181         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24182         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24183         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24184         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24185         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24186         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24187         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24188         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24189         extraneous semicolon.
24190
24191 2010-08-26  Jim Meyering  <meyering@redhat.com>
24192
24193         stat-time: relax license LGPL
24194         * modules/stat-time (License): Change from GPL to LGPL,
24195         with consent from all contributors, for use in libguile.
24196         Requested by Ludovic Courtès.
24197
24198 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24199
24200         poll: return immediately on POLLHUP.
24201         * lib/poll.c (poll): Always set timeout before wait_timeout is
24202         computed.
24203
24204 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24205
24206         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24207         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24208         rmdir ("dir/.//"), unlinkat.
24209
24210 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24211
24212         stdbool: avoid spurious failure with modern xlc
24213         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24214
24215 2010-08-24  Bruno Haible  <bruno@clisp.org>
24216
24217         getloadavg: simplify code
24218         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24219         gl_have_func. Update comments.
24220
24221 2010-08-24  Eric Blake  <eblake@redhat.com>
24222
24223         getloadavg: don't define SVR4 on cygwin
24224         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24225         only define SVR4 when -lkvm is required.
24226         Reported by Yaakov Selkowitz.
24227
24228 2010-08-24  Bruno Haible  <bruno@clisp.org>
24229
24230         priv-set: fix comment
24231         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24232
24233 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24234
24235         priv-set: fix comments
24236         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24237         to match code, as suggested by David Bartley in:
24238         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24239
24240 2010-08-23  Eric Blake  <eblake@redhat.com>
24241
24242         stdbool: avoid rejecting clang
24243         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24244         * tests/test-stdbool.c: Enable more tests if using the system
24245         <stdbool.h> instead of the gnulib replacement.
24246         (main): Move xlc bug test to a runtime test for all compilers.
24247         Reported by Anders Kaseorg.
24248
24249         argz: fix shell quoting issue
24250         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24251         Reported by Charles Wilson.
24252
24253 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24254             Erik Faye-Lund <kusmabite@gmail.com>
24255
24256         poll, select: handle ERROR_BROKEN_PIPE.
24257         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24258         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24259         * lib/select.c (win32_compute_revents): Do not mark a pipe
24260         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24261
24262 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24263
24264         fts: allow compilation with C++
24265         * lib/fts_.h: Specify extern "C" linkage with C++.
24266
24267 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24268
24269         Fix gnulib-tool sed script de-commentation for AIX sed.
24270         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24271         sed.
24272
24273 2010-08-17  Eric Blake  <eblake@redhat.com>
24274
24275         test-stddef: test for (some) offsetof bugs
24276         * tests/test-stddef.c: Enhance test to ensure correct type of
24277         offsetof.
24278         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24279         that we are not fixing at this time.
24280
24281 2010-08-15  Bruno Haible  <bruno@clisp.org>
24282
24283         stpncpy: Allow stpncpy to be defined as a macro.
24284         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24285         if it's already correctly declared.
24286         * lib/string.in.h (stpncpy): Undefine before redefining.
24287         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24288
24289 2010-08-14  Bruno Haible  <bruno@clisp.org>
24290
24291         Rename module 'memxfrm' to 'amemxfrm'.
24292         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24293         (amemxfrm): Renamed from memxfrm.
24294         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24295         (amemxfrm): Renamed from memxfrm.
24296         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24297         * NEWS: Mention the change.
24298         * MODULES.html.sh (String handling <string.h>): Update.
24299         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24300         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24301         * lib/unicase/u16-casexfrm.c: Likewise.
24302         * lib/unicase/u32-casexfrm.c: Likewise.
24303         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24304         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24305         * lib/uninorm/u16-normxfrm.c: Likewise.
24306         * lib/uninorm/u32-normxfrm.c: Likewise.
24307         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24308         memxfrm.
24309         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24310         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24311         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24312         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24313         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24314         Suggested by Paul Eggert.
24315
24316 2010-08-14  Bruno Haible  <bruno@clisp.org>
24317
24318         Tests for module 'astrxfrm'.
24319         * modules/astrxfrm-tests: New file.
24320         * tests/test-astrxfrm.c: New file.
24321
24322         New module 'astrxfrm'.
24323         * lib/astrxfrm.h: New file.
24324         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24325         * modules/astrxfrm: New file.
24326
24327 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24328
24329         regex: Tweak doc.
24330         * doc/regex.texi (Overview): Don't mention regex.c.
24331         (GNU Regular Expression Compiling): Likewise.
24332         (Match-end-of-line Operator): Mention 'not_eol'.
24333
24334 2010-08-14  Brian Gough  <bjg@gnu.org>
24335             Bruno Haible  <bruno@clisp.org>
24336
24337         git-merge-changelog: add doc relating to use with bzr and hg.
24338         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
24339
24340 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
24341
24342         pthread: fix pthread.h creation for srcdir != builddir
24343         * modules/pthread (Makefile.am): Fix the rule to work also in a
24344         non-srcdir build.
24345
24346 2010-08-13  Karl Berry  <karl@gnu.org>
24347
24348         * doc/regex.texi (Predefined Syntaxes): @smallexample.
24349         * doc/posix-*/*: force line break before @url of POSIX
24350         specifications.
24351         Suggested by Werner Lemberg.
24352
24353 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24354
24355         strtod: fix const diagnostic
24356         * lib/strtod.c (strtod): Don't assign const char * to char *,
24357         as this elicits a warning from GCC when warnings are enabled.
24358
24359 2010-08-10  Pádraig Brady <P@draigbrady.com>
24360         and Eric Blake  <eblake@redhat.com>
24361
24362         copy-acl: ignore ENOTSUP on HP-UX
24363         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
24364         so that it is available for HP-UX.
24365         * lib/copy-acl.c (qcopy_acl): Use it.
24366         Reported by Patrick M. Callahan.
24367
24368 2010-08-10  Eric Blake  <eblake@redhat.com>
24369
24370         open, chown: relax license
24371         * modules/open (License): Change to LGPLv2+, with consent by all
24372         authors, for use in augeas.
24373         * modules/chown (License): Likewise.
24374         * modules/lchown (Likewise): Likewise.
24375         Requested by Adam Stokes.
24376
24377 2010-08-09  Karl Berry  <karl@gnu.org>
24378
24379         * build-aux/ar-lib: new file, import from Automake.
24380         * config/srclist.txt: autocheck for updates.
24381
24382 2010-08-09  Eric Blake  <eblake@redhat.com>
24383
24384         readlinkat: adjust client modules
24385         * modules/areadlinkat (Depends-on): Use readlinkat, not
24386         symlinkat.
24387         * modules/areadlinkat-with-size (Depends-on): Likewise.
24388
24389         mknod: be more vocal about danger of running tests as root
24390         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
24391         root, since that is just asking for problems.
24392         Suggested by Bruno Haible, based on a report by Rainer Tammer.
24393
24394         readlinkat: split into its own module
24395         * modules/symlinkat: Split readlinkat...
24396         * modules/readlinkat: ...into separate module.
24397         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
24398         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
24399         * lib/symlinkat.c (readlinkat): Move...
24400         * lib/readlinkat.c: ...into new file.
24401         * modules/symlinkat-tests: Split readlinkat test...
24402         * modules/readlinkat-tests: ...into separate module.
24403         * tests/test-symlinkat.c: Split...
24404         * tests/test-readlinkat.c: ...into new file.
24405         * NEWS: Document the split.
24406         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24407         * lib/unistd.in.h (readlinkat): Likewise.
24408         Suggested by Bruno Haible.
24409
24410 2010-08-08  Bruno Haible  <bruno@clisp.org>
24411
24412         memxfrm: Speed up.
24413         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
24414         that usually only one call to strxfrm is necessary for each string
24415         part.
24416         Reported by Paul Eggert <eggert@cs.ucla.edu>.
24417
24418 2010-08-07  Karl Berry  <karl@gnu.org>
24419
24420         * doc/posix-headers/limits.texi,
24421         * doc/posix-functions/malloc.texi,
24422         * doc/posix-functions/strsignal.texi: missing @item.
24423         * doc/ld-version-script.texi: spurious leading i.
24424         * doc/regex.texi (Interval Operators): no commas inside @var.
24425
24426 2010-08-01  Bruno Haible  <bruno@clisp.org>
24427
24428         Integrate the regex documentation.
24429         * doc/gnulib.texi: Define 'cn' index.
24430         (Regular expressions): New a chapter that includes regex.texi and
24431         regexprops-generic.texi.
24432         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
24433         syntax.
24434
24435         Whitespace cleanup.
24436         * doc/regex.texi: Remove trailing spaces.
24437
24438         Add regex documentation.
24439         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
24440         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
24441         Written by Kathy A. Hargreaves and Karl Berry.
24442
24443 2010-08-01  Bruno Haible  <bruno@clisp.org>
24444
24445         link: Update documentation.
24446         * doc/posix-functions/link.texi: Update regarding Solaris.
24447
24448 2010-07-31  Bruno Haible  <bruno@clisp.org>
24449
24450         Update modules list.
24451         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
24452         (String handling <string.h>): Add memcmp2, memxfrm.
24453         (Container data structures): Add xlist, xsublist, xoset.
24454         (Core language properties): Add alignof, unused-parameter.
24455         (Process control, Numeric conversion functions <stdlib.h>): Renamed
24456         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
24457         (Unibyte characters <ctype.h>): New section.
24458         (String handling <string.h>): New section.
24459         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
24460         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
24461         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
24462         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
24463         tan, tanh, tanl, y0, y1, yn.
24464         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
24465         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
24466         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
24467         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
24468         unlockpt, vdprintf, vdprintf-posix.
24469         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
24470         (File system functions): Add concat-filename, sys_file, sys_ioctl,
24471         xconcat-filename.
24472         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
24473         getdtablesize, pipe2, pipe2-safer.
24474         (Security): New section.
24475         (Networking functions): Add accept4.
24476         (Signal handling): Add sigpipe.
24477         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
24478         mbmemcasecoll.
24479         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
24480         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
24481         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
24482         pipe-filter-ii.
24483         (Misc): Add argp-version-etc, login_tty, parse-duration.
24484
24485 2010-07-31  Bruno Haible  <bruno@clisp.org>
24486
24487         Improve doc in MODULES.html.
24488         * modules/linkat (Description): Add the word "function".
24489         * modules/mkfifo (Description): Likewise.
24490         * modules/mknod (Description): Likewise.
24491         * modules/remove (Description): Likewise.
24492         * modules/renameat (Description): Likewise.
24493         * modules/stat (Description): Likewise.
24494         * modules/symlink (Description): Likewise.
24495         * modules/unlink (Description): Likewise.
24496
24497 2010-07-31  Bruno Haible  <bruno@clisp.org>
24498
24499         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
24500         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
24501         option --enable/disable-c++ instead of --enable/disable-cxx.
24502         * NEWS: Mention the change.
24503
24504 2010-07-31  Bruno Haible  <bruno@clisp.org>
24505
24506         readlink, areadlink: Relax test a bit.
24507         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
24508         alternative to ENOTDIR.
24509         * tests/test-areadlink.h (test_areadlink): Likewise.
24510         Reported by Rainer Tammer.
24511
24512 2010-07-31  Bruno Haible  <bruno@clisp.org>
24513
24514         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
24515         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
24516         character, perform the search using U_STRCHR.
24517         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
24518         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
24519         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
24520         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
24521         Suggested by Paolo Bonzini.
24522
24523 2010-07-31  Bruno Haible  <bruno@clisp.org>
24524
24525         unistr/u*-strstr: Fix dependencies.
24526         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
24527         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
24528         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
24529
24530 2010-07-31  Bruno Haible  <bruno@clisp.org>
24531
24532         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
24533         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
24534         the beginning of the loop.
24535         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
24536         cases in 'switch' statement.
24537
24538         unistr/u8-strchr: Fix several bugs.
24539         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
24540         the string. When not found, return NULL, not a pointer near the end.
24541
24542         More tests for unistr/u8-strchr.
24543         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
24544         that the function does not read past the first occurrence of the byte
24545         being searched.
24546         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
24547         * tests/unistr/test-u16-strchr.c (main): New function.
24548         * tests/unistr/test-u32-strchr.c (main): New function.
24549
24550 2010-07-31  Bruno Haible  <bruno@clisp.org>
24551
24552         posix-modules: Ignore backup files of documentation files.
24553         * posix-modules: grep only through files named *.texi.
24554
24555 2010-07-31  Bruno Haible  <bruno@clisp.org>
24556
24557         symlinkat: Fix documentation.
24558         * doc/posix-functions/readlinkat.texi: Fix module name.
24559
24560 2010-07-31  Bruno Haible  <bruno@clisp.org>
24561
24562         fchownat: Replace also when chown has the trailing slash bug.
24563         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
24564         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
24565         introduced on 2010-04-10.
24566         Reported by Rainer Tammer.
24567
24568 2010-07-31  Bruno Haible  <bruno@clisp.org>
24569
24570         linkat: Work around AIX 7.1 bug.
24571         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
24572         whether linkat handles trailing slash correctly. If not, replace linkat
24573         and define LINKAT_TRAILING_SLASH_BUG.
24574         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
24575         check whether (fd1,file1) points to a directory if file1 or file2 ends
24576         in a slash. Code taken from lib/link.c.
24577         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
24578         Reported by Rainer Tammer.
24579
24580 2010-07-31  Bruno Haible  <bruno@clisp.org>
24581
24582         Correctly determine whether pow is available in libc on AIX 7 with xlc.
24583         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
24584         This disables an xlc optimization that was causing wrong test results.
24585         Reported by Rainer Tammer.
24586
24587 2010-07-31  Bruno Haible  <bruno@clisp.org>
24588
24589         iconv: Work around AIX 6.1..7.1 bug.
24590         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
24591         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
24592         cross-compiling, guess no on all versions of AIX.
24593         Reported by Rainer Tammer.
24594
24595 2010-07-31  Bruno Haible  <bruno@clisp.org>
24596
24597         readlink: Relax test a bit.
24598         * tests/test-readlink.h (test_readlink): Allow different errno value
24599         when readlink is called with a file name that ends in / and refers to
24600         a file.
24601         Suggested by Eric Blake.
24602         Reported by Rainer Tammer.
24603
24604 2010-07-31  Bruno Haible  <bruno@clisp.org>
24605
24606         copysign: Does not require -lm on glibc systems.
24607         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
24608         gl_COMMON_DOUBLE_MATHFUNC.
24609         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
24610
24611 2010-07-31  Bruno Haible  <bruno@clisp.org>
24612
24613         duplocale: Work around AIX 7.1 bug.
24614         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
24615         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
24616         * lib/duplocale.c (rpl_duplocale): Update comment.
24617         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
24618         Reported by Rainer Tammer.
24619
24620 2010-07-30  Bruno Haible  <bruno@clisp.org>
24621
24622         dirfd: Avoid link error on AIX 7.1.
24623         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
24624         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
24625         exist, set REPLACE_DIRFD.
24626         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
24627         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
24628         * doc/posix-functions/dirfd.texi: Update.
24629         Reported by Rainer Tammer.
24630
24631 2010-07-30  Eric Blake  <eblake@redhat.com>
24632
24633         strtod: next round of AIX fixes
24634         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
24635         exponent.
24636         * tests/test-strtod.c (main): Enhance tests.
24637         * doc/posix-functions/strtod.texi (strtod): Document next bug.
24638         Reported by Rainer Tammer.
24639
24640         futimens: fix configure check
24641         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
24642         Reported by Bruno Haible.
24643
24644 2010-07-30  Bruno Haible  <bruno@clisp.org>
24645
24646         getline: Update regarding AIX.
24647         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
24648         Reported by Rainer Tammer.
24649
24650 2010-07-30  Bruno Haible  <bruno@clisp.org>
24651
24652         wcwidth: Drop replacement on AIX 7.
24653         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
24654         AIX 7.
24655         Reported by Rainer Tammer.
24656
24657 2010-07-30  Bruno Haible  <bruno@clisp.org>
24658
24659         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
24660         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
24661         a 'char *'.
24662         Reported by Rainer Tammer.
24663
24664 2010-07-30  Bruno Haible  <bruno@clisp.org>
24665
24666         unlink: Update regarding AIX.
24667         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
24668         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
24669         Reported by Rainer Tammer.
24670
24671 2010-07-30  Bruno Haible  <bruno@clisp.org>
24672
24673         symlink: Update regarding AIX.
24674         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
24675         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
24676         Reported by Rainer Tammer.
24677
24678 2010-07-30  Bruno Haible  <bruno@clisp.org>
24679
24680         strndup: Update regarding AIX.
24681         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
24682         AIX 7.
24683         Reported by Rainer Tammer.
24684
24685 2010-07-30  Bruno Haible  <bruno@clisp.org>
24686
24687         stat: Update regarding AIX.
24688         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
24689         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
24690         Reported by Rainer Tammer.
24691
24692 2010-07-30  Bruno Haible  <bruno@clisp.org>
24693
24694         truncl: Fix autoconf test.
24695         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
24696         whether truncl works.
24697         Reported by Rainer Tammer.
24698
24699 2010-07-30  Bruno Haible  <bruno@clisp.org>
24700
24701         round: Update regarding AIX.
24702         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
24703         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
24704         Reported by Rainer Tammer.
24705
24706 2010-07-30  Bruno Haible  <bruno@clisp.org>
24707
24708         rename: Update regarding AIX.
24709         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
24710         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
24711         Reported by Rainer Tammer.
24712
24713 2010-07-30  Bruno Haible  <bruno@clisp.org>
24714
24715         printf.m4: Update regarding AIX.
24716         * m4/printf.m4: Update comments regarding AIX.
24717         Reported by Rainer Tammer.
24718
24719 2010-07-30  Bruno Haible  <bruno@clisp.org>
24720
24721         iconv: Update regarding AIX.
24722         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
24723         AIX 7.
24724         Reported by Rainer Tammer.
24725
24726 2010-07-30  Bruno Haible  <bruno@clisp.org>
24727
24728         getopt: Update regarding AIX.
24729         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
24730         no on AIX.
24731         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
24732         Reported by Rainer Tammer.
24733
24734 2010-07-30  Bruno Haible  <bruno@clisp.org>
24735
24736         ldexpl; Update regarding AIX.
24737         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
24738         on AIX 7.
24739         Reported by Rainer Tammer.
24740
24741 2010-07-30  Bruno Haible  <bruno@clisp.org>
24742
24743         frexpl: Update regarding AIX.
24744         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
24745         on AIX 7.
24746         Reported by Rainer Tammer.
24747
24748 2010-07-30  Bruno Haible  <bruno@clisp.org>
24749
24750         open, fopen: Update regarding AIX.
24751         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
24752         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24753         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
24754         * doc/posix-functions/fopen.texi: Likewise.
24755         Reported by Rainer Tammer.
24756
24757 2010-07-30  Bruno Haible  <bruno@clisp.org>
24758
24759         chown: Update doc regarding AIX.
24760         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
24761         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
24762         Reported by Rainer Tammer.
24763
24764 2010-07-30  Eric Blake  <eblake@redhat.com>
24765
24766         strtod: fix bug in replacement function on AIX
24767         * lib/strtod.c (strtod): Special case broken "0x" parse in
24768         underlying strtod.
24769         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
24770         * doc/posix-functions/strtod.texi (strtod): Likewise.
24771         Reported by Rainer Tammer.
24772
24773 2010-07-30  Bruno Haible  <bruno@clisp.org>
24774
24775         mbrlen: Fix cross-compilation guess for AIX.
24776         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
24777         guess. Leftover from 2008-12-22.
24778
24779 2010-07-30  Bruno Haible  <bruno@clisp.org>
24780
24781         mbrtowc: Fix cross-compilation guess for AIX.
24782         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
24783         guess. Leftover from 2008-12-21.
24784
24785 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
24786
24787         init.sh: work around trap limitation of some shells
24788         * tests/init.sh (setup_): Move exit trap outside of shell function.
24789
24790 2010-07-29  Eric Blake  <eblake@redhat.com>
24791
24792         strtod: aid debugging
24793         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
24794         understanding why strtod is rejected.
24795
24796 2010-07-28  Bruno Haible  <bruno@clisp.org>
24797
24798         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
24799         * lib/unistr/u8-chr.c: Include <string.h>.
24800         * tests/unistr/test-u8-chr.c: Likewise.
24801         * tests/unistr/test-u16-chr.c: Likewise.
24802         * tests/unistr/test-u32-chr.c: Likewise.
24803         * tests/unistr/test-u8-strchr.c: Likewise.
24804         * tests/unistr/test-u16-strchr.c: Likewise.
24805         * tests/unistr/test-u32-strchr.c: Likewise.
24806         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
24807         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
24808         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
24809         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
24810
24811 2010-07-28  Bruno Haible  <bruno@clisp.org>
24812
24813         Use spaces for indentation, not tabs.
24814         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
24815
24816 2010-07-27  Bruno Haible  <bruno@clisp.org>
24817
24818         mbspcasecmp: Fix function specification.
24819         * lib/string.in.h (mbspcasecmp): Fix specification comment.
24820         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
24821         Reported by Eric Blake <eblake@redhat.com>.
24822
24823 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
24824
24825         timespec: use cast and not conditional, as truncation isn't possible
24826         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
24827         instead of a conditional.  Comment about the situation in more detail.
24828         This undoes most of the 2009-10-29 patch.
24829
24830 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
24831
24832         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
24833         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
24834         * lib/unistr/u8-strchr.c: Likewise.
24835         * modules/unistr/u8-chr: Depend on memchr.
24836
24837         unistr/u*-strchr: add tests
24838         * modules/unistr/u8-strchr-tests: New file.
24839         * modules/unistr/u16-strchr-tests: New file.
24840         * modules/unistr/u32-strchr-tests: New file.
24841         * tests/unistr/test-strchr.h: New file.
24842         * tests/unistr/test-u8-strchr.c: New file.
24843         * tests/unistr/test-u16-strchr.c: New file.
24844         * tests/unistr/test-u32-strchr.c: New file.
24845
24846         unistr/u*-chr: test multibyte sequences more
24847         * tests/unistr/test-chr.h: Do complete testing of the characters in the
24848         test vector.
24849         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
24850         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
24851         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
24852
24853         unistr/u*-chr: test multibyte sequences
24854         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
24855
24856         unistr/u*-chr: prepare for multibyte tests
24857         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
24858         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
24859         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
24860         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
24861         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
24862         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
24863
24864 2010-07-18  Bruno Haible  <bruno@clisp.org>
24865
24866         unistr/u8-strchr: Optimize non-ASCII argument case.
24867         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
24868         because the first byte often matches anyway.
24869         Reported by Pádraig Brady <P@draigbrady.com>.
24870
24871 2010-07-15  Karl Berry  <karl@gnu.org>
24872
24873         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
24874
24875 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
24876
24877         getcwd: on Solaris, work better if ancestors are inaccessible
24878         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
24879         buffer and size, try again with a large buffer.  This works better
24880         on Solaris, since its getcwd succeeds even if the path to the root
24881         is inaccessible, and this is helpful in common cases such as .zfs
24882         hidden directories.  Problem reported by J Chapman Flack in
24883         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
24884         Use system getcwd if it's declared, not merely if it's partly
24885         working; use the partly-working test only to avoid needless effort
24886         if the system getcwd fails.
24887         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
24888         comment that was already obsolete and is now even more obsolete.
24889         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
24890         now might call strdup.
24891
24892 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
24893
24894         pthread: Add enough so that coreutils/src/sort.c compiles.
24895         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
24896         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
24897         gnulib. Include <sched.h> and <time.h>, as per POSIX.
24898         Include <sys/types.h>, in case it defines pthread_t.
24899         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
24900         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
24901         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
24902         (pthread_rwlockattr_t, pthread_spinlock_t):
24903         New typedefs, if HAVE_PTHREAD_T is not defined.
24904         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
24905         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
24906         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
24907         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
24908         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
24909         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
24910         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
24911         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
24912         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
24913         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
24914         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
24915         New macros.
24916         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
24917         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
24918         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
24919         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
24920         (pthread_spin_unlock): New dummy functions.
24921         (pthread_create): Return EAGAIN; don't set errno.
24922         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
24923         require AC_C_INLINE.
24924         * modules/pthread (Depends-on): Add sched, time.
24925         (pthread.h): Use AM_V_GEN.
24926
24927 2010-07-13  Bruno Haible  <bruno@clisp.org>
24928
24929         striconveh: Don't malloc memory if the result buffer is sufficient.
24930         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
24931         buffer if its size is sufficient.
24932         Reported by Ludovic Courtès <ludo@gnu.org>.
24933
24934 2010-07-13  Bruno Haible  <bruno@clisp.org>
24935
24936         strtod: Add safety check.
24937         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
24938
24939 2010-07-12  Bruno Haible  <bruno@clisp.org>
24940
24941         Unify tests that set gl_cv_func_ldexpl_no_libm.
24942         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
24943         gl_FUNC_LDEXPL.
24944         (gl_FUNC_LDEXPL): Invoke it.
24945         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24946
24947 2010-07-12  Bruno Haible  <bruno@clisp.org>
24948
24949         Unify tests that set gl_cv_func_ldexp_no_libm.
24950         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
24951         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
24952         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
24953         (configure.ac): Simply invoke gl_FUNC_LDEXP.
24954         * modules/strtod (Files): Add m4/ldexp.m4.
24955
24956 2010-07-12  Bruno Haible  <bruno@clisp.org>
24957
24958         Unify tests that set gl_cv_func_frexpl_no_libm.
24959         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
24960         gl_FUNC_FREXPL_NO_LIBM.
24961         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
24962         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
24963
24964 2010-07-12  Bruno Haible  <bruno@clisp.org>
24965
24966         Unify tests that set gl_cv_func_frexp_no_libm.
24967         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24968         gl_FUNC_FREXP_NO_LIBM.
24969         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24970         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24971
24972 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24973
24974         memcoll: clarify sizes versus lengths, document better, and tweak perf
24975         * lib/memcoll.c (strcoll_loop, memcoll0):
24976         Improve quality of descriptive comments.  Name variables
24977         consistently as to whether they are lengths (which do not include
24978         terminating null) versus sizes (which do).
24979         * lib/xmemcoll.c (xmemcoll0): Likewise.
24980         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24981         returned when s1size == 0; this is easier to compile and saves
24982         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24983
24984 2010-07-12  Bruno Haible  <bruno@clisp.org>
24985
24986         Tests for module '_Exit'.
24987         * modules/_Exit-tests: New file.
24988         * tests/test-_Exit.sh: New file.
24989         * tests/test-_Exit.c: New file.
24990
24991         New module '_Exit'.
24992         * lib/stdlib.in.h (__attribute__): New macro.
24993         (_Exit): New declaration.
24994         * lib/_Exit.c: New file.
24995         * m4/_Exit.m4: New file.
24996         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24997         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24998         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24999         * modules/_Exit: New file.
25000         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25001         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25002
25003 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25004
25005         strtod: make it more-accurate typically, and don't require libm
25006         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25007         Include limits.h.  Don't include string.h.
25008         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25009         (locale_isspace): New function, so that no casts are needed to
25010         check whether *s is a space.
25011         (ldexp): Provide an unused dummy if not available.
25012         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25013         (strtod): Use them.  This implementation prefers to use the
25014         underlying strtod if available, falling back on our own code
25015         only to fix known bugs.  This is more likely to produce an
25016         accurate result.  Also, it avoids the use of libm functions.
25017         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25018         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25019         was absent, but it caused a test failure with coreutils.
25020         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25021         with libm.
25022         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25023         * modules/strtod-tests (Makefile.am): Likewise.
25024
25025 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25026             Bruno Haible  <bruno@clisp.org>
25027
25028         unistr/u8-strchr: Optimize ASCII argument case.
25029         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25030
25031 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25032
25033         (x)memcoll: minor tweaks
25034         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25035         is after the type that it qualifies.
25036         (memcoll0): Likewise.
25037         * lib/memcoll.h (memcoll0): Likewise.
25038         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25039         * lib/xmemcoll.h (xmemcoll0): Likewise.
25040         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25041         differs from memcoll in that the NUL byte is part of the argument.
25042         Omit the abort-checks, as performance is a real issue here.  Plus,
25043         the checks were wrong anyway (an off-by-one error).  Omit local
25044         variable 'diff', as it's a bit clearer that way.
25045         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25046         no longer needed.
25047
25048 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25049
25050         (x)memcoll: speedup when input is known to be NUL delimited
25051         * lib/memcoll.c: Include stdlib.
25052         (memcoll0): New function.
25053         (strcoll_loop): New function, refactored for use in both memcoll
25054         and memcoll0.
25055         * lib/memcoll.h (memcoll0): Add prototype.
25056         * lib/xmemcoll.c (xmemcoll0): New function.
25057         (collate_error): New function, refactored for use in both xmemcoll
25058         and xmemcoll0.
25059         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25060         * m4/memcoll.m4: add inline invocation.
25061
25062 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25063
25064         * build-aux/bootstrap: Remove any local translations
25065         from the translation project synchronization directory,
25066         so that local only translations are not distributed.
25067
25068 2010-07-04  Bruno Haible  <bruno@clisp.org>
25069
25070         fsusage: Clarify which code applies to which platforms.
25071         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25072         platform.
25073         * lib/fsusage.c (get_fs_usage): Likewise.
25074
25075 2010-07-04  Bruno Haible  <bruno@clisp.org>
25076
25077         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25078         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25079         Reported by Martin Lambers <marlam@marlam.de>.
25080
25081 2010-07-04  Jim Meyering  <meyering@redhat.com>
25082
25083         hash: once again explicitly disallow insertion of NULL
25084         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25085         inserting a NULL pointer cannot work with these functions.
25086         Add a comment with details.
25087         This reverts part of the 2010-07-01 commit, 5bef1a35
25088         "hash: extend module to deal with non-pointer keys".
25089
25090 2010-07-01  Bruno Haible  <bruno@clisp.org>
25091
25092         stdbool: Update doc.
25093         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25094         Info from Christian Weisgerber <naddy@mips.inka.de>.
25095
25096 2010-07-01  Jim Meyering  <meyering@redhat.com>
25097
25098         hash: extend module to deal with non-pointer keys
25099         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25100         but that allows insertion of non-pointer entries.
25101         Do not disallow an ENTRY value of NULL.
25102         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25103         * lib/hash.h (hash_insert0): Declare.
25104
25105 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25106
25107         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25108         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25109         not present (i.e. with autoconf 2.59 and when using gettextize, not
25110         gnulib), require AC_GNU_SOURCE instead.
25111
25112 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25113
25114         idpriv-drop: Fix tests.
25115         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25116         not to the test-idpriv-droptemp program.
25117
25118 2010-06-29  Bruno Haible  <bruno@clisp.org>
25119
25120         string: Fix syntax error with g++ 2.96.
25121         * lib/string.in.h (__pure__): Remove definition.
25122         (_GL_ATTRIBUTE_PURE): New macro.
25123         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25124         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25125         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25126
25127 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25128
25129         unitypes: Fix bug introduced on 2010-05-18.
25130         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25131
25132 2010-06-22  Eric Blake  <eblake@redhat.com>
25133
25134         memmem: slight optimization
25135         * lib/str-two-way.h (critical_factorization): Update comments.
25136         Reduce work during factorization phase.
25137         Reported by Carlos Bueno <carlos@bueno.org>.
25138
25139 2010-06-21  Bruno Haible  <bruno@clisp.org>
25140
25141         Fix HAVE_CALLOC_POSIX misnomer.
25142         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25143         !HAVE_CALLOC_POSIX.
25144         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25145         HAVE_CALLOC_POSIX.
25146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25147         instead of HAVE_CALLOC_POSIX.
25148         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25149         HAVE_CALLOC_POSIX.
25150
25151         Use modern idiom for calloc() replacement.
25152         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25153         AC_FUNC_CALLOC.
25154         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25155         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25156         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25157         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25158         (gl_REPLACE_CALLOC): New macro.
25159
25160 2010-06-21  Bruno Haible  <bruno@clisp.org>
25161
25162         Fix HAVE_REALLOC_POSIX misnomer.
25163         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25164         !HAVE_REALLOC_POSIX.
25165         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25166         HAVE_REALLOC_POSIX.
25167         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25168         instead of HAVE_REALLOC_POSIX.
25169         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25170         HAVE_REALLOC_POSIX.
25171
25172         Use modern idiom for realloc() replacement.
25173         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25174         AC_FUNC_REALLOC.
25175         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25176         Autoconf's AC_FUNC_REALLOC.
25177         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25178         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25179         (gl_REPLACE_REALLOC): New macro.
25180         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25181
25182 2010-06-21  Bruno Haible  <bruno@clisp.org>
25183
25184         Fix HAVE_MALLOC_POSIX misnomer.
25185         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25186         !HAVE_MALLOC_POSIX.
25187         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25188         HAVE_MALLOC_POSIX.
25189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25190         instead of HAVE_MALLOC_POSIX.
25191         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25192         HAVE_MALLOC_POSIX.
25193
25194         Use modern idiom for malloc() replacement.
25195         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25196         AC_FUNC_MALLOC.
25197         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25198         Autoconf's AC_FUNC_MALLOC.
25199         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25200         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25201         (gl_REPLACE_MALLOC): New macro.
25202         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25203
25204 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25205
25206         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25207         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25208         This macro takes 3 arguments, not 4.
25209
25210 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25211
25212         ipv6: fix detection under mingw
25213         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25214         in6_addr.
25215
25216 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25217
25218         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25219         that strtod() works when cross-compiling to a glibc version known
25220         to work.
25221
25222 2010-06-15  Bruno Haible  <bruno@clisp.org>
25223
25224         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25225
25226 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25227
25228         select: Correct timeout.
25229         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25230
25231 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25232
25233         git-version-gen: init shell var to avoid env var influence
25234         * build-aux/git-version-gen (v): Init shell var to empty.
25235
25236 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25237
25238         priv-set: Don't assume that priv.h exists merely because getppriv does.
25239         See Jan Andersen's bug report about AIX 5L in
25240         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25241         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25242         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25243         * lib/priv-set.h: Likewise.
25244         * tests/test-priv-set.c: Likewise.
25245
25246 2010-06-13  Bruno Haible  <bruno@clisp.org>
25247
25248         relocatable: Make it easier to test whether to install wrappers.
25249         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25250         RELOCATABLE_VIA_WRAPPER.
25251
25252 2010-06-13  Bruno Haible  <bruno@clisp.org>
25253
25254         gnulib-tool: Display specified modules and dependencies differently.
25255         * gnulib-tool (func_show_module_list): New function.
25256         (func_import, func_create_testdir): Invoke it.
25257         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25258
25259 2010-06-13  Bruno Haible  <bruno@clisp.org>
25260
25261         gnulib-tool: Align code of func_import and func_create_testdir.
25262         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25263         specified_modules.
25264
25265 2010-06-12  Jim Meyering  <meyering@redhat.com>
25266
25267         test-inttostr: avoid spurious failure on Solaris 9
25268         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25269         to accept "%ju".  Reported by Bruno Haible.
25270
25271 2010-06-11  Jim Meyering  <meyering@redhat.com>
25272
25273         test-sys_socket: mark variables as used more readably
25274         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25275         as "used" explicitly via (void) statement casts.  This is more
25276         readable than using them in an artificial return expression.
25277         Suggestion from Bruno Haible.
25278
25279 2010-06-11  Bruno Haible  <bruno@clisp.org>
25280
25281         Avoid some more warnings from "gcc -Wwrite-strings".
25282         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25283         to 'const char *'.
25284         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25285         * tests/test-c-strcasestr.c (main): Likewise.
25286         * tests/test-mbscasestr1.c (main): Likewise.
25287         * tests/test-mbscasestr2.c (main): Likewise.
25288         * tests/test-memmem.c (main): Likewise.
25289         * tests/test-strstr.c (main): Likewise.
25290         * tests/test-strcasestr.c (main): Likewise.
25291
25292 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25293
25294         init.sh: change framework_failure_ to fail with status 99, not 1
25295         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25296         automake's parallel-tests rule that this is an unexpected failure,
25297         even if the test is listed in XFAIL_TESTS.
25298
25299 2010-06-11  Jim Meyering  <meyering@redhat.com>
25300
25301         test-inttostr: avoid warnings about 4-6KB literal strings
25302         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25303         Include "macros.h", for its definition of ASSERT.
25304         (CK): s/assert/ASSERT/
25305         * modules/inttostr-tests (Files): Add macros.h.
25306
25307         init.sh: don't use $ME_ or skip_ before they are defined
25308         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25309         their first uses.  Also hoist their companions: warn_, fail_,
25310         framework_failure_, $stderr_fileno.  Prompted by a patch from
25311         Stefano Lattarini.
25312
25313         test-sys_socket: avoid set-but-not-used warnings from gcc
25314         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25315         avoid warning about set-but-not-used variables.
25316
25317         test-xvasprintf: avoid 'const' discard warnings
25318         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25319         "const" when assigning from literal strings.
25320         (test_xasprintf): Add "void" in function argument list to placate
25321         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25322
25323         tests: avoid compilation warnings in argmatch and exclude tests...
25324         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25325         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25326         Since it always exits, declare with the "noreturn" attribute.
25327         * tests/test-argmatch.c: Likewise.
25328
25329         tests: avoid 'const' discard warnings in mbsstr tests
25330         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
25331         * tests/test-mbsstr2.c (main): Likewise.
25332
25333         test-verify: avoid warning from gcc's -Wmissing-declarations
25334         * tests/test-verify.c (function): Declare to be static.
25335
25336         test-inttostr.c: include <string.h> for use of strcmp
25337         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
25338
25339         test-linkat: avoid failed assertion on "other" architectures
25340         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
25341         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
25342         sparc: https://bugs.launchpad.net/bugs/591968
25343
25344 2010-06-11  Jim Meyering  <meyering@redhat.com>
25345
25346         printf.m4: avoid autoconf's "Expanded Before Required" warning
25347         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
25348         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
25349         autoconf warning.
25350
25351 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
25352
25353         Replacement header templates are now named with ".in", not "_".
25354         * doc/gnulib-intro.texi: Correct.
25355
25356 2010-06-10  Jim Meyering  <meyering@redhat.com>
25357
25358         inttostr-tests: depend on snprintf, not snprintf-posix
25359         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
25360         snprintf-posix, to avoid this aclocal failure:
25361           missing file gnulib-tests/vasnprintf.c
25362           configure.ac:45: error: expected source file, required through \
25363           AC_LIBSOURCES, not found
25364
25365 2010-06-10  Jim Meyering  <meyering@redhat.com>
25366
25367         inttostr: add a new function, inttostr, and tests
25368         The namesake function was not available.  The existence of the
25369         template file, inttostr.c makes its addition nontrivial.
25370         * lib/anytostr.c: Rename from inttostr.c.
25371         (anytostr): Rename from inttostr.
25372         * lib/inttostr.c: New file.
25373         * modules/inttostr (Files): Add anytostr.c.
25374         (Makefile.am): Set lib_SOURCES instead of ...
25375         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
25376         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
25377         * lib/offtostr.c: Likewise.
25378         * lib/uinttostr.c: Likewise.
25379         * lib/umaxtostr.c: Likewise.
25380         * modules/inttostr-tests: New file.
25381         * tests/test-inttostr.c: New file.  Test these functions.
25382
25383 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
25384             Bruno Haible  <bruno@clisp.org>
25385
25386         Add "Extending Gnulib" chapter to manual.
25387         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
25388         chapter.
25389         (Extending Gnulib): New chapter.
25390         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
25391         chapter.
25392
25393 2010-06-09  Bruno Haible  <bruno@clisp.org>
25394
25395         Avoid relocwrapper link errors due to gnulib replacement functions.
25396         * lib/areadlink.c: Use the system's malloc, realloc functions.
25397         (areadlink): Set errno to ENOMEM explicitly.
25398         * modules/areadlink (Depends-on): Remove malloc-posix.
25399         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25400
25401 2010-06-09  Bruno Haible  <bruno@clisp.org>
25402
25403         Avoid relocwrapper link errors due to gnulib replacement functions.
25404         * lib/canonicalize-lgpl.c: Use the system's malloc function.
25405         * lib/malloca.c: Likewise.
25406         * lib/relocatable.c: Likewise.
25407         * lib/progreloc.c: Use the system's malloc, sprintf functions.
25408         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
25409         * lib/setenv.c: Use the system's malloc, realloc functions.
25410         * lib/strerror.c: Use the system's sprintf function.
25411         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25412
25413 2010-06-04  Bruno Haible  <bruno@clisp.org>
25414
25415         Prefer documented low-level autoconf macro names.
25416         * m4/lib-link.m4: Use m4_translit instead of translit.
25417         * m4/environ.m4: Likewise.
25418         * m4/mathfunc.m4: Likewise.
25419         * m4/onceonly.m4: Likewise.
25420         * m4/stdint.m4: Likewise.
25421         Suggested by Eric Blake.
25422
25423 2010-06-04  Martin Lambers  <marlam@marlam.de>
25424             Bruno Haible  <bruno@clisp.org>
25425
25426         havelib: Allow library names with '+' characters.
25427         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
25428         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
25429
25430 2010-06-09  Bruno Haible  <bruno@clisp.org>
25431
25432         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
25433         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
25434         realloc failed.
25435
25436 2010-06-08  Peter Simons  <simons@cryp.to>
25437
25438         maint.mk: make the news-check rule more configurable
25439         * top/maint.mk (news-check-lines-spec): New variable.
25440         (news-check): Use "sed -n 1,10p" in place of "head".
25441
25442 2010-06-07  Jim Meyering  <meyering@redhat.com>
25443
25444         do-release-commit-and-tag: fix typo in --help
25445         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
25446
25447         regex: avoid new dead-code warning with gcc-4.6.0
25448         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
25449         if-block containing a while-loop.  It's been unused for at least
25450         5 years.
25451
25452 2010-06-05  Bruno Haible  <bruno@clisp.org>
25453
25454         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
25455         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
25456
25457 2010-06-04  Bruno Haible  <bruno@clisp.org>
25458
25459         Update to GNU gettext 0.18.1.
25460         * modules/gettext (configure.ac): Require gettext infrastructure from
25461         version 0.18.1.
25462
25463 2010-06-03  Bruno Haible  <bruno@clisp.org>
25464
25465         Don't use AC_LIBOBJ with file names in subdirectories.
25466         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
25467         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
25468         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
25469         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
25470         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
25471         gl_LIBUNISTRING_LIBSOURCE.
25472         (Makefile.am): Augment lib_SOURCES here, conditionally.
25473         * NEWS: Drop requirement for Automake option 'subdir-objects'.
25474
25475 2010-06-03  Bruno Haible  <bruno@clisp.org>
25476
25477         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
25478         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
25479         expansion does not end with a newline.
25480         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
25481         unnecessary newline.
25482
25483 2010-06-03  Bruno Haible  <bruno@clisp.org>
25484
25485         Reduce dependencies.
25486         * tests/test-quotearg.h: New file, extracted from
25487         tests/test-quotearg.c.
25488         * tests/test-quotearg-simple.c: New file, extracted from
25489         tests/test-quotearg.c.
25490         * tests/test-quotearg.c: Don't include <ctype.h>.
25491         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
25492         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
25493         use_quote_double_quotes, use_quotearg_colon): Moved to
25494         tests/test-quotearg.h.
25495         (results_g, flag_results, custom_quotes, custom_results): Moved
25496         to tests/test-quotearg-simple.c.
25497         (main): Moved the part that does not depend on gettext to
25498         tests/test-quotearg-simple.c. Return 77 if the test cannot be
25499         performed.
25500         * modules/quotearg-simple: New file.
25501         * modules/quotearg-simple-tests: New file.
25502         * modules/quotearg (Depends-on): Add quotearg-simple.
25503         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
25504         (Files): Add tests/test-quotearg.h.
25505         Reported by Paolo Bonzini.
25506
25507 2010-06-03  Bruno Haible  <bruno@clisp.org>
25508
25509         Reduce dependencies.
25510         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
25511
25512 2010-06-03  Bruno Haible  <bruno@clisp.org>
25513
25514         time: Undefine more broken macros.
25515         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
25516         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
25517         Reported by Eric Blake.
25518
25519 2010-06-03  Bruno Haible  <bruno@clisp.org>
25520
25521         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
25522         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
25523         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
25524         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
25525         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
25526         Reported by Ludovic Courtès <ludo@gnu.org>.
25527
25528 2010-06-02  Eric Blake  <eblake@redhat.com>
25529
25530         time: work with mingw + pthreads-win32 library
25531         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
25532         if timespec is defined only in pthread.h.
25533         * modules/time (Makefile.am): Substitute it.
25534         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
25535         <pthread.h>, when needed.
25536         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
25537         from the library.
25538
25539 2010-05-31  Bruno Haible  <bruno@clisp.org>
25540
25541         Avoid expanding two macros in the wrong order.
25542         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
25543         gl_LIBUNISTRING if it is defined.
25544         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
25545         autoconf >= 2.64.
25546         Reported by Ludovic Courtès <ludo@gnu.org>.
25547
25548 2010-05-27  Jim Meyering  <meyering@redhat.com>
25549
25550         maint.mk: also prohibit "#undef" of always-defined symbols
25551         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
25552         Allow more than one space before the symbol name.
25553         (sc_prohibit_always-defined_macros): Use grep's -E, now that
25554         the regexp uses alternation.
25555
25556 2010-05-26  Eric Blake  <eblake@redhat.com>
25557
25558         maint.mk: avoid echo -e
25559         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
25560         Convert all uses of echo -* to printf.
25561         Reported by Matthias Bolte.
25562
25563 2010-05-25  Bruno Haible  <bruno@clisp.org>
25564
25565         Update to GNU gettext 0.18, part 2.
25566         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
25567         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
25568
25569 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25570
25571         Add missing include in test-pwrite.c.
25572         * tests/test-pwrite.c: Include string.h, for strcmp.
25573
25574 2010-05-24  Bruno Haible  <bruno@clisp.org>
25575
25576         * NEWS: Mention requirement for Automake option 'subdir-objects'.
25577
25578 2010-05-24  Bruno Haible  <bruno@clisp.org>
25579
25580         Don't use conversion with transliteration in u{8,16,32}_strcoll.
25581         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
25582         iconveh_error argument.
25583         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
25584         U_STRCONV_TO_LOCALE.
25585         * lib/unistr/u16-strcoll.c: Likewise.
25586         * lib/unistr/u32-strcoll.c: Likewise.
25587         * modules/unistr/u8-strcoll (Depends-on): Add
25588         uniconv/u8-strconv-to-enc, localcharset. Remove
25589         uniconv/u8-strconv-to-locale.
25590         (configure.ac): Bump version number.
25591         * modules/unistr/u16-strcoll (Depends-on): Add
25592         uniconv/u16-strconv-to-enc, localcharset. Remove
25593         uniconv/u16-strconv-to-locale.
25594         (configure.ac): Bump version number.
25595         * modules/unistr/u32-strcoll (Depends-on): Add
25596         uniconv/u32-strconv-to-enc, localcharset. Remove
25597         uniconv/u32-strconv-to-locale.
25598         (configure.ac): Bump version number.
25599
25600 2010-05-24  Bruno Haible  <bruno@clisp.org>
25601
25602         Avoid a test failure on NetBSD 5.0.
25603         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
25604         an iconv() bug.
25605
25606 2010-05-24  Bruno Haible  <bruno@clisp.org>
25607
25608         Adjust #include directive style.
25609         * modules/regex (Includes): Recommend to write <regex.h>.
25610
25611 2010-05-24  Bruno Haible  <bruno@clisp.org>
25612
25613         regex: Don't require alloca.
25614         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
25615         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
25616         only inside if (0).
25617
25618 2010-05-23  Jim Meyering  <meyering@redhat.com>
25619
25620         test-renameat.c: include <sys/stat.h>
25621         * tests/test-renameat.c: Include <sys/stat.h>; required for
25622         definition of S_IS* macros.
25623
25624 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
25625
25626         Update maintainer documentation for 'relocatable-prog' module.
25627         * doc/relocatable-maint.texi: Update.
25628         Comments by Bruno Haible.
25629
25630 2010-05-23  Bruno Haible  <bruno@clisp.org>
25631
25632         git-merge-changelog: Enable --split-merged-entry by default.
25633         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
25634         (usage): Don't mention this option any more.
25635         Reported by Ralf Wildenhues.
25636
25637 2010-05-23  Jim Meyering  <meyering@redhat.com>
25638
25639         test-pwrite: do not leave behind a test file named "out"
25640         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
25641         The trivial-looking use of init.sh is really necessary.
25642         It ensures that the temporary file, "out", is created in
25643         a temporary directory, and removed upon termination.
25644         * tests/test-pwrite.sh: Re-add file.
25645         * modules/pwrite-tests: Reference it.
25646
25647 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25648
25649         Fix output redirection buglet in init.sh.
25650         * tests/init.sh: Fix redirection of stderr.
25651
25652 2010-05-20  Simon Josefsson  <simon@josefsson.org>
25653
25654         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
25655
25656 2010-05-17  Simon Josefsson  <simon@josefsson.org>
25657
25658         * modules/valgrind-tests: New file.
25659         * m4/valgrind-tests.m4: New file.
25660         * doc/valgrind-tests.texi: New file.
25661         * doc/gnulib.texi (Running self-tests under valgrind): New
25662         section.
25663
25664 2010-05-19  Bruno Haible  <bruno@clisp.org>
25665
25666         Clean up dead code in recent commit.
25667         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
25668         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
25669         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
25670         Suggested by Paolo Bonzini.
25671
25672 2010-05-19  Bruno Haible  <bruno@clisp.org>
25673
25674         Avoid valgrind error reports from libunistring.
25675         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
25676         * modules/libunistring (Files): Add it.
25677         * modules/libunistring-optional (Files): Likewise.
25678
25679 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
25680             Bruno Haible  <bruno@clisp.org>
25681
25682         New module 'libunistring-optional'.
25683         * modules/libunistring-optional: New file.
25684         * m4/libunistring-base.m4: New file.
25685         * m4/libunistring-optional.m4: New file.
25686         * lib/unicase.in.h: Renamed from lib/unicase.h.
25687         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
25688         * lib/unictype.in.h: Renamed from lib/unictype.h.
25689         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
25690         * lib/uniname.in.h: Renamed from lib/uniname.h.
25691         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
25692         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
25693         * lib/unistr.in.h: Renamed from lib/unistr.h.
25694         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
25695         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
25696         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
25697         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
25698         gl_LIBUNISTRING. If the library was found, determine the installed
25699         version and set LIBUNISTRING_VERSION.
25700         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
25701         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
25702         handle a configuration option --with-included-libunistring.
25703         * modules/libunistring (Files): Add m4/absolute-header.m4.
25704         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
25705         Add m4/libunistring-base.m4.
25706         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25707         (Makefile.am): Build unicase.h from unicase.in.h.
25708         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
25709         Add m4/libunistring-base.m4.
25710         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25711         (Makefile.am): Build uniconv.h from uniconv.in.h.
25712         * modules/unictype/base (Files): Use unictype.in.h instead of
25713         unictype.h. Add m4/libunistring-base.m4.
25714         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25715         (Makefile.am): Build unictype.h from unictype.in.h.
25716         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
25717         Add m4/libunistring-base.m4.
25718         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25719         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
25720         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
25721         Add m4/libunistring-base.m4.
25722         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25723         (Makefile.am): Build uniname.h from uniname.in.h.
25724         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
25725         Add m4/libunistring-base.m4.
25726         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25727         (Makefile.am): Build uninorm.h from uninorm.in.h.
25728         * modules/unistdio/base (Files): Use unistdio.in.h instead of
25729         unistdio.h. Add m4/libunistring-base.m4.
25730         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25731         (Makefile.am): Build unistdio.h from unistdio.in.h.
25732         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
25733         Add m4/libunistring-base.m4.
25734         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25735         (Makefile.am): Build unistr.h from unistr.in.h.
25736         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
25737         Add m4/libunistring-base.m4.
25738         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25739         (Makefile.am): Build unitypes.h from unitypes.in.h.
25740         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
25741         Add m4/libunistring-base.m4.
25742         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25743         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
25744         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
25745         uniwidth.h. Add m4/libunistring-base.m4.
25746         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
25747         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
25748         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
25749         instead of augmenting lib_SOURCES.
25750         * modules/unicase/empty-suffix-context: Likewise.
25751         * modules/unicase/locale-language: Likewise.
25752         * modules/unicase/tolower: Likewise.
25753         * modules/unicase/totitle: Likewise.
25754         * modules/unicase/toupper: Likewise.
25755         * modules/unicase/u8-casecmp: Likewise.
25756         * modules/unicase/u8-casecoll: Likewise.
25757         * modules/unicase/u8-casefold: Likewise.
25758         * modules/unicase/u8-casexfrm: Likewise.
25759         * modules/unicase/u8-ct-casefold: Likewise.
25760         * modules/unicase/u8-ct-tolower: Likewise.
25761         * modules/unicase/u8-ct-totitle: Likewise.
25762         * modules/unicase/u8-ct-toupper: Likewise.
25763         * modules/unicase/u8-is-cased: Likewise.
25764         * modules/unicase/u8-is-casefolded: Likewise.
25765         * modules/unicase/u8-is-lowercase: Likewise.
25766         * modules/unicase/u8-is-titlecase: Likewise.
25767         * modules/unicase/u8-is-uppercase: Likewise.
25768         * modules/unicase/u8-prefix-context: Likewise.
25769         * modules/unicase/u8-suffix-context: Likewise.
25770         * modules/unicase/u8-tolower: Likewise.
25771         * modules/unicase/u8-totitle: Likewise.
25772         * modules/unicase/u8-toupper: Likewise.
25773         * modules/unicase/u16-casecmp: Likewise.
25774         * modules/unicase/u16-casecoll: Likewise.
25775         * modules/unicase/u16-casefold: Likewise.
25776         * modules/unicase/u16-casexfrm: Likewise.
25777         * modules/unicase/u16-ct-casefold: Likewise.
25778         * modules/unicase/u16-ct-tolower: Likewise.
25779         * modules/unicase/u16-ct-totitle: Likewise.
25780         * modules/unicase/u16-ct-toupper: Likewise.
25781         * modules/unicase/u16-is-cased: Likewise.
25782         * modules/unicase/u16-is-casefolded: Likewise.
25783         * modules/unicase/u16-is-lowercase: Likewise.
25784         * modules/unicase/u16-is-titlecase: Likewise.
25785         * modules/unicase/u16-is-uppercase: Likewise.
25786         * modules/unicase/u16-prefix-context: Likewise.
25787         * modules/unicase/u16-suffix-context: Likewise.
25788         * modules/unicase/u16-tolower: Likewise.
25789         * modules/unicase/u16-totitle: Likewise.
25790         * modules/unicase/u16-toupper: Likewise.
25791         * modules/unicase/u32-casecmp: Likewise.
25792         * modules/unicase/u32-casecoll: Likewise.
25793         * modules/unicase/u32-casefold: Likewise.
25794         * modules/unicase/u32-casexfrm: Likewise.
25795         * modules/unicase/u32-ct-casefold: Likewise.
25796         * modules/unicase/u32-ct-tolower: Likewise.
25797         * modules/unicase/u32-ct-totitle: Likewise.
25798         * modules/unicase/u32-ct-toupper: Likewise.
25799         * modules/unicase/u32-is-cased: Likewise.
25800         * modules/unicase/u32-is-casefolded: Likewise.
25801         * modules/unicase/u32-is-lowercase: Likewise.
25802         * modules/unicase/u32-is-titlecase: Likewise.
25803         * modules/unicase/u32-is-uppercase: Likewise.
25804         * modules/unicase/u32-prefix-context: Likewise.
25805         * modules/unicase/u32-suffix-context: Likewise.
25806         * modules/unicase/u32-tolower: Likewise.
25807         * modules/unicase/u32-totitle: Likewise.
25808         * modules/unicase/u32-toupper: Likewise.
25809         * modules/unicase/ulc-casecmp: Likewise.
25810         * modules/unicase/ulc-casecoll: Likewise.
25811         * modules/unicase/ulc-casexfrm: Likewise.
25812         * modules/uniconv/u8-conv-from-enc: Likewise.
25813         * modules/uniconv/u8-conv-to-enc: Likewise.
25814         * modules/uniconv/u8-strconv-from-enc: Likewise.
25815         * modules/uniconv/u8-strconv-from-locale: Likewise.
25816         * modules/uniconv/u8-strconv-to-enc: Likewise.
25817         * modules/uniconv/u8-strconv-to-locale: Likewise.
25818         * modules/uniconv/u16-conv-from-enc: Likewise.
25819         * modules/uniconv/u16-conv-to-enc: Likewise.
25820         * modules/uniconv/u16-strconv-from-enc: Likewise.
25821         * modules/uniconv/u16-strconv-from-locale: Likewise.
25822         * modules/uniconv/u16-strconv-to-enc: Likewise.
25823         * modules/uniconv/u16-strconv-to-locale: Likewise.
25824         * modules/uniconv/u32-conv-from-enc: Likewise.
25825         * modules/uniconv/u32-conv-to-enc: Likewise.
25826         * modules/uniconv/u32-strconv-from-enc: Likewise.
25827         * modules/uniconv/u32-strconv-from-locale: Likewise.
25828         * modules/uniconv/u32-strconv-to-enc: Likewise.
25829         * modules/uniconv/u32-strconv-to-locale: Likewise.
25830         * modules/unictype/bidicategory-byname: Likewise.
25831         * modules/unictype/bidicategory-name: Likewise.
25832         * modules/unictype/bidicategory-of: Likewise.
25833         * modules/unictype/bidicategory-test: Likewise.
25834         * modules/unictype/block-list: Likewise.
25835         * modules/unictype/block-test: Likewise.
25836         * modules/unictype/category-C: Likewise.
25837         * modules/unictype/category-Cc: Likewise.
25838         * modules/unictype/category-Cf: Likewise.
25839         * modules/unictype/category-Cn: Likewise.
25840         * modules/unictype/category-Co: Likewise.
25841         * modules/unictype/category-Cs: Likewise.
25842         * modules/unictype/category-L: Likewise.
25843         * modules/unictype/category-Ll: Likewise.
25844         * modules/unictype/category-Lm: Likewise.
25845         * modules/unictype/category-Lo: Likewise.
25846         * modules/unictype/category-Lt: Likewise.
25847         * modules/unictype/category-Lu: Likewise.
25848         * modules/unictype/category-M: Likewise.
25849         * modules/unictype/category-Mc: Likewise.
25850         * modules/unictype/category-Me: Likewise.
25851         * modules/unictype/category-Mn: Likewise.
25852         * modules/unictype/category-N: Likewise.
25853         * modules/unictype/category-Nd: Likewise.
25854         * modules/unictype/category-Nl: Likewise.
25855         * modules/unictype/category-No: Likewise.
25856         * modules/unictype/category-P: Likewise.
25857         * modules/unictype/category-Pc: Likewise.
25858         * modules/unictype/category-Pd: Likewise.
25859         * modules/unictype/category-Pe: Likewise.
25860         * modules/unictype/category-Pf: Likewise.
25861         * modules/unictype/category-Pi: Likewise.
25862         * modules/unictype/category-Po: Likewise.
25863         * modules/unictype/category-Ps: Likewise.
25864         * modules/unictype/category-S: Likewise.
25865         * modules/unictype/category-Sc: Likewise.
25866         * modules/unictype/category-Sk: Likewise.
25867         * modules/unictype/category-Sm: Likewise.
25868         * modules/unictype/category-So: Likewise.
25869         * modules/unictype/category-Z: Likewise.
25870         * modules/unictype/category-Zl: Likewise.
25871         * modules/unictype/category-Zp: Likewise.
25872         * modules/unictype/category-Zs: Likewise.
25873         * modules/unictype/category-and: Likewise.
25874         * modules/unictype/category-and-not: Likewise.
25875         * modules/unictype/category-byname: Likewise.
25876         * modules/unictype/category-name: Likewise.
25877         * modules/unictype/category-none: Likewise.
25878         * modules/unictype/category-of: Likewise.
25879         * modules/unictype/category-or: Likewise.
25880         * modules/unictype/category-test: Likewise.
25881         * modules/unictype/combining-class: Likewise.
25882         * modules/unictype/ctype-alnum: Likewise.
25883         * modules/unictype/ctype-alpha: Likewise.
25884         * modules/unictype/ctype-blank: Likewise.
25885         * modules/unictype/ctype-cntrl: Likewise.
25886         * modules/unictype/ctype-digit: Likewise.
25887         * modules/unictype/ctype-graph: Likewise.
25888         * modules/unictype/ctype-lower: Likewise.
25889         * modules/unictype/ctype-print: Likewise.
25890         * modules/unictype/ctype-punct: Likewise.
25891         * modules/unictype/ctype-space: Likewise.
25892         * modules/unictype/ctype-upper: Likewise.
25893         * modules/unictype/ctype-xdigit: Likewise.
25894         * modules/unictype/decimal-digit: Likewise.
25895         * modules/unictype/digit: Likewise.
25896         * modules/unictype/mirror: Likewise.
25897         * modules/unictype/numeric: Likewise.
25898         * modules/unictype/property-alphabetic: Likewise.
25899         * modules/unictype/property-ascii-hex-digit: Likewise.
25900         * modules/unictype/property-bidi-arabic-digit: Likewise.
25901         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
25902         * modules/unictype/property-bidi-block-separator: Likewise.
25903         * modules/unictype/property-bidi-boundary-neutral: Likewise.
25904         * modules/unictype/property-bidi-common-separator: Likewise.
25905         * modules/unictype/property-bidi-control: Likewise.
25906         * modules/unictype/property-bidi-embedding-or-override: Likewise.
25907         * modules/unictype/property-bidi-eur-num-separator: Likewise.
25908         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
25909         * modules/unictype/property-bidi-european-digit: Likewise.
25910         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
25911         * modules/unictype/property-bidi-left-to-right: Likewise.
25912         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
25913         * modules/unictype/property-bidi-other-neutral: Likewise.
25914         * modules/unictype/property-bidi-pdf: Likewise.
25915         * modules/unictype/property-bidi-segment-separator: Likewise.
25916         * modules/unictype/property-bidi-whitespace: Likewise.
25917         * modules/unictype/property-byname: Likewise.
25918         * modules/unictype/property-combining: Likewise.
25919         * modules/unictype/property-composite: Likewise.
25920         * modules/unictype/property-currency-symbol: Likewise.
25921         * modules/unictype/property-dash: Likewise.
25922         * modules/unictype/property-decimal-digit: Likewise.
25923         * modules/unictype/property-default-ignorable-code-point: Likewise.
25924         * modules/unictype/property-deprecated: Likewise.
25925         * modules/unictype/property-diacritic: Likewise.
25926         * modules/unictype/property-extender: Likewise.
25927         * modules/unictype/property-format-control: Likewise.
25928         * modules/unictype/property-grapheme-base: Likewise.
25929         * modules/unictype/property-grapheme-extend: Likewise.
25930         * modules/unictype/property-grapheme-link: Likewise.
25931         * modules/unictype/property-hex-digit: Likewise.
25932         * modules/unictype/property-hyphen: Likewise.
25933         * modules/unictype/property-id-continue: Likewise.
25934         * modules/unictype/property-id-start: Likewise.
25935         * modules/unictype/property-ideographic: Likewise.
25936         * modules/unictype/property-ids-binary-operator: Likewise.
25937         * modules/unictype/property-ids-trinary-operator: Likewise.
25938         * modules/unictype/property-ignorable-control: Likewise.
25939         * modules/unictype/property-iso-control: Likewise.
25940         * modules/unictype/property-join-control: Likewise.
25941         * modules/unictype/property-left-of-pair: Likewise.
25942         * modules/unictype/property-line-separator: Likewise.
25943         * modules/unictype/property-logical-order-exception: Likewise.
25944         * modules/unictype/property-lowercase: Likewise.
25945         * modules/unictype/property-math: Likewise.
25946         * modules/unictype/property-non-break: Likewise.
25947         * modules/unictype/property-not-a-character: Likewise.
25948         * modules/unictype/property-numeric: Likewise.
25949         * modules/unictype/property-other-alphabetic: Likewise.
25950         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
25951         * modules/unictype/property-other-grapheme-extend: Likewise.
25952         * modules/unictype/property-other-id-continue: Likewise.
25953         * modules/unictype/property-other-id-start: Likewise.
25954         * modules/unictype/property-other-lowercase: Likewise.
25955         * modules/unictype/property-other-math: Likewise.
25956         * modules/unictype/property-other-uppercase: Likewise.
25957         * modules/unictype/property-paired-punctuation: Likewise.
25958         * modules/unictype/property-paragraph-separator: Likewise.
25959         * modules/unictype/property-pattern-syntax: Likewise.
25960         * modules/unictype/property-pattern-white-space: Likewise.
25961         * modules/unictype/property-private-use: Likewise.
25962         * modules/unictype/property-punctuation: Likewise.
25963         * modules/unictype/property-quotation-mark: Likewise.
25964         * modules/unictype/property-radical: Likewise.
25965         * modules/unictype/property-sentence-terminal: Likewise.
25966         * modules/unictype/property-soft-dotted: Likewise.
25967         * modules/unictype/property-space: Likewise.
25968         * modules/unictype/property-terminal-punctuation: Likewise.
25969         * modules/unictype/property-test: Likewise.
25970         * modules/unictype/property-titlecase: Likewise.
25971         * modules/unictype/property-unassigned-code-value: Likewise.
25972         * modules/unictype/property-unified-ideograph: Likewise.
25973         * modules/unictype/property-uppercase: Likewise.
25974         * modules/unictype/property-variation-selector: Likewise.
25975         * modules/unictype/property-white-space: Likewise.
25976         * modules/unictype/property-xid-continue: Likewise.
25977         * modules/unictype/property-xid-start: Likewise.
25978         * modules/unictype/property-zero-width: Likewise.
25979         * modules/unictype/scripts: Likewise.
25980         * modules/unictype/syntax-c-ident: Likewise.
25981         * modules/unictype/syntax-c-whitespace: Likewise.
25982         * modules/unictype/syntax-java-ident: Likewise.
25983         * modules/unictype/syntax-java-whitespace: Likewise.
25984         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25985         * modules/unilbrk/u8-width-linebreaks: Likewise.
25986         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25987         * modules/unilbrk/u16-width-linebreaks: Likewise.
25988         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25989         * modules/unilbrk/u32-width-linebreaks: Likewise.
25990         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25991         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25992         * modules/uniname/uniname: Likewise.
25993         * modules/uninorm/canonical-decomposition: Likewise.
25994         * modules/uninorm/composition: Likewise.
25995         * modules/uninorm/decomposing-form: Likewise.
25996         * modules/uninorm/decomposition: Likewise.
25997         * modules/uninorm/filter: Likewise.
25998         * modules/uninorm/nfc: Likewise.
25999         * modules/uninorm/nfd: Likewise.
26000         * modules/uninorm/nfkc: Likewise.
26001         * modules/uninorm/nfkd: Likewise.
26002         * modules/uninorm/u8-normalize: Likewise.
26003         * modules/uninorm/u8-normcmp: Likewise.
26004         * modules/uninorm/u8-normcoll: Likewise.
26005         * modules/uninorm/u8-normxfrm: Likewise.
26006         * modules/uninorm/u16-normalize: Likewise.
26007         * modules/uninorm/u16-normcmp: Likewise.
26008         * modules/uninorm/u16-normcoll: Likewise.
26009         * modules/uninorm/u16-normxfrm: Likewise.
26010         * modules/uninorm/u32-normalize: Likewise.
26011         * modules/uninorm/u32-normcmp: Likewise.
26012         * modules/uninorm/u32-normcoll: Likewise.
26013         * modules/uninorm/u32-normxfrm: Likewise.
26014         * modules/unistdio/u8-asnprintf: Likewise.
26015         * modules/unistdio/u8-asprintf: Likewise.
26016         * modules/unistdio/u8-snprintf: Likewise.
26017         * modules/unistdio/u8-sprintf: Likewise.
26018         * modules/unistdio/u8-u8-asnprintf: Likewise.
26019         * modules/unistdio/u8-u8-asprintf: Likewise.
26020         * modules/unistdio/u8-u8-snprintf: Likewise.
26021         * modules/unistdio/u8-u8-sprintf: Likewise.
26022         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26023         * modules/unistdio/u8-u8-vasprintf: Likewise.
26024         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26025         * modules/unistdio/u8-u8-vsprintf: Likewise.
26026         * modules/unistdio/u8-vasnprintf: Likewise.
26027         * modules/unistdio/u8-vasprintf: Likewise.
26028         * modules/unistdio/u8-vsnprintf: Likewise.
26029         * modules/unistdio/u8-vsprintf: Likewise.
26030         * modules/unistdio/u16-asnprintf: Likewise.
26031         * modules/unistdio/u16-asprintf: Likewise.
26032         * modules/unistdio/u16-snprintf: Likewise.
26033         * modules/unistdio/u16-sprintf: Likewise.
26034         * modules/unistdio/u16-u16-asnprintf: Likewise.
26035         * modules/unistdio/u16-u16-asprintf: Likewise.
26036         * modules/unistdio/u16-u16-snprintf: Likewise.
26037         * modules/unistdio/u16-u16-sprintf: Likewise.
26038         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26039         * modules/unistdio/u16-u16-vasprintf: Likewise.
26040         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26041         * modules/unistdio/u16-u16-vsprintf: Likewise.
26042         * modules/unistdio/u16-vasnprintf: Likewise.
26043         * modules/unistdio/u16-vasprintf: Likewise.
26044         * modules/unistdio/u16-vsnprintf: Likewise.
26045         * modules/unistdio/u16-vsprintf: Likewise.
26046         * modules/unistdio/u32-asnprintf: Likewise.
26047         * modules/unistdio/u32-asprintf: Likewise.
26048         * modules/unistdio/u32-snprintf: Likewise.
26049         * modules/unistdio/u32-sprintf: Likewise.
26050         * modules/unistdio/u32-u32-asnprintf: Likewise.
26051         * modules/unistdio/u32-u32-asprintf: Likewise.
26052         * modules/unistdio/u32-u32-snprintf: Likewise.
26053         * modules/unistdio/u32-u32-sprintf: Likewise.
26054         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26055         * modules/unistdio/u32-u32-vasprintf: Likewise.
26056         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26057         * modules/unistdio/u32-u32-vsprintf: Likewise.
26058         * modules/unistdio/u32-vasnprintf: Likewise.
26059         * modules/unistdio/u32-vasprintf: Likewise.
26060         * modules/unistdio/u32-vsnprintf: Likewise.
26061         * modules/unistdio/u32-vsprintf: Likewise.
26062         * modules/unistdio/ulc-asnprintf: Likewise.
26063         * modules/unistdio/ulc-asprintf: Likewise.
26064         * modules/unistdio/ulc-fprintf: Likewise.
26065         * modules/unistdio/ulc-snprintf: Likewise.
26066         * modules/unistdio/ulc-sprintf: Likewise.
26067         * modules/unistdio/ulc-vasnprintf: Likewise.
26068         * modules/unistdio/ulc-vasprintf: Likewise.
26069         * modules/unistdio/ulc-vfprintf: Likewise.
26070         * modules/unistdio/ulc-vsnprintf: Likewise.
26071         * modules/unistdio/ulc-vsprintf: Likewise.
26072         * modules/unistr/u8-check: Likewise.
26073         * modules/unistr/u8-chr: Likewise.
26074         * modules/unistr/u8-cmp: Likewise.
26075         * modules/unistr/u8-cmp2: Likewise.
26076         * modules/unistr/u8-cpy: Likewise.
26077         * modules/unistr/u8-cpy-alloc: Likewise.
26078         * modules/unistr/u8-endswith: Likewise.
26079         * modules/unistr/u8-mblen: Likewise.
26080         * modules/unistr/u8-mbsnlen: Likewise.
26081         * modules/unistr/u8-mbtouc: Likewise.
26082         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26083         * modules/unistr/u8-mbtoucr: Likewise.
26084         * modules/unistr/u8-move: Likewise.
26085         * modules/unistr/u8-next: Likewise.
26086         * modules/unistr/u8-prev: Likewise.
26087         * modules/unistr/u8-set: Likewise.
26088         * modules/unistr/u8-startswith: Likewise.
26089         * modules/unistr/u8-stpcpy: Likewise.
26090         * modules/unistr/u8-stpncpy: Likewise.
26091         * modules/unistr/u8-strcat: Likewise.
26092         * modules/unistr/u8-strchr: Likewise.
26093         * modules/unistr/u8-strcmp: Likewise.
26094         * modules/unistr/u8-strcoll: Likewise.
26095         * modules/unistr/u8-strcpy: Likewise.
26096         * modules/unistr/u8-strcspn: Likewise.
26097         * modules/unistr/u8-strdup: Likewise.
26098         * modules/unistr/u8-strlen: Likewise.
26099         * modules/unistr/u8-strmblen: Likewise.
26100         * modules/unistr/u8-strmbtouc: Likewise.
26101         * modules/unistr/u8-strncat: Likewise.
26102         * modules/unistr/u8-strncmp: Likewise.
26103         * modules/unistr/u8-strncpy: Likewise.
26104         * modules/unistr/u8-strnlen: Likewise.
26105         * modules/unistr/u8-strpbrk: Likewise.
26106         * modules/unistr/u8-strrchr: Likewise.
26107         * modules/unistr/u8-strspn: Likewise.
26108         * modules/unistr/u8-strstr: Likewise.
26109         * modules/unistr/u8-strtok: Likewise.
26110         * modules/unistr/u8-to-u16: Likewise.
26111         * modules/unistr/u8-to-u32: Likewise.
26112         * modules/unistr/u8-uctomb: Likewise.
26113         * modules/unistr/u16-check: Likewise.
26114         * modules/unistr/u16-chr: Likewise.
26115         * modules/unistr/u16-cmp: Likewise.
26116         * modules/unistr/u16-cmp2: Likewise.
26117         * modules/unistr/u16-cpy: Likewise.
26118         * modules/unistr/u16-cpy-alloc: Likewise.
26119         * modules/unistr/u16-endswith: Likewise.
26120         * modules/unistr/u16-mblen: Likewise.
26121         * modules/unistr/u16-mbsnlen: Likewise.
26122         * modules/unistr/u16-mbtouc: Likewise.
26123         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26124         * modules/unistr/u16-mbtoucr: Likewise.
26125         * modules/unistr/u16-move: Likewise.
26126         * modules/unistr/u16-next: Likewise.
26127         * modules/unistr/u16-prev: Likewise.
26128         * modules/unistr/u16-set: Likewise.
26129         * modules/unistr/u16-startswith: Likewise.
26130         * modules/unistr/u16-stpcpy: Likewise.
26131         * modules/unistr/u16-stpncpy: Likewise.
26132         * modules/unistr/u16-strcat: Likewise.
26133         * modules/unistr/u16-strchr: Likewise.
26134         * modules/unistr/u16-strcmp: Likewise.
26135         * modules/unistr/u16-strcoll: Likewise.
26136         * modules/unistr/u16-strcpy: Likewise.
26137         * modules/unistr/u16-strcspn: Likewise.
26138         * modules/unistr/u16-strdup: Likewise.
26139         * modules/unistr/u16-strlen: Likewise.
26140         * modules/unistr/u16-strmblen: Likewise.
26141         * modules/unistr/u16-strmbtouc: Likewise.
26142         * modules/unistr/u16-strncat: Likewise.
26143         * modules/unistr/u16-strncmp: Likewise.
26144         * modules/unistr/u16-strncpy: Likewise.
26145         * modules/unistr/u16-strnlen: Likewise.
26146         * modules/unistr/u16-strpbrk: Likewise.
26147         * modules/unistr/u16-strrchr: Likewise.
26148         * modules/unistr/u16-strspn: Likewise.
26149         * modules/unistr/u16-strstr: Likewise.
26150         * modules/unistr/u16-strtok: Likewise.
26151         * modules/unistr/u16-to-u32: Likewise.
26152         * modules/unistr/u16-to-u8: Likewise.
26153         * modules/unistr/u16-uctomb: Likewise.
26154         * modules/unistr/u32-check: Likewise.
26155         * modules/unistr/u32-chr: Likewise.
26156         * modules/unistr/u32-cmp: Likewise.
26157         * modules/unistr/u32-cmp2: Likewise.
26158         * modules/unistr/u32-cpy: Likewise.
26159         * modules/unistr/u32-cpy-alloc: Likewise.
26160         * modules/unistr/u32-endswith: Likewise.
26161         * modules/unistr/u32-mblen: Likewise.
26162         * modules/unistr/u32-mbsnlen: Likewise.
26163         * modules/unistr/u32-mbtouc: Likewise.
26164         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26165         * modules/unistr/u32-mbtoucr: Likewise.
26166         * modules/unistr/u32-move: Likewise.
26167         * modules/unistr/u32-next: Likewise.
26168         * modules/unistr/u32-prev: Likewise.
26169         * modules/unistr/u32-set: Likewise.
26170         * modules/unistr/u32-startswith: Likewise.
26171         * modules/unistr/u32-stpcpy: Likewise.
26172         * modules/unistr/u32-stpncpy: Likewise.
26173         * modules/unistr/u32-strcat: Likewise.
26174         * modules/unistr/u32-strchr: Likewise.
26175         * modules/unistr/u32-strcmp: Likewise.
26176         * modules/unistr/u32-strcoll: Likewise.
26177         * modules/unistr/u32-strcpy: Likewise.
26178         * modules/unistr/u32-strcspn: Likewise.
26179         * modules/unistr/u32-strdup: Likewise.
26180         * modules/unistr/u32-strlen: Likewise.
26181         * modules/unistr/u32-strmblen: Likewise.
26182         * modules/unistr/u32-strmbtouc: Likewise.
26183         * modules/unistr/u32-strncat: Likewise.
26184         * modules/unistr/u32-strncmp: Likewise.
26185         * modules/unistr/u32-strncpy: Likewise.
26186         * modules/unistr/u32-strnlen: Likewise.
26187         * modules/unistr/u32-strpbrk: Likewise.
26188         * modules/unistr/u32-strrchr: Likewise.
26189         * modules/unistr/u32-strspn: Likewise.
26190         * modules/unistr/u32-strstr: Likewise.
26191         * modules/unistr/u32-strtok: Likewise.
26192         * modules/unistr/u32-to-u16: Likewise.
26193         * modules/unistr/u32-to-u8: Likewise.
26194         * modules/unistr/u32-uctomb: Likewise.
26195         * modules/uniwbrk/u8-wordbreaks: Likewise.
26196         * modules/uniwbrk/u16-wordbreaks: Likewise.
26197         * modules/uniwbrk/u32-wordbreaks: Likewise.
26198         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26199         * modules/uniwbrk/wordbreak-property: Likewise.
26200         * modules/uniwidth/u8-strwidth: Likewise.
26201         * modules/uniwidth/u8-width: Likewise.
26202         * modules/uniwidth/u16-strwidth: Likewise.
26203         * modules/uniwidth/u16-width: Likewise.
26204         * modules/uniwidth/u32-strwidth: Likewise.
26205         * modules/uniwidth/u32-width: Likewise.
26206         * modules/uniwidth/width: Likewise.
26207         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26208         with $(LIBUNISTRING).
26209         * modules/unicase/ignorable-tests: Likewise.
26210         * modules/unicase/locale-language-tests: Likewise.
26211         * modules/unicase/tolower-tests: Likewise.
26212         * modules/unicase/totitle-tests: Likewise.
26213         * modules/unicase/toupper-tests: Likewise.
26214         * modules/unicase/u8-casecmp-tests: Likewise.
26215         * modules/unicase/u8-casecoll-tests: Likewise.
26216         * modules/unicase/u8-casefold-tests: Likewise.
26217         * modules/unicase/u8-is-cased-tests: Likewise.
26218         * modules/unicase/u8-is-casefolded-tests: Likewise.
26219         * modules/unicase/u8-is-lowercase-tests: Likewise.
26220         * modules/unicase/u8-is-titlecase-tests: Likewise.
26221         * modules/unicase/u8-is-uppercase-tests: Likewise.
26222         * modules/unicase/u8-tolower-tests: Likewise.
26223         * modules/unicase/u8-totitle-tests: Likewise.
26224         * modules/unicase/u8-toupper-tests: Likewise.
26225         * modules/unicase/u16-casecmp-tests: Likewise.
26226         * modules/unicase/u16-casecoll-tests: Likewise.
26227         * modules/unicase/u16-casefold-tests: Likewise.
26228         * modules/unicase/u16-is-cased-tests: Likewise.
26229         * modules/unicase/u16-is-casefolded-tests: Likewise.
26230         * modules/unicase/u16-is-lowercase-tests: Likewise.
26231         * modules/unicase/u16-is-titlecase-tests: Likewise.
26232         * modules/unicase/u16-is-uppercase-tests: Likewise.
26233         * modules/unicase/u16-tolower-tests: Likewise.
26234         * modules/unicase/u16-totitle-tests: Likewise.
26235         * modules/unicase/u16-toupper-tests: Likewise.
26236         * modules/unicase/u32-casecmp-tests: Likewise.
26237         * modules/unicase/u32-casecoll-tests: Likewise.
26238         * modules/unicase/u32-casefold-tests: Likewise.
26239         * modules/unicase/u32-is-cased-tests: Likewise.
26240         * modules/unicase/u32-is-casefolded-tests: Likewise.
26241         * modules/unicase/u32-is-lowercase-tests: Likewise.
26242         * modules/unicase/u32-is-titlecase-tests: Likewise.
26243         * modules/unicase/u32-is-uppercase-tests: Likewise.
26244         * modules/unicase/u32-tolower-tests: Likewise.
26245         * modules/unicase/u32-totitle-tests: Likewise.
26246         * modules/unicase/u32-toupper-tests: Likewise.
26247         * modules/unicase/ulc-casecmp-tests: Likewise.
26248         * modules/unicase/ulc-casecoll-tests: Likewise.
26249         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26250         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26251         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26252         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26253         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26254         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26255         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26256         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26257         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26258         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26259         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26260         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26261         * modules/unictype/bidicategory-byname-tests: Likewise.
26262         * modules/unictype/bidicategory-name-tests: Likewise.
26263         * modules/unictype/bidicategory-of-tests: Likewise.
26264         * modules/unictype/bidicategory-test-tests: Likewise.
26265         * modules/unictype/block-list-tests: Likewise.
26266         * modules/unictype/block-of-tests: Likewise.
26267         * modules/unictype/block-test-tests: Likewise.
26268         * modules/unictype/category-C-tests: Likewise.
26269         * modules/unictype/category-Cc-tests: Likewise.
26270         * modules/unictype/category-Cf-tests: Likewise.
26271         * modules/unictype/category-Cn-tests: Likewise.
26272         * modules/unictype/category-Co-tests: Likewise.
26273         * modules/unictype/category-Cs-tests: Likewise.
26274         * modules/unictype/category-L-tests: Likewise.
26275         * modules/unictype/category-Ll-tests: Likewise.
26276         * modules/unictype/category-Lm-tests: Likewise.
26277         * modules/unictype/category-Lo-tests: Likewise.
26278         * modules/unictype/category-Lt-tests: Likewise.
26279         * modules/unictype/category-Lu-tests: Likewise.
26280         * modules/unictype/category-M-tests: Likewise.
26281         * modules/unictype/category-Mc-tests: Likewise.
26282         * modules/unictype/category-Me-tests: Likewise.
26283         * modules/unictype/category-Mn-tests: Likewise.
26284         * modules/unictype/category-N-tests: Likewise.
26285         * modules/unictype/category-Nd-tests: Likewise.
26286         * modules/unictype/category-Nl-tests: Likewise.
26287         * modules/unictype/category-No-tests: Likewise.
26288         * modules/unictype/category-P-tests: Likewise.
26289         * modules/unictype/category-Pc-tests: Likewise.
26290         * modules/unictype/category-Pd-tests: Likewise.
26291         * modules/unictype/category-Pe-tests: Likewise.
26292         * modules/unictype/category-Pf-tests: Likewise.
26293         * modules/unictype/category-Pi-tests: Likewise.
26294         * modules/unictype/category-Po-tests: Likewise.
26295         * modules/unictype/category-Ps-tests: Likewise.
26296         * modules/unictype/category-S-tests: Likewise.
26297         * modules/unictype/category-Sc-tests: Likewise.
26298         * modules/unictype/category-Sk-tests: Likewise.
26299         * modules/unictype/category-Sm-tests: Likewise.
26300         * modules/unictype/category-So-tests: Likewise.
26301         * modules/unictype/category-Z-tests: Likewise.
26302         * modules/unictype/category-Zl-tests: Likewise.
26303         * modules/unictype/category-Zp-tests: Likewise.
26304         * modules/unictype/category-Zs-tests: Likewise.
26305         * modules/unictype/category-and-not-tests: Likewise.
26306         * modules/unictype/category-and-tests: Likewise.
26307         * modules/unictype/category-byname-tests: Likewise.
26308         * modules/unictype/category-name-tests: Likewise.
26309         * modules/unictype/category-none-tests: Likewise.
26310         * modules/unictype/category-of-tests: Likewise.
26311         * modules/unictype/category-or-tests: Likewise.
26312         * modules/unictype/category-test-withtable-tests: Likewise.
26313         * modules/unictype/combining-class-tests: Likewise.
26314         * modules/unictype/ctype-alnum-tests: Likewise.
26315         * modules/unictype/ctype-alpha-tests: Likewise.
26316         * modules/unictype/ctype-blank-tests: Likewise.
26317         * modules/unictype/ctype-cntrl-tests: Likewise.
26318         * modules/unictype/ctype-digit-tests: Likewise.
26319         * modules/unictype/ctype-graph-tests: Likewise.
26320         * modules/unictype/ctype-lower-tests: Likewise.
26321         * modules/unictype/ctype-print-tests: Likewise.
26322         * modules/unictype/ctype-punct-tests: Likewise.
26323         * modules/unictype/ctype-space-tests: Likewise.
26324         * modules/unictype/ctype-upper-tests: Likewise.
26325         * modules/unictype/ctype-xdigit-tests: Likewise.
26326         * modules/unictype/decimal-digit-tests: Likewise.
26327         * modules/unictype/digit-tests: Likewise.
26328         * modules/unictype/mirror-tests: Likewise.
26329         * modules/unictype/numeric-tests: Likewise.
26330         * modules/unictype/property-alphabetic-tests: Likewise.
26331         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
26332         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
26333         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
26334         * modules/unictype/property-bidi-block-separator-tests: Likewise.
26335         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
26336         * modules/unictype/property-bidi-common-separator-tests: Likewise.
26337         * modules/unictype/property-bidi-control-tests: Likewise.
26338         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
26339         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
26340         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
26341         * modules/unictype/property-bidi-european-digit-tests: Likewise.
26342         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
26343         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
26344         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
26345         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
26346         * modules/unictype/property-bidi-pdf-tests: Likewise.
26347         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
26348         * modules/unictype/property-bidi-whitespace-tests: Likewise.
26349         * modules/unictype/property-byname-tests: Likewise.
26350         * modules/unictype/property-combining-tests: Likewise.
26351         * modules/unictype/property-composite-tests: Likewise.
26352         * modules/unictype/property-currency-symbol-tests: Likewise.
26353         * modules/unictype/property-dash-tests: Likewise.
26354         * modules/unictype/property-decimal-digit-tests: Likewise.
26355         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
26356         * modules/unictype/property-deprecated-tests: Likewise.
26357         * modules/unictype/property-diacritic-tests: Likewise.
26358         * modules/unictype/property-extender-tests: Likewise.
26359         * modules/unictype/property-format-control-tests: Likewise.
26360         * modules/unictype/property-grapheme-base-tests: Likewise.
26361         * modules/unictype/property-grapheme-extend-tests: Likewise.
26362         * modules/unictype/property-grapheme-link-tests: Likewise.
26363         * modules/unictype/property-hex-digit-tests: Likewise.
26364         * modules/unictype/property-hyphen-tests: Likewise.
26365         * modules/unictype/property-id-continue-tests: Likewise.
26366         * modules/unictype/property-id-start-tests: Likewise.
26367         * modules/unictype/property-ideographic-tests: Likewise.
26368         * modules/unictype/property-ids-binary-operator-tests: Likewise.
26369         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
26370         * modules/unictype/property-ignorable-control-tests: Likewise.
26371         * modules/unictype/property-iso-control-tests: Likewise.
26372         * modules/unictype/property-join-control-tests: Likewise.
26373         * modules/unictype/property-left-of-pair-tests: Likewise.
26374         * modules/unictype/property-line-separator-tests: Likewise.
26375         * modules/unictype/property-logical-order-exception-tests: Likewise.
26376         * modules/unictype/property-lowercase-tests: Likewise.
26377         * modules/unictype/property-math-tests: Likewise.
26378         * modules/unictype/property-non-break-tests: Likewise.
26379         * modules/unictype/property-not-a-character-tests: Likewise.
26380         * modules/unictype/property-numeric-tests: Likewise.
26381         * modules/unictype/property-other-alphabetic-tests: Likewise.
26382         * modules/unictype/property-other-default-ignorable-code-point-tests:
26383         Likewise.
26384         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
26385         * modules/unictype/property-other-id-continue-tests: Likewise.
26386         * modules/unictype/property-other-id-start-tests: Likewise.
26387         * modules/unictype/property-other-lowercase-tests: Likewise.
26388         * modules/unictype/property-other-math-tests: Likewise.
26389         * modules/unictype/property-other-uppercase-tests: Likewise.
26390         * modules/unictype/property-paired-punctuation-tests: Likewise.
26391         * modules/unictype/property-paragraph-separator-tests: Likewise.
26392         * modules/unictype/property-pattern-syntax-tests: Likewise.
26393         * modules/unictype/property-pattern-white-space-tests: Likewise.
26394         * modules/unictype/property-private-use-tests: Likewise.
26395         * modules/unictype/property-punctuation-tests: Likewise.
26396         * modules/unictype/property-quotation-mark-tests: Likewise.
26397         * modules/unictype/property-radical-tests: Likewise.
26398         * modules/unictype/property-sentence-terminal-tests: Likewise.
26399         * modules/unictype/property-soft-dotted-tests: Likewise.
26400         * modules/unictype/property-space-tests: Likewise.
26401         * modules/unictype/property-terminal-punctuation-tests: Likewise.
26402         * modules/unictype/property-test-tests: Likewise.
26403         * modules/unictype/property-titlecase-tests: Likewise.
26404         * modules/unictype/property-unassigned-code-value-tests: Likewise.
26405         * modules/unictype/property-unified-ideograph-tests: Likewise.
26406         * modules/unictype/property-uppercase-tests: Likewise.
26407         * modules/unictype/property-variation-selector-tests: Likewise.
26408         * modules/unictype/property-white-space-tests: Likewise.
26409         * modules/unictype/property-xid-continue-tests: Likewise.
26410         * modules/unictype/property-xid-start-tests: Likewise.
26411         * modules/unictype/property-zero-width-tests: Likewise.
26412         * modules/unictype/scripts-tests: Likewise.
26413         * modules/unictype/syntax-c-ident-tests: Likewise.
26414         * modules/unictype/syntax-c-whitespace-tests: Likewise.
26415         * modules/unictype/syntax-java-ident-tests: Likewise.
26416         * modules/unictype/syntax-java-whitespace-tests: Likewise.
26417         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
26418         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
26419         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
26420         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
26421         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
26422         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
26423         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
26424         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
26425         * modules/uniname/uniname-tests: Likewise.
26426         * modules/uninorm/canonical-decomposition-tests: Likewise.
26427         * modules/uninorm/compat-decomposition-tests: Likewise.
26428         * modules/uninorm/composition-tests: Likewise.
26429         * modules/uninorm/decomposing-form-tests: Likewise.
26430         * modules/uninorm/decomposition-tests: Likewise.
26431         * modules/uninorm/filter-tests: Likewise.
26432         * modules/uninorm/nfc-tests: Likewise.
26433         * modules/uninorm/nfd-tests: Likewise.
26434         * modules/uninorm/nfkc-tests: Likewise.
26435         * modules/uninorm/nfkd-tests: Likewise.
26436         * modules/uninorm/u8-normcmp-tests: Likewise.
26437         * modules/uninorm/u8-normcoll-tests: Likewise.
26438         * modules/uninorm/u16-normcmp-tests: Likewise.
26439         * modules/uninorm/u16-normcoll-tests: Likewise.
26440         * modules/uninorm/u32-normcmp-tests: Likewise.
26441         * modules/uninorm/u32-normcoll-tests: Likewise.
26442         * modules/unistdio/u8-asnprintf-tests: Likewise.
26443         * modules/unistdio/u8-vasnprintf-tests: Likewise.
26444         * modules/unistdio/u8-vasprintf-tests: Likewise.
26445         * modules/unistdio/u8-vsnprintf-tests: Likewise.
26446         * modules/unistdio/u8-vsprintf-tests: Likewise.
26447         * modules/unistdio/u16-asnprintf-tests: Likewise.
26448         * modules/unistdio/u16-vasnprintf-tests: Likewise.
26449         * modules/unistdio/u16-vasprintf-tests: Likewise.
26450         * modules/unistdio/u16-vsnprintf-tests: Likewise.
26451         * modules/unistdio/u16-vsprintf-tests: Likewise.
26452         * modules/unistdio/u32-asnprintf-tests: Likewise.
26453         * modules/unistdio/u32-vasnprintf-tests: Likewise.
26454         * modules/unistdio/u32-vasprintf-tests: Likewise.
26455         * modules/unistdio/u32-vsnprintf-tests: Likewise.
26456         * modules/unistdio/u32-vsprintf-tests: Likewise.
26457         * modules/unistdio/ulc-asnprintf-tests: Likewise.
26458         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
26459         * modules/unistdio/ulc-vasprintf-tests: Likewise.
26460         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
26461         * modules/unistdio/ulc-vsprintf-tests: Likewise.
26462         * modules/unistr/u8-check-tests: Likewise.
26463         * modules/unistr/u8-chr-tests: Likewise.
26464         * modules/unistr/u8-cmp-tests: Likewise.
26465         * modules/unistr/u8-cmp2-tests: Likewise.
26466         * modules/unistr/u8-cpy-alloc-tests: Likewise.
26467         * modules/unistr/u8-cpy-tests: Likewise.
26468         * modules/unistr/u8-mblen-tests: Likewise.
26469         * modules/unistr/u8-mbsnlen-tests: Likewise.
26470         * modules/unistr/u8-mbtouc-tests: Likewise.
26471         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
26472         * modules/unistr/u8-mbtoucr-tests: Likewise.
26473         * modules/unistr/u8-move-tests: Likewise.
26474         * modules/unistr/u8-next-tests: Likewise.
26475         * modules/unistr/u8-prev-tests: Likewise.
26476         * modules/unistr/u8-set-tests: Likewise.
26477         * modules/unistr/u8-stpcpy-tests: Likewise.
26478         * modules/unistr/u8-stpncpy-tests: Likewise.
26479         * modules/unistr/u8-strcat-tests: Likewise.
26480         * modules/unistr/u8-strcmp-tests: Likewise.
26481         * modules/unistr/u8-strcoll-tests: Likewise.
26482         * modules/unistr/u8-strcpy-tests: Likewise.
26483         * modules/unistr/u8-strdup-tests: Likewise.
26484         * modules/unistr/u8-strlen-tests: Likewise.
26485         * modules/unistr/u8-strmblen-tests: Likewise.
26486         * modules/unistr/u8-strmbtouc-tests: Likewise.
26487         * modules/unistr/u8-strncat-tests: Likewise.
26488         * modules/unistr/u8-strncmp-tests: Likewise.
26489         * modules/unistr/u8-strncpy-tests: Likewise.
26490         * modules/unistr/u8-strnlen-tests: Likewise.
26491         * modules/unistr/u8-to-u16-tests: Likewise.
26492         * modules/unistr/u8-to-u32-tests: Likewise.
26493         * modules/unistr/u8-uctomb-tests: Likewise.
26494         * modules/unistr/u16-check-tests: Likewise.
26495         * modules/unistr/u16-chr-tests: Likewise.
26496         * modules/unistr/u16-cmp-tests: Likewise.
26497         * modules/unistr/u16-cmp2-tests: Likewise.
26498         * modules/unistr/u16-cpy-alloc-tests: Likewise.
26499         * modules/unistr/u16-cpy-tests: Likewise.
26500         * modules/unistr/u16-mblen-tests: Likewise.
26501         * modules/unistr/u16-mbsnlen-tests: Likewise.
26502         * modules/unistr/u16-mbtouc-tests: Likewise.
26503         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
26504         * modules/unistr/u16-mbtoucr-tests: Likewise.
26505         * modules/unistr/u16-move-tests: Likewise.
26506         * modules/unistr/u16-next-tests: Likewise.
26507         * modules/unistr/u16-prev-tests: Likewise.
26508         * modules/unistr/u16-set-tests: Likewise.
26509         * modules/unistr/u16-stpcpy-tests: Likewise.
26510         * modules/unistr/u16-stpncpy-tests: Likewise.
26511         * modules/unistr/u16-strcat-tests: Likewise.
26512         * modules/unistr/u16-strcmp-tests: Likewise.
26513         * modules/unistr/u16-strcoll-tests: Likewise.
26514         * modules/unistr/u16-strcpy-tests: Likewise.
26515         * modules/unistr/u16-strdup-tests: Likewise.
26516         * modules/unistr/u16-strlen-tests: Likewise.
26517         * modules/unistr/u16-strmblen-tests: Likewise.
26518         * modules/unistr/u16-strmbtouc-tests: Likewise.
26519         * modules/unistr/u16-strncat-tests: Likewise.
26520         * modules/unistr/u16-strncmp-tests: Likewise.
26521         * modules/unistr/u16-strncpy-tests: Likewise.
26522         * modules/unistr/u16-strnlen-tests: Likewise.
26523         * modules/unistr/u16-to-u32-tests: Likewise.
26524         * modules/unistr/u16-to-u8-tests: Likewise.
26525         * modules/unistr/u16-uctomb-tests: Likewise.
26526         * modules/unistr/u32-check-tests: Likewise.
26527         * modules/unistr/u32-chr-tests: Likewise.
26528         * modules/unistr/u32-cmp-tests: Likewise.
26529         * modules/unistr/u32-cmp2-tests: Likewise.
26530         * modules/unistr/u32-cpy-alloc-tests: Likewise.
26531         * modules/unistr/u32-cpy-tests: Likewise.
26532         * modules/unistr/u32-mblen-tests: Likewise.
26533         * modules/unistr/u32-mbsnlen-tests: Likewise.
26534         * modules/unistr/u32-mbtouc-tests: Likewise.
26535         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
26536         * modules/unistr/u32-mbtoucr-tests: Likewise.
26537         * modules/unistr/u32-move-tests: Likewise.
26538         * modules/unistr/u32-next-tests: Likewise.
26539         * modules/unistr/u32-prev-tests: Likewise.
26540         * modules/unistr/u32-set-tests: Likewise.
26541         * modules/unistr/u32-stpcpy-tests: Likewise.
26542         * modules/unistr/u32-stpncpy-tests: Likewise.
26543         * modules/unistr/u32-strcat-tests: Likewise.
26544         * modules/unistr/u32-strcmp-tests: Likewise.
26545         * modules/unistr/u32-strcoll-tests: Likewise.
26546         * modules/unistr/u32-strcpy-tests: Likewise.
26547         * modules/unistr/u32-strdup-tests: Likewise.
26548         * modules/unistr/u32-strlen-tests: Likewise.
26549         * modules/unistr/u32-strmblen-tests: Likewise.
26550         * modules/unistr/u32-strmbtouc-tests: Likewise.
26551         * modules/unistr/u32-strncat-tests: Likewise.
26552         * modules/unistr/u32-strncmp-tests: Likewise.
26553         * modules/unistr/u32-strncpy-tests: Likewise.
26554         * modules/unistr/u32-strnlen-tests: Likewise.
26555         * modules/unistr/u32-to-u16-tests: Likewise.
26556         * modules/unistr/u32-to-u8-tests: Likewise.
26557         * modules/unistr/u32-uctomb-tests: Likewise.
26558         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
26559         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
26560         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
26561         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
26562         * modules/uniwidth/u8-strwidth-tests: Likewise.
26563         * modules/uniwidth/u8-width-tests: Likewise.
26564         * modules/uniwidth/u16-strwidth-tests: Likewise.
26565         * modules/uniwidth/u16-width-tests: Likewise.
26566         * modules/uniwidth/u32-strwidth-tests: Likewise.
26567         * modules/uniwidth/u32-width-tests: Likewise.
26568         * modules/uniwidth/width-tests: Likewise.
26569
26570 2010-05-18  Richard Jones  <rjones@redhat.com>
26571
26572         doc: users.txt: list hivex
26573         * users.txt: Add hivex.
26574
26575 2010-05-18  Richard Jones  <rjones@redhat.com>
26576
26577         doc: users.txt: list febootstrap
26578         * users.txt: Add febootstrap.
26579
26580 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
26581
26582         bootstrap: fix an error when gnulib is not used as a git submodule
26583         * build-aux/bootstrap (gnulib_path): If its length is zero then
26584         assign "gnulib" to it.
26585         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
26586
26587 2010-05-16  Bruno Haible  <bruno@clisp.org>
26588
26589         Avoid autoconf warnings about AM_ICONV.
26590         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
26591         2.64.
26592
26593 2010-05-16  Bruno Haible  <bruno@clisp.org>
26594
26595         absolute-header: Make the macro usable in more situations.
26596         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
26597         from gl_ABSOLUTE_HEADER.
26598         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
26599
26600 2010-05-16  James Youngman  <jay@gnu.org>
26601
26602         doc: update users.txt
26603         * users.txt: Add CSSC.
26604
26605 2010-05-16  Jim Meyering  <meyering@redhat.com>
26606
26607         init.sh: fix an error in the previous change; add more comments
26608         * tests/init.sh: Compare exit code in loop against 9, not 2.
26609         Patch by Bruno Haible.
26610         Make the two tests more similar by adding an empty "then" clause.
26611         Add comments.
26612
26613         init.sh: avoid unnecessary shell re-exec
26614         * tests/init.sh: Improve the re-exec-required check to first test the
26615         current shell.  If it passes the test, do not search for a shell that
26616         does pass, and do not re-exec.  This test is particularly contorted to
26617         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
26618         of $(...) evokes a syntax error and causes immediate shell exit with
26619         status 2.  Bruno Haible reported that the re-exec made it impossible
26620         to single-step through any init.sh-using script.
26621
26622 2010-05-16  Bruno Haible  <bruno@clisp.org>
26623
26624         Fix collision between gnulib's and libintl's printf replacements.
26625         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
26626         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
26627         (printf): When using GNU C, map the __printf__ function to rpl_printf
26628         via __asm__. When not using GNU C, define rpl_printf instead of
26629         __printf__.
26630         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
26631         commit.
26632         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
26633         commit.
26634         * m4/asm-underscore.m4: New file.
26635         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
26636         * modules/stdio (Files): Add m4/asm-underscore.m4.
26637         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
26638         Reported by Ben Pfaff.
26639
26640 2010-05-16  Bruno Haible  <bruno@clisp.org>
26641
26642         verify: Avoid skipping the test on openSUSE 11.0.
26643         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
26644
26645 2010-05-13  Bruno Haible  <bruno@clisp.org>
26646
26647         Avoid useless warnings from G++.
26648         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
26649         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
26650         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26651
26652 2010-05-11  Jim Meyering  <meyering@redhat.com>
26653
26654         maint.mk: tweak preceding change
26655         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
26656         regexps tighter by anchoring at EOL, and make the new group "shy"
26657         for slightly decreased overhead.
26658
26659 2010-05-11  Eric Blake  <eblake@redhat.com>
26660
26661         maint.mk: gnulib doesn't guarantee NSIG
26662         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
26663
26664 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26665
26666         test-pwrite.c: Remove unused variable declaration.
26667         * tests/test-pwrite.c (main): Remove read_buf declaration.
26668
26669         Remove useless test-pwrite.sh file.
26670         * tests/test-pwrite.sh: Delete file.
26671         * modules/pwrite-tests: Remove references.
26672         Reported by Bruno Haible.
26673
26674 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
26675
26676         init.sh: fix a typo
26677         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
26678
26679 2010-05-10  Jim Meyering  <meyering@redhat.com>
26680
26681         maint.mk: avoid using a temporary file in the always-defined-macros check
26682         * top/maint.mk (.re-defmac): Remove rule.
26683         (gl_trap_): Remove definition.
26684         (sc_prohibit_always-defined_macros): Rewrite not to create and
26685         depend on a temporary file.  Instead, depend on GNU grep's ability
26686         to read a list of regular expressions from stdin when given "-f -".
26687
26688 2010-05-09  Bruno Haible  <bruno@clisp.org>
26689
26690         Update to GNU gettext 0.18, part 1.
26691         * m4/gettext.m4: Update to GNU gettext 0.18.
26692         * m4/intl.m4: Likewise.
26693         * m4/po.m4: Likewise.
26694         * modules/gettext (Files): Add m4/fcntl-o.m4.
26695         (configure.ac): Require gettext infrastructure from version 0.18.
26696
26697 2010-05-09  Jim Meyering  <meyering@redhat.com>
26698
26699         init.sh: enable MALLOC_PERTURB_
26700         * tests/init.sh: Enable glibc's malloc-perturbing option.
26701
26702         maint.mk: improve sc_cross_check_PATH_usage_in_tests
26703         With my recent change in init.sh from the two-line form:
26704             -#   : ${srcdir=.}
26705             -#   . "$srcdir/init.sh"; path_prepend_ .
26706             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
26707         I noticed that using the one-line form would cause this test
26708         to fail with a false-positive, or to stop working altogether,
26709         depending on whether help-version changed or all the tests did.
26710         * top/maint.mk (_hv_regex): Remove this definition.
26711         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
26712         (_hv_regex_strong): Use a stronger regex to check for conformance.
26713         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
26714         Give a separate diagnostic for lack of conforming use.
26715
26716         maint.mk: prohibit definition of symbols defined by gnulib
26717         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
26718         definition of symbols defined by gnulib.
26719
26720 2010-05-09  Bruno Haible  <bruno@clisp.org>
26721
26722         acl: Avoid test failure on Cygwin-hosted mingw.
26723         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
26724
26725 2010-05-09  Bruno Haible  <bruno@clisp.org>
26726
26727         error: Use system's fcntl function.
26728         * lib/error.c (fcntl): Undefine.
26729
26730 2010-05-09  Jim Meyering  <meyering@redhat.com>
26731
26732         verify: adjust formatting to be more consistent
26733         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
26734         argument-list '('s, and after one comma.
26735
26736 2010-05-09  Bruno Haible  <bruno@clisp.org>
26737
26738         error: More reliable output on mingw.
26739         * lib/error.c: Include <windows.h>.
26740         (is_open): New function.
26741         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
26742         defined.
26743
26744 2010-05-09  Bruno Haible  <bruno@clisp.org>
26745
26746         vasnprintf: Fix syntax errors in libintl build on mingw.
26747         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
26748         pad_ourselves and prec_ourselves after use.
26749
26750 2010-05-08  Bruno Haible  <bruno@clisp.org>
26751
26752         * lib/config.charset: Update comments for Cygwin 1.7.
26753         * lib/localcharset.c: Likewise.
26754
26755 2010-05-07  Jim Meyering  <meyering@redhat.com>
26756
26757         init.sh: improve comments
26758         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
26759         . "${srcdir=.}/init.sh"; path_prepend_ .
26760         Add a note about path_prepend_ and the alternative of using
26761         TESTS_ENVIRONMENT.
26762
26763 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
26764
26765         exclude: Unescape hashed patterns in wildcard mode.
26766         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
26767         to the hash list.
26768         * tests/test-exclude8.sh: New test case.
26769         * modules/exclude-tests: Add new test.
26770
26771 2010-05-05  Eric Blake  <eblake@redhat.com>
26772
26773         verify: automate tests
26774         * modules/verify-tests: New module.
26775         * tests/test-verify.sh: New file.
26776         * tests/test-verify.c: Guard each negative test with a unique id.
26777         Also avoid warning about unused left hand of comma expressions.
26778
26779 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
26780
26781         Further improvements to verify.h, suggested by Eric Blake.
26782         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
26783         the GL_* versions, to avoid collision with OpenGL.
26784         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
26785         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
26786         than testing merely whether it's defined.
26787
26788         Modify verify.h to pacify gcc -Wredundant_decls.
26789         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
26790         These use the prefix "GL_" since they're likely to be useful elsewhere.
26791         We may need to break them out into a different .h file.
26792         (__COUNTER__): Define to 0 if the compiler doesn't support it.
26793         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
26794         of verify_function__.
26795
26796 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26797
26798         Tests for module pwrite.
26799         * modules/pwrite-tests: New file.
26800         * tests/test-pwrite.sh: New file.
26801         * tests/test-pwrite.c: New file.
26802
26803         New module pwrite.
26804         * lib/unistd.in.h (pwrite): New declaration.
26805         * lib/pwrite.c: New file, from glibc with modifications.
26806         * m4/pwrite.m4: New file.
26807         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
26808         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
26809         REPLACE_PWRITE.
26810         * modules/pwrite: New file.
26811         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
26812         REPLACE_PWRITE.
26813         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
26814         * doc/posix-functions/pwrite.texi: Mention the new module.
26815
26816 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
26817
26818         pread: Update documentation.
26819         * doc/posix-functions/pread.texi: Mention the 'pread' module.
26820
26821 2010-05-04  Eric Blake  <eblake@redhat.com>
26822
26823         docs: update cygwin progress
26824         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
26825         this bug.
26826         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
26827         Added in cygwin 1.7.2.
26828         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
26829         Likewise.
26830         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
26831         Likewise.
26832         * doc/glibc-functions/dup3.texi (dup3): Likewise.
26833         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
26834         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26835         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
26836         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
26837         Mention nproc module.
26838         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
26839         bug in cygwin 1.7.5 addition.
26840         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
26841         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
26842         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
26843         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
26844         1.7.5.
26845         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
26846         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
26847         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
26848         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
26849         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
26850         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
26851         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
26852         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
26853         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
26854         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
26855         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
26856         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
26857         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
26858         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
26859         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
26860         Likewise.
26861         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
26862         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
26863         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
26864         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
26865         Likewise.
26866         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
26867         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
26868         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
26869         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
26870         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
26871         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
26872         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
26873         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
26874         Likewise.
26875         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
26876         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
26877         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
26878         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
26879         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
26880         Likewise.
26881         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
26882         Likewise.
26883         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
26884         Likewise.
26885         * doc/glibc-functions/xdrrec_endofrecord.texi
26886         (xdrrec_endofrecord): Likewise.
26887         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
26888         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
26889         Likewise.
26890         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
26891         Likewise.
26892
26893 2010-05-04  Jim Meyering  <meyering@redhat.com>
26894
26895         gendocs.sh: make its "-s FILE" option more useful
26896         * build-aux/gendocs.sh: When honoring the -s FILE option, update
26897         $PACKAGE to reflect the probably-different basename of "FILE".
26898
26899 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26900
26901         bootstrap: don't ignore download_po_files failure
26902         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
26903         failure.
26904
26905 2010-05-03  Jim Meyering  <meyering@redhat.com>
26906
26907         maint.mk: allow to pass options to gendocs.sh
26908         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
26909         (gendocs_options_): New overridable variable.
26910
26911         gnu-web-doc-update: don't ignore configure or build failure
26912         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
26913
26914         announce-gen: backslash-escape '@'s in --help output
26915         * build-aux/announce-gen: Fix syntax errors.
26916
26917         maint.mk, announce-gen: allow project-specific announcement mail headers
26918         * top/maint.mk (translation_project_): Define default.
26919         (announcement_Cc_, announcement_mail_headers_): Likewise.
26920         (announcement): Invoke announce-gen with new --mail-headers option.
26921         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
26922
26923         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
26924         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
26925         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
26926         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
26927         line in the "err2" output file when running "make check" in verbose
26928         mode (i.e., with set -x enabled).
26929
26930 2010-05-03  Bruno Haible  <bruno@clisp.org>
26931
26932         wctob: Fix for weird platforms.
26933         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
26934         argument value.
26935
26936 2010-05-03  Jim Meyering  <meyering@redhat.com>
26937
26938         maint.mk: prohibit unwarranted use of <strings.h>
26939         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
26940         strings.h in a file that does not also use strcasecmp, strncasecmp,
26941         ffs or ffsll.
26942
26943         maint.mk: remove obsolete comments
26944         * top/maint.mk: Remove stale, commented-out rules.
26945
26946 2010-05-02  Bruno Haible  <bruno@clisp.org>
26947
26948         wcwidth: Declare also when it's aliased.
26949         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
26950         macro.
26951
26952 2010-05-02  Bruno Haible  <bruno@clisp.org>
26953
26954         Fix regression from 2010-04-25.
26955         * gnulib-tool (func_modules_transitive_closure): Check the status of
26956         all modules, not only of the tests that are of the form foo-tests where
26957         foo is a module.
26958
26959 2010-05-02  Bruno Haible  <bruno@clisp.org>
26960
26961         wctob: Work around nasty Cygwin 1.7.2 bug.
26962         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
26963         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
26964
26965 2010-05-01  Bruno Haible  <bruno@clisp.org>
26966
26967         fpurge: Sharper test.
26968         * tests/test-fpurge.c (main): Add one more ftell check.
26969         * modules/fpurge-tests (Depends-on): Add ftell.
26970         Suggested by Eric Blake.
26971
26972 2010-05-01  Bruno Haible  <bruno@clisp.org>
26973
26974         ftello: Another test.
26975         * tests/test-ftello3.c: New file.
26976         * modules/ftello-tests (Files): Add it.
26977         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26978         MOSTLYCLEANFILES.
26979
26980         ftell: Another test.
26981         * tests/test-ftell3.c: New file.
26982         * modules/ftell-tests (Files): Add it.
26983         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26984         MOSTLYCLEANFILES.
26985
26986 2010-05-01  Bruno Haible  <bruno@clisp.org>
26987
26988         ftell, ftello: Work around Solaris bug.
26989         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26990         * lib/ftello.c: Include stdio-impl.h.
26991         (ftello): On Solaris, when _IOWRT is set, compute the result without
26992         looking at _IOREAD.
26993         * modules/ftello (Files): Add lib/stdio-impl.h.
26994         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26995         * doc/posix-functions/ftello.texi: Likewise.
26996         Reported by Eric Blake.
26997
26998 2010-05-01  Bruno Haible  <bruno@clisp.org>
26999
27000         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27001         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27002         the _IOWRT flag is also set.
27003
27004 2010-05-01  Bruno Haible  <bruno@clisp.org>
27005
27006         Fix doc about a HP-UX stdio bug.
27007         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27008         * doc/posix-functions/ftello.texi: Likewise.
27009
27010 2010-05-01  Bruno Haible  <bruno@clisp.org>
27011
27012         lseek test: Fix failure on Solaris.
27013         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27014         output.
27015
27016 2010-04-30  Jim Meyering  <meyering@redhat.com>
27017
27018         bootstrap: don't ignore failure to generate po*/Makevars
27019         * build-aux/bootstrap (with_gettext): Don't ignore failure
27020         to create po/Makevars or runtime-po/Makevars.
27021
27022 2010-04-29  Eric Blake  <eblake@redhat.com>
27023
27024         headers: relax license to LGPLv2+
27025         * modules/fcntl-h (License): Relax license.
27026         * modules/getopt-posix (License): Likewise.
27027         * modules/locale (License): Likewise.
27028         * modules/math (License): Likewise.
27029         * modules/pty (License): Likewise.
27030         * modules/sched (License): Likewise.
27031         * modules/search (License): Likewise.
27032         * modules/spawn (License): Likewise.
27033         * modules/stdarg (License): Likewise.
27034         * modules/sysexits (License): Likewise.
27035
27036 2010-04-29  Jim Meyering  <meyering@redhat.com>
27037
27038         inttypes: relax license to LGPLv2+
27039         * modules/inttypes (License): Relax license.
27040
27041 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27042
27043         * top/maint.mk (indent): Run twice to produce idempotent results.
27044
27045 2010-04-28  Bruno Haible  <bruno@clisp.org>
27046
27047         getdate: Generate getdate.c in the source directory.
27048         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27049         MOSTLYCLEANFILES.
27050         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27051
27052 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27053
27054         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27055         is not declared as a const *; avoid warnings in that case.
27056
27057 2010-04-28  Eric Blake  <eblake@redhat.com>
27058
27059         canonicalize-lgpl: avoid compiler warning
27060         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27061         declaration' / 'extraneous semicolon' warning with some compilers.
27062         Reported by Andreas Gruenbacher.
27063
27064 2010-04-28  Jim Meyering  <meyering@redhat.com>
27065
27066         init.sh: ensure a more reliable exit status when exiting via trap
27067         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27068         Inspired by patches from Dmitry V. Levin.
27069         Also trap on signal 3 (SIGQUIT).
27070
27071 2010-04-27  Bruno Haible  <bruno@clisp.org>
27072
27073         Update doc about utimes().
27074         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27075         'utimens' module.
27076         Reported by Andreas Gruenbacher <agruen@suse.de>.
27077
27078 2010-04-27  Eric Blake  <eblake@redhat.com>
27079
27080         full-read, full-write: relax license
27081         * modules/full-read (License): Drop to LGPLv2+.
27082         * modules/full-write (License): Likewise.
27083         * modules/safe-read (License): Likewise.
27084         * modules/safe-write (License): Likewise.
27085
27086         pthread: mention library for linking
27087         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27088
27089 2010-04-27  Jim Meyering  <meyering@redhat.com>
27090
27091         maint.mk: fix a bug introduced in last change
27092         * top/maint.mk (gl_assured_headers_): Now that all names are on
27093         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27094         is not anchored to end of word, it should be adequate.
27095
27096         maint.mk: avoid side-effect in latest syntax-check
27097         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27098         to run commands via $(shell...), and hence to incur cost only when
27099         the new rule is actually run.
27100
27101         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27102         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27103         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27104         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27105         (gl_assured_headers_, az_, AZ_): Define.
27106         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27107
27108 2010-04-26  Jim Meyering  <jim@meyering.net>
27109             Bruno Haible  <bruno@clisp.org>
27110
27111         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27112         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27113         Prompted by an exchange with Gilles Espinasse.
27114
27115 2010-04-26  Jim Meyering  <meyering@redhat.com>
27116
27117         git-version-gen: aesthetic tweak
27118         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27119         so that the command remains on a single line.
27120
27121 2010-04-26  Eric Blake  <eblake@redhat.com>
27122
27123         git-version-gen: allow use on EBCDIC hosts
27124         * build-aux/git-version-gen (dirty): Use literal rather than tying
27125         ourselves to ascii.
27126         Reported by Steve Goetze.
27127
27128 2010-04-25  Bruno Haible  <bruno@clisp.org>
27129
27130         netdb: Add support for GNULIB_POSIXCHECK.
27131         * lib/netdb.in.h: Include warn-on-use.h.
27132         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27133         functions are used when GNULIB_POSIXCHECK is defined and the
27134         getaddrinfo module is not in use.
27135         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27136         freeaddrinfo, gai_strerror, getnameinfo are declared.
27137         * modules/netdb (Depends-on): Add warn-on-use.
27138         (Makefile.am): Include warn-on-use.h in netdb.h.
27139
27140 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27141
27142         build: avoid "make check" failure without .git/ directory
27143         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27144         there is no .git/ directory.
27145
27146 2010-04-25  Bruno Haible  <bruno@clisp.org>
27147
27148         ptsname: Fix misuse of ttyname_r.
27149         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27150         of errno.
27151
27152 2010-04-25  Bruno Haible  <bruno@clisp.org>
27153
27154         ttyname_r: Make it work on Solaris 10.
27155         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27156         if the system function has the POSIX declaration. Test whether the
27157         function fails if the buffer is less than 128 bytes large.
27158         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27159         system's ttyname_r function. Provide a reasonably large buffer.
27160         * modules/ttyname_r (Depends-on): Add extensions.
27161         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27162
27163 2010-04-25  Bruno Haible  <bruno@clisp.org>
27164
27165         Use the 'extensions' module for some more functions on Solaris.
27166         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27167         module.
27168         * doc/posix-functions/ctime_r.texi: Likewise.
27169         * doc/posix-functions/getgrgid_r.texi: Likewise.
27170         * doc/posix-functions/getgrnam_r.texi: Likewise.
27171         * doc/posix-functions/getpwnam_r.texi: Likewise.
27172         * doc/posix-functions/getpwuid_r.texi: Likewise.
27173         * doc/posix-functions/readdir_r.texi: Likewise.
27174         * doc/posix-functions/sigwait.texi: Likewise.
27175         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27176         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27177
27178 2010-04-25  Bruno Haible  <bruno@clisp.org>
27179
27180         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27181         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27182         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27183         * lib/ttyname_r.c: Include <limits.h>.
27184         (ttyname_r): Define using the system's ttyname_r function, if it exists
27185         and not on Solaris.
27186         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27187         set.
27188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27189         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27190         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27191         Reported by Simon Josefsson.
27192
27193 2010-04-25  Bruno Haible  <bruno@clisp.org>
27194
27195         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27196         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27197         * doc/posix-functions/ctime_r.texi: Likewise.
27198         * doc/posix-functions/getgrgid_r.texi: Likewise.
27199         * doc/posix-functions/getgrnam_r.texi: Likewise.
27200         * doc/posix-functions/getlogin_r.texi: Likewise.
27201         * doc/posix-functions/getpwnam_r.texi: Likewise.
27202         * doc/posix-functions/getpwuid_r.texi: Likewise.
27203         * doc/posix-functions/readdir_r.texi: Likewise.
27204         * doc/posix-functions/sigwait.texi: Likewise.
27205         * doc/posix-functions/ttyname_r.texi: Likewise.
27206         Reported by Simon Josefsson.
27207
27208 2010-04-25  Bruno Haible  <bruno@clisp.org>
27209
27210         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27211         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27212         also to --create-testdir.
27213         (func_acceptable): Don't consider the status of *-tests modules here.
27214         (func_modules_transitive_closure): Consider it here, before including a
27215         test module.
27216         (func_import, func_create_testdir): Set inc_all_direct_tests,
27217         inc_all_indirect_tests.
27218         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27219         --create-testdir and --create-megatestdir.
27220
27221 2010-04-25  Bruno Haible  <bruno@clisp.org>
27222
27223         gnulib-tool: Add --without-*-tests options.
27224         * gnulib-tool (func_usage): Document the --without-*-tests options.
27225         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27226         excl_unportable_tests): New variables.
27227         Fail if they are specified with --import or --update.
27228         (func_acceptable): Respect the excl_*_tests variables.
27229         (func_import): Set the excl_*_tests variables to empty.
27230
27231 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27232             Bruno Haible  <bruno@clisp.org>
27233
27234         Work around a MacOS X 10.4 bug with openpty.
27235         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27236         * tests/test-openpty.c (main): Close the master side explicitly.
27237
27238 2010-04-25  Bruno Haible  <bruno@clisp.org>
27239
27240         strnlen: Fix a C++ test error on MacOS X and Solaris.
27241         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27242         the function is not declared.
27243         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27244         Simon Josefsson.
27245
27246 2010-04-24  Bruno Haible  <bruno@clisp.org>
27247
27248         Avoid a gcc warning.
27249         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27250         of correct type for %08lx directive.
27251         Reported by Eric Blake.
27252
27253 2010-04-24  Bruno Haible  <bruno@clisp.org>
27254
27255         vasnprintf: Correct errno value in case of out-of-memory.
27256         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27257         or sprintf. Use the errno value from SNPRINTF or sprintf.
27258         Reported by Ian Beckwith <ianb@erislabs.net>.
27259
27260 2010-04-24  Bruno Haible  <bruno@clisp.org>
27261
27262         ansi-c++-opt: Find correct compiler when cross-compiling.
27263         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27264         AC_CHECK_PROGS.
27265         Reported by Simon Josefsson.
27266
27267 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27268
27269         vc-list-files: Add support for subversion
27270         * build-aux/vc-list-files: Use "svn list" to generate the list of
27271         files controlled by subversion.
27272
27273 2010-04-23  Jim Meyering  <meyering@redhat.com>
27274
27275         vc-list-files tests: convert to use init.sh
27276         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27277         path_prepend_.
27278         Use Exit, not exit.
27279         Use skip_ rather than open coding it.
27280         Remove trap set-up and compare definitions.
27281         * tests/test-vc-list-files-git.sh: Likewise.
27282         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27283
27284 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27285
27286         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27287         backup files.
27288
27289 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27290
27291         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27292
27293 2010-04-20  Eric Blake  <eblake@redhat.com>
27294
27295         tests: be robust to ignored SIGPIPE
27296         * tests/test-select-in.sh: Consume all output.
27297         * tests/test-lseek.sh: Check correct exit status, while avoiding
27298         EPIPE.
27299
27300 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27301             Bruno Haible  <bruno@clisp.org>
27302
27303         visibility: Don't use -fvisibility if it leads to a warning.
27304         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27305         yes, don't pretend that visibility works if it leads to a warning.
27306         Reported by Mike Gran <spk121@yahoo.com>.
27307
27308 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27309
27310         * build-aux/bootstrap: Use "git -h" for testing for supported options
27311         instead of "git --help".  The short-form option only shows a summary,
27312         and doesn't layout the full man page.  Grep for the full option name
27313         in the summary, too.
27314
27315 2010-04-19  Bruno Haible  <bruno@clisp.org>
27316
27317         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27318         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27319         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27320         mention of RELOCATABLE_STRIP.
27321         Reported by Sylvain Beucler <beuc@beuc.net>.
27322
27323 2010-04-19  Bruno Haible  <bruno@clisp.org>
27324
27325         * lib/diffseq.h: Fix typo in comment.
27326         Reported by Eric Blake.
27327
27328 2010-04-19  Bruno Haible  <bruno@clisp.org>
27329
27330         ioctl: Move autoconf macro to a .m4 file.
27331         * m4/ioctl.m4: New file, extracted from modules/ioctl.
27332         * modules/ioctl (Files): Add it.
27333         (configure.ac): Simply invoke gl_FUNC_IOCTL.
27334         Reported by Ian Beckwith <ianb@erislabs.net>.
27335
27336 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
27337             Bruno Haible  <bruno@clisp.org>
27338
27339         diffseq: Accommodate use-case with abstract arrays.
27340         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
27341         is not defined.
27342         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
27343         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
27344
27345 2010-04-18  Bruno Haible  <bruno@clisp.org>
27346
27347         * doc/posix-headers/stdbool.texi: More precise wording.
27348
27349 2010-04-17  Jim Meyering  <meyering@redhat.com>
27350
27351         maint.mk: use gnu-style indentation in an embedded perl script
27352         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
27353         Rename variable: s/two/last_two_bytes/
27354
27355 2010-04-16  Eric Blake  <eblake@redhat.com>
27356
27357         test-stdbool: skip test that fails with Solaris CC
27358         * tests/test-stdbool.c (f): Skip test that causes compilation
27359         error under buggy C++ compiler.
27360         * lib/stdbool.in.h: Document the limitation.
27361         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
27362
27363         setenv: allow compilation with C++
27364         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
27365         register keyword.
27366
27367         stdint: allow test to pass with C++
27368         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
27369
27370         getopt: allow compilation with C++
27371         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
27372         struct.
27373         * lib/getopt.c (_getopt_internal_r): Use correct type.
27374         Reported by Dagobert Michelson, via Joel E. Denny.
27375
27376 2010-04-16  Bruno Haible  <bruno@clisp.org>
27377
27378         Override netdb.h always.
27379         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
27380         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
27381         Reported by Ludovic Courtès <ludo@gnu.org>.
27382
27383 2010-04-15  Bruno Haible  <bruno@clisp.org>
27384
27385         openpty: Fix mistake from 2010-03-21.
27386         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
27387         Reported by Simon Josefsson.
27388
27389 2010-04-15  Eric Blake  <eblake@redhat.com>
27390
27391         test-forkpty: fix expected signature
27392         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
27393         Reported by Simon Josefsson.
27394
27395 2010-04-15  Jim Meyering  <meyering@redhat.com>
27396
27397         maint.mk: texinfo_suffix_re_: correct the default regexp
27398         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
27399
27400         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
27401         make it configurable via texinfo_suffix_re_.
27402
27403 2010-04-14  Eric Blake  <eblake@redhat.com>
27404
27405         strtok_r: relax license to LGPLv2+
27406         * modules/strtok_r (License): Relax license.
27407         Reported by Matthias Bolte.
27408
27409 2010-04-14  Simon Josefsson  <simon@josefsson.org>
27410
27411         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
27412         version 1.4.4 by default instead of requiring the libgcrypt
27413         version used during build.  This makes it possible to use the
27414         application with older but still binary compatible libgcrypt
27415         versions.
27416
27417 2010-04-13  Eric Blake  <eblake@redhat.com>
27418
27419         getopt-gnu: match recent glibc fixes and posix ruling
27420         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
27421         '+' handling, when requesting extensions.
27422         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
27423         'W;' handling.
27424         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
27425         * doc/posix-functions/getopt.texi (getopt): Document this.
27426         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27427         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27428         Likewise.
27429
27430         getopt: merge bug fixes from glibc
27431         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
27432         diagnostics.  Honor '+:' correctly.  Reject ';'.
27433
27434         getopt-posix: detect MacOS bug
27435         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
27436         optind when missing a required argument.
27437         * doc/posix-functions/getopt.texi (getopt): Document the bug.
27438         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
27439         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27440         Likewise.
27441
27442         getopt-posix: avoid spurious failure on Solaris
27443         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
27444         an indicator that setting optind=1 is sufficient for reset.
27445
27446         getopt-posix: avoid spurious failure on FreeBSD
27447         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
27448         in POSIX mode, since the m4 test uses it.
27449
27450         gnulib-tool: silence warning on BSD sh
27451         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
27452
27453 2010-04-13  Jim Meyering  <meyering@redhat.com>
27454
27455         doc: users.txt: GNU patch now uses gnulib
27456         * users.txt: Add patch.
27457
27458 2010-04-12  Jim Meyering  <meyering@redhat.com>
27459
27460         maint.mk: generate more concise timing data for syntax-check rules
27461         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
27462         " done" from each line that reports a syntax-check test duration.
27463
27464 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
27465
27466         git-version-gen: use "git update-index..." rather than "git status"
27467         * build-aux/git-version-gen: Use git update-index --refresh, not
27468         "git status".  With some versions of git, "git status" would fail
27469         to update the index and result in an unwarranted "-dirty" suffix.
27470
27471 2010-04-11  Jim Meyering  <meyering@redhat.com>
27472
27473         openat: correct formatting (no semantic change)
27474         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
27475         Suggested by Bruno Haible.
27476
27477 2010-04-11  Bruno Haible  <bruno@clisp.org>
27478
27479         Stricter declaration checking in testdirs.
27480         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
27481         If for_tests is true, augment AM_CPPFLAGS to define
27482         GNULIB_STRICT_CHECKING.
27483         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
27484         GNULIB_STRICT_CHECKING is defined, verify that the function is
27485         declared.
27486
27487 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
27488             Bruno Haible  <bruno@clisp.org>
27489
27490         libunistring: Improve configure output.
27491         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
27492         Don't say "consider installing GNU libunistring" when checking again
27493         with libiconv.
27494
27495 2010-04-11  Bruno Haible  <bruno@clisp.org>
27496
27497         libunistring: Correct value of $LTLIBUNISTRING.
27498         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
27499         correct the value of $LTLIBUNISTRING.
27500
27501 2010-04-11  Bruno Haible  <bruno@clisp.org>
27502
27503         havelib: Add static libraries to LIBS in the right order.
27504         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
27505         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
27506
27507 2010-04-11  Bruno Haible  <bruno@clisp.org>
27508
27509         libunistring: Detect libunistring also when it depends on libiconv.
27510         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
27511         the second AC_LIB_HAVE_LINKFLAGS invocation.
27512
27513 2010-04-11  James Youngman  <jay@gnu.org>
27514
27515         close-stream: declare local scalars to be "const"
27516         * lib/close-stream.c (close_stream): Make boolean variables const
27517         to document the fact that we set but do not change them.
27518
27519 2010-04-11  Bruno Haible  <bruno@clisp.org>
27520
27521         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
27522
27523 2010-04-11  Jim Meyering  <meyering@redhat.com>
27524
27525         maint.mk: don't include dist-check.mk
27526         * top/maint.mk: Remove bogus include directive.
27527
27528         maint.mk: improve empty-line-at-EOF check
27529         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
27530         solution, rather than tail+Perl-based one.  The latter would read
27531         a few kilobytes from the end of each file, and did not handle empty
27532         files properly.
27533
27534         maint.mk: print the elapsed time for each syntax-check rule
27535         * top/maint.mk (sc_m_rules_): Save start time in a file.
27536         (sc_z_rules_): New rules: remove temp file and print elapsed time.
27537         (local-check): Interpose the .z rules
27538
27539 2010-04-11  Jim Meyering  <meyering@redhat.com>
27540
27541         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
27542         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
27543         empty file with one that ends in an empty line.
27544
27545 2010-04-10  Bruno Haible  <bruno@clisp.org>
27546
27547         mkdir: Make it work on mingw64.
27548         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
27549         * lib/mkdir.c: Update comment.
27550         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
27551
27552 2010-04-10  Bruno Haible  <bruno@clisp.org>
27553
27554         Don't override improved macro from newer autoconf.
27555         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
27556         autoconf >= 2.62.
27557         Reported by Joel E. Denny <jdenny@clemson.edu>.
27558
27559 2010-04-10  Jim Meyering  <meyering@redhat.com>
27560
27561         maint.mk: new syntax-check rule: prohibit empty lines at end of file
27562         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
27563
27564         maint.mk: correct a diagnostic
27565         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
27566         in diagnostic; now use $prohibit.
27567
27568 2010-04-10  Bruno Haible  <address@hidden>
27569
27570         fchownat: Fix a C++ test error on Solaris 8.
27571         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
27572         the function does not exist.
27573
27574 2010-04-10  Bruno Haible  <bruno@clisp.org>
27575
27576         vasnprintf: Add more tests.
27577         * tests/test-vasnprintf-posix.c: Include <errno.h>.
27578         (test_function): Test converting an invalid wide string.
27579
27580         vasnprintf: Correct handling of unconvertible wide string arguments.
27581         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
27582         VASNPRINTF.
27583         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
27584         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
27585         smaller than the expected maximum need for the directive. Set errno to
27586         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
27587         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
27588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
27589         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
27590         * modules/vasnprintf (Files): Add m4/printf.m4.
27591         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27592
27593 2010-04-10  Bruno Haible  <bruno@clisp.org>
27594
27595         vasnprintf: Fix crash in %ls directive.
27596         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
27597         string is passed as argument to %ls, with no precision and no width.
27598         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27599
27600 2010-04-10  Bruno Haible  <bruno@clisp.org>
27601
27602         vasnprintf: Fix multiple test failures on mingw.
27603         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
27604         _snprintf, or snwprintf, not _snwprintf.
27605
27606 2010-04-10  Bruno Haible  <bruno@clisp.org>
27607
27608         write: Fix a C++ test error on mingw.
27609         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
27610
27611 2010-04-10  Bruno Haible  <bruno@clisp.org>
27612
27613         vasnprintf test: Reduce code duplication.
27614         * tests/test-vasnprintf.c (test_function): New function, extracted from
27615         test_vasnprintf.
27616         (test_vasnprintf, test_asnprintf): Invoke it.
27617
27618 2010-04-10  Bruno Haible  <bruno@clisp.org>
27619
27620         strnlen: Fix warning in C++ mode on MacOS X.
27621         * lib/string.in.h (strnlen): Use the modern idiom.
27622         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
27623         defining strnlen as a macro already in <config.h>.
27624         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27625         REPLACE_STRNLEN.
27626         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
27627         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27628
27629 2010-04-08  James Youngman  <jay@gnu.org>
27630
27631         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
27632         the example.
27633
27634 2010-04-09  Jim Meyering  <meyering@redhat.com>
27635
27636         maint.mk: print better diagnostic when there is no $(_hv_file)
27637         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
27638         announce that when $(_hv_file) (aka help-version) does not exist.
27639
27640         init.sh: run tr in the "C" locale to avoid multibyte interpretation
27641         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
27642         not try to interpret its random input bytes.  Jarno Rajahalme reported
27643         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
27644         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
27645         (mktempd_): Likewise, just in case.
27646
27647         ftruncate: add two years to projected module removal date: 2012
27648         * m4/ftruncate.m4: Adjust comments.
27649
27650         ftruncate: mark module as obsolete; even MinGW provides it, now
27651         * modules/ftruncate (Status): Obsolete.
27652         (Notice): Say that.
27653         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
27654         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
27655
27656 2010-04-08  Bruno Haible  <bruno@clisp.org>
27657
27658         Fix side effects from tests-related modules.
27659         * modules/dprintf-posix (Comment): New section.
27660         * modules/fprintf-posix (Comment): Likewise.
27661         * modules/obstack-printf-posix (Comment): Likewise.
27662         * modules/printf-posix (Comment): Likewise.
27663         * modules/snprintf-posix (Comment): Likewise.
27664         * modules/sprintf-posix (Comment): Likewise.
27665         * modules/vasnprintf-posix (Comment): Likewise.
27666         * modules/vasprintf-posix (Comment): Likewise.
27667         * modules/vdprintf-posix (Comment): Likewise.
27668         * modules/vfprintf-posix (Comment): Likewise.
27669         * modules/vprintf-posix (Comment): Likewise.
27670         * modules/vsnprintf-posix (Comment): Likewise.
27671         * modules/vsprintf-posix (Comment): Likewise.
27672         * modules/xprintf-posix (Comment): Likewise.
27673         * modules/xvasprintf-posix (Comment): Likewise.
27674         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
27675         * modules/floorf-tests (Depends-on): Likewise.
27676         * modules/round-tests (Depends-on): Likewise.
27677         * modules/roundf-tests (Depends-on): Likewise.
27678         * modules/trunc-tests (Depends-on): Likewise.
27679         * modules/truncf-tests (Depends-on): Likewise.
27680         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
27681         'fprintf-posix' module is not present.
27682         * tests/test-floorf2.c (check): Likewise.
27683         * tests/test-trunc2.c (check): Likewise.
27684         * tests/test-truncf2.c (check): Likewise.
27685         * tests/test-round2.c (equal): Likewise.
27686         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27687
27688 2010-04-07  Karl Berry  <karl@gnu.org>
27689
27690         * config/srclist.txt,
27691         * config/srclistvars.sh,
27692         * config/srclist-update: doc fixes.
27693
27694 2010-04-07  Jim Meyering  <meyering@redhat.com>
27695
27696         maint.mk: add a PATH crosschecking syntax-check rule
27697         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
27698         Useful if you use a test like the one in help-version (coreutils,
27699         diffutils, grep, gzip) that ensures $(VERSION) matches what is
27700         printed by prog --version.
27701
27702 2010-04-06  Bruno Haible  <bruno@clisp.org>
27703
27704         Fix link error on mingw.
27705         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
27706         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
27707
27708 2010-04-06  Bruno Haible  <bruno@clisp.org>
27709
27710         Assume rmdir exists.
27711         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
27712
27713 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
27714
27715         doc: update users.txt
27716         * users.txt: Add gcal.
27717
27718 2010-04-06  Jim Meyering  <meyering@redhat.com>
27719
27720         init.sh: simply unset TMPDIR rather than risking env -i
27721         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
27722         although it probably works fine on all Unix-based systems, some
27723         systems (Cygwin?) cannot tolerate a totally cleared environment.
27724         Suggestion from Eric Blake.
27725
27726 2010-04-06  Jim Meyering  <meyering@redhat.com>
27727
27728         init.sh: portability fix: use env's POSIX-specified -i option not -u
27729         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
27730         than unportable env -u.  Solaris 5.11's env lacks support for -u.
27731
27732 2010-04-05  Bruno Haible  <bruno@clisp.org>
27733
27734         btowc: Work around Cygwin 1.7.2 bug.
27735         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
27736         does not map NUL to 0.
27737         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
27738
27739 2010-04-05  Bruno Haible  <bruno@clisp.org>
27740
27741         Make the multithread modules work on Cygwin 1.7.2.
27742         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
27743         imported symbols can be declared weak, so that it returns "no" on
27744         Cygwin 1.7.2.
27745
27746 2010-04-05  Bruno Haible  <bruno@clisp.org>
27747
27748         Use the module 'strncat'.
27749         * modules/unistr/u8-strncat (Depends-on): Add strncat.
27750
27751         Tests for module 'strncat'.
27752         * modules/strncat-tests: New file.
27753         * tests/test-strncat.c: New file.
27754
27755         New module 'strncat'.
27756         * lib/string.in.h (strncat): New declaration.
27757         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
27758         * m4/strncat.m4: New file, based on m4/memchr.m4.
27759         * modules/strncat: New file.
27760         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
27761         is declared.
27762         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
27763         REPLACE_STRNCAT.
27764         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
27765         REPLACE_STRNCAT.
27766         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
27767         module.
27768         * tests/test-string-c++.cc: Check signature of strncat.
27769
27770 2010-04-05  Jim Meyering  <meyering@redhat.com>
27771
27772         xstrtoumax-tests: convert to use init.sh
27773         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
27774         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27775         Use Exit, not exit.
27776         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27777
27778         xstrtoimax-tests: convert to use init.sh
27779         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
27780         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27781         Use Exit, not exit.
27782         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27783
27784 2010-04-05  Bruno Haible  <bruno@clisp.org>
27785
27786         sys_socket: Avoid #define replacements in C++ mode.
27787         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
27788         warning to the function if possible, rather than #defining the symbol
27789         to a dysfunctional alias.
27790
27791 2010-04-05  Bruno Haible  <bruno@clisp.org>
27792
27793         fseeko: Fix C++ test error on mingw.
27794         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
27795         gl_FUNC_FSEEKO.
27796         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
27797         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
27798         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
27799         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
27800
27801 2010-04-05  Bruno Haible  <bruno@clisp.org>
27802
27803         duplocale: Improve test output.
27804         * tests/test-duplocale.c (main): Print reason for skipped test.
27805
27806 2010-04-05  Bruno Haible  <bruno@clisp.org>
27807
27808         Assume rmdir exists.
27809         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
27810         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
27811
27812 2010-04-05  Bruno Haible  <bruno@clisp.org>
27813
27814         Fix link error on Solaris 8 with cc.
27815         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
27816
27817 2010-04-05  Bruno Haible  <bruno@clisp.org>
27818
27819         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27820         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
27821
27822 2010-04-05  Bruno Haible  <bruno@clisp.org>
27823
27824         vasprintf: Update documentation.
27825         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
27826
27827 2010-04-05  Bruno Haible  <bruno@clisp.org>
27828
27829         ptsname: Improve test.
27830         * tests/test-ptsname.c (main): Also try the various master names of BSD
27831         systems.
27832
27833 2010-04-05  Bruno Haible  <bruno@clisp.org>
27834
27835         memchr: Avoid a possible C++ test error.
27836         * lib/string.in.h (memchr): Provide declaration if function is missing.
27837         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
27838         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
27839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
27840         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
27841
27842 2010-04-05  Bruno Haible  <bruno@clisp.org>
27843
27844         strtok_r: Improve idiom.
27845         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
27846         AC_LIBOBJ is used.
27847
27848 2010-04-05  Bruno Haible  <bruno@clisp.org>
27849
27850         strdup: Improve idiom.
27851         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
27852         AC_LIBOBJ is used.
27853         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
27854         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
27855         when AC_LIBOBJ is used.
27856
27857 2010-04-05  Bruno Haible  <bruno@clisp.org>
27858
27859         mbsinit, mbrtowc, wcrtomb: Improve idioms.
27860         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
27861         don't set REPLACE_MBSINIT to 1.
27862         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
27863         don't set REPLACE_MBRTOWC to 1.
27864         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
27865         exist, don't set REPLACE_MBSRTOWCS to 1.
27866         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
27867         exist, don't set REPLACE_MBSNRTOWCS to 1.
27868         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
27869         don't set REPLACE_WCRTOMB to 1.
27870         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
27871         exist, don't set REPLACE_WCSRTOMBS to 1.
27872         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
27873         exist, don't set REPLACE_WCSNRTOMBS to 1.
27874
27875 2010-04-05  Bruno Haible  <bruno@clisp.org>
27876
27877         ldexpl: Improve idiom.
27878         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
27879         make sure to set HAVE_DECL_LDEXPL to 0.
27880
27881 2010-04-05  Jim Meyering  <meyering@redhat.com>
27882
27883         xstrtol-tests: convert to use init.sh
27884         * modules/xstrtol-tests (Files): Add tests/init.sh.
27885         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27886         Use Exit, not exit.
27887         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27888
27889         atexit-tests: convert to use init.sh
27890         * modules/atexit-tests (Files): Add tests/init.sh.
27891         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
27892         Use Exit, not exit.
27893         Remove uses of $EXEEXT and "./" to run a program in the current dir.
27894
27895         init.sh: fix typo
27896         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
27897
27898         init.sh: make it easier for a test script to write to the tty, ...
27899         when using automake's parallel-tests mode.
27900         * tests/init.sh (stderr_fileno_): Define overridable variable.
27901         (warn_): New function, to use it.
27902         (fail_, skip_, framework_failure_): Use warn_.
27903
27904 2010-04-04  Bruno Haible  <bruno@clisp.org>
27905
27906         btowc: Avoid warning.
27907         * lib/btowc.c: Include <stdlib.h>.
27908         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
27909
27910 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27911             Bruno Haible  <bruno@clisp.org>
27912
27913         wchar: Port to NetBSD 1.5.
27914         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
27915         * lib/wctype.in.h (WEOF): Likewise.
27916
27917 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
27918             Bruno Haible  <bruno@clisp.org>
27919
27920         Port extended stdio to NetBSD 1.5.
27921         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
27922         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
27923         older.
27924
27925 2010-04-04  Bruno Haible  <bruno@clisp.org>
27926
27927         string: Remove unused substitution.
27928         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
27929         HAVE_DECL_STRERROR.
27930         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
27931
27932 2010-04-04  Bruno Haible  <bruno@clisp.org>
27933
27934         strtod: Avoid a possible C++ test error.
27935         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
27936         set REPLACE_STRTOD.
27937
27938 2010-04-04  Bruno Haible  <bruno@clisp.org>
27939
27940         strerror: Update documentation.
27941         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
27942
27943 2010-04-04  Bruno Haible  <bruno@clisp.org>
27944
27945         stdio: Fix some C++ test errors on Solaris 8 with GCC.
27946         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
27947         _GL_CXXALIAS_SYS_CAST.
27948
27949 2010-04-04  Bruno Haible  <bruno@clisp.org>
27950
27951         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
27952         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
27953         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
27954         REPLACE_FREXPL to 1.
27955         * doc/posix-functions/frexpl.texi: Update documentation.
27956
27957 2010-04-04  Bruno Haible  <bruno@clisp.org>
27958
27959         math: Fix some C++ test errors on Solaris 8 and Cygwin.
27960         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
27961
27962 2010-04-04  Bruno Haible  <bruno@clisp.org>
27963
27964         Implement nanosleep for native Windows.
27965         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27966
27967 2010-04-04  Bruno Haible  <bruno@clisp.org>
27968
27969         math: Fix some C++ test errors on Solaris 8.
27970         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27971
27972 2010-04-04  Bruno Haible  <bruno@clisp.org>
27973
27974         math: Fix some C++ test errors on Cygwin.
27975         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27976         truncl): Provide declaration if the system does not have it.
27977         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27978         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27979         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27980         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27981         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27982         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27983         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27984         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27985         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27986         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27987         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27988         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27989         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27990         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27991         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27992         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27993         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27994         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27995         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27996         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27997         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27998         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27999
28000 2010-04-04  Bruno Haible  <bruno@clisp.org>
28001
28002         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28003         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28004         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28005         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28006         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28007         * m4/isinf.m4 (gl_ISINF): Likewise.
28008         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28009
28010 2010-04-04  Bruno Haible  <bruno@clisp.org>
28011
28012         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28013         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28014
28015 2010-04-04  Bruno Haible  <bruno@clisp.org>
28016
28017         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28018         * modules/tmpfile (configure.ac): Update.
28019
28020         tmpfile: Fix C++ test error on mingw.
28021         * lib/stdio.in.h (tmpfile): New declaration.
28022         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28023         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28024         * modules/tmpfile (Depends-on): Add stdio.
28025         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28026         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28027         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28028         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28029         REPLACE_TMPFILE.
28030         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28031
28032 2010-04-04  Bruno Haible  <bruno@clisp.org>
28033
28034         ioctl: Fix C++ test error on mingw.
28035         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28036         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28037         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28038
28039 2010-04-03  Bruno Haible  <bruno@clisp.org>
28040
28041         wcwidth: Fix C++ test error on mingw.
28042         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28044         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28045
28046 2010-04-03  Bruno Haible  <bruno@clisp.org>
28047
28048         nanosleep: Fix C++ test error on mingw.
28049         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28050         * lib/time.in.h (nanosleep): Use modern idiom.
28051         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28052         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28053         REPLACE_NANOSLEEP to 1.
28054         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28055         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28056
28057 2010-04-03  Bruno Haible  <bruno@clisp.org>
28058
28059         strptime: Fix C++ test error on mingw.
28060         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28061         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28062         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28063         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28064         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28065         not REPLACE_STRPTIME.
28066         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28067         REPLACE_STRPTIME.
28068
28069 2010-04-03  Bruno Haible  <bruno@clisp.org>
28070
28071         timegm: Fix C++ test error on mingw.
28072         * lib/time.in.h (timegm): Use modern idiom.
28073         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28074         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28075         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28076         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28077
28078 2010-04-03  Bruno Haible  <bruno@clisp.org>
28079
28080         timegm: Assume declaration if function exists.
28081         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28082         if it exists. Don't clobber ac_cv_func_timegm.
28083
28084 2010-04-03  Bruno Haible  <bruno@clisp.org>
28085
28086         time_r: Fix C++ test error on mingw.
28087         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28088         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28089         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28090         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28091         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28092
28093 2010-04-03  Bruno Haible  <bruno@clisp.org>
28094
28095         time_r: Minor updates.
28096         * modules/time_r (Description): Mention the provided functions.
28097         * lib/time_r.c: Don't include <string.h>.
28098         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28099         * doc/posix-functions/localtime_r.texi: Likewise.
28100
28101 2010-04-03  Bruno Haible  <bruno@clisp.org>
28102
28103         time: Fix regression introduced on 2010-03-08.
28104         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28105         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28106
28107 2010-04-03  Jim Meyering  <meyering@redhat.com>
28108
28109         maint.mk: don't silently disable project-specific syntax-check rules
28110         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28111         that they need to convert their project-specific syntax-check rules
28112         to use the new _sc_search_regexp.
28113
28114 2010-04-03  Bruno Haible  <bruno@clisp.org>
28115
28116         fchdir: Fix regression introduced on 2010-03-08.
28117         * lib/unistd.in.h (fchdir): Fix declaration.
28118         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28120         REPLACE_FCHDIR.
28121         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28122         REPLACE_FCHDIR.
28123
28124 2010-04-03  Bruno Haible  <bruno@clisp.org>
28125
28126         getpagesize: Fix C++ test error on mingw.
28127         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28128         system does not declare the function.
28129         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28130         declared.
28131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28132         HAVE_DECL_GETPAGESIZE.
28133         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28134
28135 2010-04-03  Bruno Haible  <bruno@clisp.org>
28136
28137         stdio: Make C++ tests work on mingw.
28138         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28139         does not declare the function.
28140
28141 2010-04-03  Bruno Haible  <bruno@clisp.org>
28142
28143         ftello: Fix C++ test error on mingw.
28144         * lib/stdio.in.h (ftello): Use modern idiom.
28145         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28146         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28147         is missing and that it needs to be replaced.
28148         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28150         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28151
28152 2010-04-03  Bruno Haible  <bruno@clisp.org>
28153
28154         fseeko: Fix C++ test error on mingw.
28155         * lib/stdio.in.h (fseeko): Use modern idiom.
28156         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28157         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28158         is missing and that it needs to be replaced.
28159         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28161         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28162
28163 2010-04-03  Bruno Haible  <bruno@clisp.org>
28164
28165         mkstemp: Fix C++ test error on mingw.
28166         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28167         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28168         function is missing and that it needs to be replaced.
28169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28170         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28171
28172 2010-04-03  Bruno Haible  <bruno@clisp.org>
28173
28174         stpncpy: Fix C++ test error on mingw.
28175         * lib/string.in.h (stpncpy): Use modern idiom.
28176         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28177         function is missing and that it needs to be replaced.
28178         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28179         REPLACE_STPNCPY.
28180         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28181
28182 2010-04-03  Bruno Haible  <bruno@clisp.org>
28183
28184         sys_stat: Fix C++ test error on mingw.
28185         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28186         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28187
28188 2010-04-03  Bruno Haible  <bruno@clisp.org>
28189
28190         pty: Update doc.
28191         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28192
28193 2010-04-03  Bruno Haible  <bruno@clisp.org>
28194
28195         unistd: Fix C++ test error on mingw.
28196         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28197
28198 2010-04-03  Bruno Haible  <bruno@clisp.org>
28199
28200         Update doc regarding mingw.
28201         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28202         * doc/glibc-functions/login_tty.texi: Likewise.
28203         * doc/glibc-functions/forkpty.texi: Likewise.
28204
28205 2010-04-03  Bruno Haible  <bruno@clisp.org>
28206
28207         stdlib: Avoid compilation failure of c-strtold on mingw.
28208         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28209
28210 2010-04-03  Bruno Haible  <bruno@clisp.org>
28211
28212         locale: Make C++ tests work on Cygwin and mingw.
28213         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28214         cannot provide the function.
28215         Reported by Simon Josefsson.
28216
28217 2010-04-03  Bruno Haible  <bruno@clisp.org>
28218
28219         localename: Port to MacOS X 10.6.
28220         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28221         memory layout of the locales in MacOS X 10.6 as well.
28222         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28223
28224 2010-04-02  Bruno Haible  <bruno@clisp.org>
28225
28226         gnulib-tool: Ensure that long-running tests are executed last.
28227         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28228         running tests after the one for the other tests.
28229
28230 2010-04-02  Bruno Haible  <bruno@clisp.org>
28231
28232         gnulib-tool: Ensure the tests in the main directory are executed first.
28233         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28234         start with the current directory.
28235
28236 2010-04-02  Bruno Haible  <bruno@clisp.org>
28237
28238         Tests for module 'havelib', moved here from GNU gettext.
28239         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28240         modifications.
28241         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28242         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28243         with modifications.
28244         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28245         modifications.
28246         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28247         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28248         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28249         with modifications.
28250         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28251         with modifications.
28252         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28253         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28254         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28255         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28256         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28257         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28258         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28259         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28260         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28261         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28262         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28263         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28264         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28265         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28266         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28267         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28268         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28269         with modifications.
28270         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28271         with modifications.
28272         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28273         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28274         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28275         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28276         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28277         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28278         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28279         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28280         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28281         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28282         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28283         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28284         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28285         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28286         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28287         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28288         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28289         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28290         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28291         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28292         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28293         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28294         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28295         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28296         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28297         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28298         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28299         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28300         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28301         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28302         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28303         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28304         * tests/havelib/rpathx/rpathx.c: New file, from
28305         gettext/autoconf-lib-link.
28306         * tests/havelib/rpathx/Makefile.am: New file, from
28307         gettext/autoconf-lib-link.
28308         * tests/havelib/rpathx/configure.ac: New file, from
28309         gettext/autoconf-lib-link with modifications.
28310         * tests/havelib/rpathy/rpathy.c: New file, from
28311         gettext/autoconf-lib-link.
28312         * tests/havelib/rpathy/Makefile.am: New file, from
28313         gettext/autoconf-lib-link.
28314         * tests/havelib/rpathy/configure.ac: New file, from
28315         gettext/autoconf-lib-link with modifications.
28316         * tests/havelib/rpathz/rpathz.c: New file, from
28317         gettext/autoconf-lib-link.
28318         * tests/havelib/rpathz/Makefile.am: New file, from
28319         gettext/autoconf-lib-link.
28320         * tests/havelib/rpathz/configure.ac: New file, from
28321         gettext/autoconf-lib-link with modifications.
28322         * tests/havelib/rpathlx/usex.c: New file, from
28323         gettext/autoconf-lib-link.
28324         * tests/havelib/rpathlx/Makefile.am: New file, from
28325         gettext/autoconf-lib-link.
28326         * tests/havelib/rpathlx/configure.ac: New file, from
28327         gettext/autoconf-lib-link with modifications.
28328         * tests/havelib/rpathly/usey.c: New file, from
28329         gettext/autoconf-lib-link.
28330         * tests/havelib/rpathly/Makefile.am: New file, from
28331         gettext/autoconf-lib-link.
28332         * tests/havelib/rpathly/configure.ac: New file, from
28333         gettext/autoconf-lib-link with modifications.
28334         * tests/havelib/rpathlz/usez.c: New file, from
28335         gettext/autoconf-lib-link.
28336         * tests/havelib/rpathlz/Makefile.am: New file, from
28337         gettext/autoconf-lib-link.
28338         * tests/havelib/rpathlz/configure.ac: New file, from
28339         gettext/autoconf-lib-link with modifications.
28340         * tests/havelib/rpathlyx/usey.c: New file, from
28341         gettext/autoconf-lib-link.
28342         * tests/havelib/rpathlyx/Makefile.am: New file, from
28343         gettext/autoconf-lib-link.
28344         * tests/havelib/rpathlyx/configure.ac: New file, from
28345         gettext/autoconf-lib-link with modifications.
28346         * tests/havelib/rpathlzyx/usez.c: New file, from
28347         gettext/autoconf-lib-link.
28348         * tests/havelib/rpathlzyx/Makefile.am: New file, from
28349         gettext/autoconf-lib-link.
28350         * tests/havelib/rpathlzyx/configure.ac: New file, from
28351         gettext/autoconf-lib-link with modifications.
28352         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
28353         with modifications.
28354
28355 2010-04-02  Bruno Haible  <bruno@clisp.org>
28356
28357         gnulib-tool: Create distributed built sources also for the tests.
28358         * gnulib-tool (func_create_testdir): Also generate distributed built
28359         sources in the tests directory.
28360
28361 2010-04-02  Bruno Haible  <bruno@clisp.org>
28362
28363         gnulib-tool: Obey user's environment variables.
28364         * gnulib-tool (func_create_testdir): When creating built sources,
28365         respect the environment variables for autoconf, automake, etc. given by
28366         the user.
28367
28368 2010-04-02  Bruno Haible  <bruno@clisp.org>
28369
28370         gnulib-tool: Provide the value of --m4-base to modules.
28371         * gnulib-tool (func_import, func_create_testdir): Emit a definition
28372         of gl_m4_base.
28373
28374 2010-04-02  Eric Blake  <eblake@redhat.com>
28375
28376         maint.mk: fix some fallout
28377         * NEWS: Document the incompatible change, and its effect on cfg.mk.
28378         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
28379
28380 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28381
28382         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
28383         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
28384         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
28385         (sc_cast_of_x_alloc_return_value): Likewise.
28386         (sc_cast_of_alloca_return_value): Likewise.
28387         (sc_space_tab): Likewise.
28388         (sc_prohibit_atoi_atof): Likewise.
28389         (sc_prohibit_magic_number_exit): Likewise.
28390         (sc_error_exit_success): Likewise.
28391         (sc_file_system): Likewise.
28392         (sc_prohibit_have_config_h): Likewise.
28393         (sc_require_config_h): Likewise.
28394         (sc_prohibit_HAVE_MBRTOWC): Likewise.
28395         (sc_obsolete_symbols): Likewise.
28396         (sc_changelog): Likewise.
28397         (sc_program_name): Likewise.
28398         (sc_the_the): Likewise.
28399         (sc_trailing_blank): Likewise.
28400         (sc_two_space_separator_in_usage): Likewise.
28401         (sc_useless_cpp_parens): Likewise.
28402         (sc_GPL_version): Likewise.
28403         (sc_GFDL_version): Likewise.
28404         (sc_texinfo_acronym): Likewise.
28405         (sc_prohibit_cvs_keyword): Likewise.
28406         (sc_prohibit_stat_st_blocks): Likewise.
28407         (sc_prohibit_S_IS_definition): Likewise.
28408         (sc_redundant_const): Likewise.
28409         (sc_makefile_TAB_only_indentation): Likewise.
28410         (sc_m4_quote_check): Likewise.
28411         (sc_makefile_path_separator_check): Likewise.
28412         (sc_copyright_check): Likewise.
28413         (sc_Wundef_boolean): Likewise.
28414         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28415
28416         maint.mk: match 0 or more whitespace-before-function-call '('
28417         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
28418         that have zero or two-and-more spaces between the function name
28419         and the open parenthesis.
28420         (sc_error_message_warn_fatal): Likewise.
28421         (sc_error_message_uppercase): Likewise.
28422         (sc_error_message_period): Likewise.
28423
28424 2010-03-31  Eric Blake  <eblake@redhat.com>
28425
28426         maint.mk: check for [ as well as test
28427         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
28428         Based on a libvirt report by Matthias Bolte.
28429
28430         gnumakefile: don't squelch _version output
28431         * top/GNUmakefile (_version): Create one-shot dependency rather
28432         than using $(shell) when version must be regenerated.
28433         (_autoreconf): Run verbosely, by default.
28434
28435         sys_time: avoid compiler warnings
28436         * lib/sys_time.in.h (includes): Ensure gcc pragma is
28437         unconditional, fixing regression from 2010-03-29.
28438         Reported by Simon Josefsson.
28439
28440 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
28441
28442         maint.mk: s/_header_without_use/_sc_header_without_use/
28443         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
28444         (sc_prohibit_assert_without_use): Use the new name.
28445         (sc_prohibit_close_stream_without_use): Likewise.
28446         (sc_prohibit_getopt_without_use): Likewise.
28447         (sc_prohibit_quotearg_without_use): Likewise.
28448         (sc_prohibit_quote_without_use): Likewise.
28449         (sc_prohibit_long_options_without_use): Likewise.
28450         (sc_prohibit_inttostr_without_use): Likewise.
28451         (sc_prohibit_ignore_value_without_use): Likewise.
28452         (sc_prohibit_error_without_use): Likewise.
28453         (sc_prohibit_xalloc_without_use): Likewise.
28454         (sc_prohibit_hash_without_use): Likewise.
28455         (sc_prohibit_hash_pjw_without_use): Likewise.
28456         (sc_prohibit_safe_read_without_use): Likewise.
28457         (sc_prohibit_argmatch_without_use): Likewise.
28458         (sc_prohibit_canonicalize_without_use): Likewise.
28459         (sc_prohibit_root_dev_ino_without_use): Likewise.
28460         (sc_prohibit_openat_without_use): Likewise.
28461         (sc_prohibit_c_ctype_without_use): Likewise.
28462         (sc_prohibit_signal_without_use): Likewise.
28463         (sc_prohibit_intprops_without_use): Likewise.
28464
28465 2010-03-30  Eric Blake  <eblake@redhat.com>
28466
28467         maint: improve module indicators
28468         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
28469         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
28470         columns, and avoid extra macro expansion.
28471
28472         fdopendir: work around FreeBSD bug
28473         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28474         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
28475         * modules/dirent (Makefile.am): Substitute it.
28476         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
28477         declaration.
28478         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
28479         fix.
28480         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28481
28482 2010-03-29  Bruno Haible  <bruno@clisp.org>
28483
28484         Emit #pragma system_header after the inclusion guard, not before.
28485         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
28486         guard that spans the entire file, not before. This enables an
28487         optimization in GCC's preprocessor.
28488         * lib/ctype.in.h: Likewise.
28489         * lib/dirent.in.h: Likewise.
28490         * lib/errno.in.h: Likewise.
28491         * lib/float.in.h: Likewise.
28492         * lib/getopt.in.h: Likewise.
28493         * lib/iconv.in.h: Likewise.
28494         * lib/langinfo.in.h: Likewise.
28495         * lib/locale.in.h: Likewise.
28496         * lib/math.in.h: Likewise.
28497         * lib/netdb.in.h: Likewise.
28498         * lib/netinet_in.in.h: Likewise.
28499         * lib/pty.in.h: Likewise.
28500         * lib/sched.in.h: Likewise.
28501         * lib/se-selinux.in.h: Likewise.
28502         * lib/search.in.h: Likewise.
28503         * lib/spawn.in.h: Likewise.
28504         * lib/stdarg.in.h: Likewise.
28505         * lib/stdint.in.h: Likewise.
28506         * lib/string.in.h: Likewise.
28507         * lib/strings.in.h: Likewise.
28508         * lib/sys_file.in.h: Likewise.
28509         * lib/sys_ioctl.in.h: Likewise.
28510         * lib/sys_time.in.h: Likewise.
28511         * lib/sys_times.in.h: Likewise.
28512         * lib/sys_utsname.in.h: Likewise.
28513         * lib/sys_wait.in.h: Likewise.
28514         * lib/sysexits.in.h: Likewise.
28515         * lib/wctype.in.h: Likewise.
28516
28517 2010-03-28  James Youngman  <jay@gnu.org>
28518
28519         save-cwd: don't leak a file descriptor when the caller execs.
28520         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
28521         saved file descriptor.
28522         * modules/save-cwd (Depends-on): Depend on cloexec.
28523
28524 2010-03-29  Bruno Haible  <bruno@clisp.org>
28525
28526         Remove vestiges of fts-lgpl module.
28527         * lib/fts_.h: Assume GNULIB_FTS is 1.
28528         * lib/fts.c: Likewise.
28529         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28530
28531 2010-03-28  Bruno Haible  <bruno@clisp.org>
28532
28533         Fix definition of tests witness macro.
28534         * gnulib-tool (func_import): Fix definition of witness macro.
28535
28536 2010-03-28  Bruno Haible  <bruno@clisp.org>
28537
28538         Fix ioctl's protoype on glibc systems.
28539         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
28540         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
28541         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
28542         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
28543         signature. If not, arrange to replace the ioctl function.
28544         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
28545         REPLACE_IOCTL.
28546         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
28547         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
28548         Reported by Ludovic Courtès <ludo@gnu.org>.
28549
28550 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
28551
28552         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
28553         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
28554         made it so grep -r --include=GLOB* ... did not work.
28555
28556 2010-03-26  Jim Meyering  <meyering@redhat.com>
28557             Eric Blake  <eblake@redhat.com>
28558
28559         maint.mk: prohibit use of test's -o and -a operators
28560         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
28561
28562 2010-03-28  Bruno Haible  <bruno@clisp.org>
28563
28564         Remove unused GNULIB_XYZ macro definitions.
28565         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
28566         invocation.
28567
28568 2010-03-28  Bruno Haible  <bruno@clisp.org>
28569
28570         Mark privileged tests modules.
28571         * modules/idpriv-drop-tests (Status): New section.
28572         * modules/idpriv-droptemp-tests (Status): New section.
28573
28574 2010-03-28  Bruno Haible  <bruno@clisp.org>
28575
28576         Split C++ tests into separate tests modules.
28577         * modules/dirent-c++-tests: New file, extracted from
28578         modules/dirent-tests.
28579         * modules/dirent-tests: Depend on it.
28580         * modules/fcntl-h-c++-tests: New file, extracted from
28581         modules/fcntl-h-tests.
28582         * modules/fcntl-h-tests: Depend on it.
28583         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
28584         * modules/glob-tests: Depend on it.
28585         * modules/iconv-h-c++-tests: New file, extracted from
28586         modules/iconv-h-tests.
28587         * modules/iconv-h-tests: Depend on it.
28588         * modules/langinfo-c++-tests: New file, extracted from
28589         modules/langinfo-tests.
28590         * modules/langinfo-tests: Depend on it.
28591         * modules/locale-c++-tests: New file, extracted from
28592         modules/locale-tests.
28593         * modules/locale-tests: Depend on it.
28594         * modules/math-c++-tests: New file, extracted from modules/math-tests.
28595         * modules/math-tests: Depend on it.
28596         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
28597         * modules/pty-tests: Depend on it.
28598         * modules/search-c++-tests: New file, extracted from
28599         modules/search-tests.
28600         * modules/search-tests: Depend on it.
28601         * modules/signal-c++-tests: New file, extracted from
28602         modules/signal-tests.
28603         * modules/signal-tests: Depend on it.
28604         * modules/spawn-c++-tests: New file, extracted from
28605         modules/spawn-tests.
28606         * modules/spawn-tests: Depend on it.
28607         * modules/stdio-c++-tests: New file, extracted from
28608         modules/stdio-tests.
28609         * modules/stdio-tests: Depend on it.
28610         * modules/stdlib-c++-tests: New file, extracted from
28611         modules/stdlib-tests.
28612         * modules/stdlib-tests: Depend on it.
28613         * modules/string-c++-tests: New file, extracted from
28614         modules/string-tests.
28615         * modules/string-tests: Depend on it.
28616         * modules/sys_ioctl-c++-tests: New file, extracted from
28617         modules/sys_ioctl-tests.
28618         * modules/sys_ioctl-tests: Depend on it.
28619         * modules/sys_select-c++-tests: New file, extracted from
28620         modules/sys_select-tests.
28621         * modules/sys_select-tests: Depend on it.
28622         * modules/sys_socket-c++-tests: New file, extracted from
28623         modules/sys_socket-tests.
28624         * modules/sys_socket-tests: Depend on it.
28625         * modules/sys_stat-c++-tests: New file, extracted from
28626         modules/sys_stat-tests.
28627         * modules/sys_stat-tests: Depend on it.
28628         * modules/sys_time-c++-tests: New file, extracted from
28629         modules/sys_time-tests.
28630         * modules/sys_time-tests: Depend on it.
28631         * modules/time-c++-tests: New file, extracted from modules/time-tests.
28632         * modules/time-tests: Depend on it.
28633         * modules/unistd-c++-tests: New file, extracted from
28634         modules/unistd-tests.
28635         * modules/unistd-tests: Depend on it.
28636         * modules/wchar-c++-tests: New file, extracted from
28637         modules/wchar-tests.
28638         * modules/wchar-tests: Depend on it.
28639         * modules/wctype-c++-tests: New file, extracted from
28640         modules/wctype-tests.
28641         * modules/wctype-tests: Depend on it.
28642         Reported by Simon Josefsson.
28643
28644 2010-03-28  Bruno Haible  <bruno@clisp.org>
28645
28646         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
28647         * gnulib-tool (func_exists_module): New function, extracted from
28648         func_verify_module.
28649         (func_verify_module): Use it.
28650         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
28651         'foo' only if 'foo' exists.
28652         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
28653         module.
28654
28655 2010-03-28  Bruno Haible  <bruno@clisp.org>
28656
28657         gnulib-tool: Add support for special categories of tests.
28658         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
28659         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
28660         (func_usage): Document them.
28661         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
28662         inc_unportable_tests, inc_all_tests): New variables.
28663         (func_acceptable): Consider these variables.
28664         (func_modules_transitive_closure): Make it work when the 'Status' field
28665         consists of multiple words.
28666         (func_import): Store and restore the values of inc_cxx_tests,
28667         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
28668         inc_all_tests in gnulib-comp.m4.
28669         (func_create_testdir): Set inc_all_tests to true.
28670         * doc/gnulib.texi (Extra tests modules): New section.
28671         Suggested by Jim Meyering.
28672
28673 2010-03-28  Bruno Haible  <bruno@clisp.org>
28674
28675         ansi-c++-opt: Allow turning off the C++ build by default.
28676         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
28677         gl_CXX_CHOICE_DEFAULT_NO is defined.
28678         Requested by Eric Blake.
28679
28680 2010-03-28  Bruno Haible  <bruno@clisp.org>
28681
28682         unistd: Avoid #define replacements in C++ mode.
28683         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
28684         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
28685         setsockopt, shutdown, select): In C++, attach a warning to the function
28686         if possible, rather than #defining the symbol to a dysfunctional alias.
28687         Reported by John W. Eaton <jwe@gnu.org>.
28688
28689 2010-03-28  Bruno Haible  <bruno@clisp.org>
28690
28691         Fix link errors on mingw.
28692         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
28693         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
28694         $(LIBSOCKET).
28695         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
28696         $(LIBSOCKET).
28697
28698 2010-03-28  Bruno Haible  <bruno@clisp.org>
28699             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28700
28701         lib-ignore: Determine different options for different compilers.
28702         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
28703         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
28704         Add comments.
28705         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
28706         * NEWS: Mention the change.
28707
28708 2010-03-27  Bruno Haible  <bruno@clisp.org>
28709
28710         Remove unused GNULIB_XYZ macro definitions.
28711         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
28712         * modules/fseek (configure.ac): Likewise.
28713         * modules/ioctl (configure.ac): Likewise.
28714         * modules/open (configure.ac): Likewise.
28715         * modules/stdlib-safer (configure.ac): Likewise.
28716
28717 2010-03-27  Bruno Haible  <bruno@clisp.org>
28718
28719         Add a remark about certain modules.
28720         * modules/malloc (Comment): New section.
28721         * modules/realloc (Comment): Likewise.
28722         * modules/sigpipe (Comment): Likewise.
28723
28724 2010-03-27  Bruno Haible  <bruno@clisp.org>
28725
28726         Resolve conflict between the two kinds of module indicators.
28727         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
28728         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
28729         * modules/canonicalize (configure.ac): Invoke
28730         gl_MODULE_INDICATOR_FOR_TESTS.
28731         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
28732         GNULIB_XYZ.
28733         * tests/test-dirent-c++.cc: Likewise.
28734         * tests/test-dirent-safer.c: Likewise.
28735         * tests/test-dup2.c: Likewise.
28736         * tests/test-fchdir.c: Likewise.
28737         * tests/test-fcntl-h-c++.cc: Likewise.
28738         * tests/test-getopt.c: Likewise.
28739         * tests/test-getopt.h: Likewise.
28740         * tests/test-langinfo-c++.cc: Likewise.
28741         * tests/test-locale-c++.cc: Likewise.
28742         * tests/test-math-c++.cc: Likewise.
28743         * tests/test-pty-c++.cc: Likewise.
28744         * tests/test-search-c++.cc: Likewise.
28745         * tests/test-signal-c++.cc: Likewise.
28746         * tests/test-spawn-c++.cc: Likewise.
28747         * tests/test-stdio-c++.cc: Likewise.
28748         * tests/test-stdlib-c++.cc: Likewise.
28749         * tests/test-string-c++.cc: Likewise.
28750         * tests/test-sys_ioctl-c++.cc: Likewise.
28751         * tests/test-sys_select-c++.cc: Likewise.
28752         * tests/test-sys_socket-c++.cc: Likewise.
28753         * tests/test-sys_stat-c++.cc: Likewise.
28754         * tests/test-sys_time-c++.cc: Likewise.
28755         * tests/test-time-c++.cc: Likewise.
28756         * tests/test-unistd-c++.cc: Likewise.
28757         * tests/test-wchar-c++.cc: Likewise.
28758         * tests/uninorm/test-u8-nfc.c: Likewise.
28759         * tests/uninorm/test-u8-nfd.c: Likewise.
28760         * tests/uninorm/test-u8-nfkc.c: Likewise.
28761         * tests/uninorm/test-u8-nfkd.c: Likewise.
28762         * tests/uninorm/test-u16-nfc.c: Likewise.
28763         * tests/uninorm/test-u16-nfd.c: Likewise.
28764         * tests/uninorm/test-u16-nfkc.c: Likewise.
28765         * tests/uninorm/test-u16-nfkd.c: Likewise.
28766         * tests/uninorm/test-u32-nfc.c: Likewise.
28767         * tests/uninorm/test-u32-nfc-big.c: Likewise.
28768         * tests/uninorm/test-u32-nfd.c: Likewise.
28769         * tests/uninorm/test-u32-nfd-big.c: Likewise.
28770         * tests/uninorm/test-u32-nfkc.c: Likewise.
28771         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
28772         * tests/uninorm/test-u32-nfkd.c: Likewise.
28773         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
28774         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28775
28776 2010-03-27  Bruno Haible  <bruno@clisp.org>
28777
28778         Distinguish two kinds of module indicators.
28779         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
28780         gl_MODULE_INDICATOR.
28781         (gl_MODULE_INDICATOR): New macro.
28782         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28783         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
28784         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28785         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28786         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28787         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28788         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28789         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28790         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28791         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28792         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28793         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28794         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28795         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28796         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28797         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28798         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28799         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28800         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28801         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28802         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28803         * modules/cloexec (configure.ac): Likewise.
28804         * modules/getopt-gnu (configure.ac): Likewise.
28805         * modules/uninorm/u8-normalize (configure.ac): Likewise.
28806         * modules/uninorm/u16-normalize (configure.ac): Likewise.
28807         * modules/uninorm/u32-normalize (configure.ac): Likewise.
28808         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
28809
28810 2010-03-27  Bruno Haible  <bruno@clisp.org>
28811
28812         New module description field 'Comment'.
28813         * gnulib-tool: New option --extract-comment.
28814         (func_usage): Document it.
28815         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
28816         (func_get_comment): New function.
28817         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
28818
28819 2010-03-27  Bruno Haible  <bruno@clisp.org>
28820
28821         Addendum to 2010-02-07 commit.
28822         * gnulib-tool (func_usage): Document --extract-applicability option.
28823
28824 2010-03-27  Bruno Haible  <bruno@clisp.org>
28825
28826         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
28827         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
28828         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
28829         rather than link errors.
28830
28831 2010-03-27  Bruno Haible  <bruno@clisp.org>
28832
28833         Avoid side effects from tests-related modules on the compilation of lib.
28834         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
28835         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
28836         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
28837         parameter. Emit into AM_CPPFLAGS a definition of the designated C
28838         macro.
28839         (func_import): Define a witness macro. Assign it a value that depends
28840         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
28841         tests-related modules.
28842         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
28843         Reported by Jim Meyering.
28844
28845 2010-03-27  Bruno Haible  <bruno@clisp.org>
28846
28847         Factorize common .m4 code.
28848         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
28849         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
28850         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
28851         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
28852         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
28853         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
28854         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
28855         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
28856         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
28857         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
28858         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
28859         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
28860         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
28861         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
28862         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
28863         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
28864         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
28865         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
28866         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
28867         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
28868         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
28869         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
28870         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
28871         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
28872         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
28873         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
28874         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
28875         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
28876         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
28877         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
28878         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
28879         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
28880
28881 2010-03-27  Bruno Haible  <bruno@clisp.org>
28882
28883         Fix a compilation error on Cygwin with g++ >= 4.3.
28884         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
28885         if it is undefined or if we alias it to chmod.
28886         (lstat): Don't warn about the use of this function if it is undefined
28887         or if we alias it to stat.
28888         Reported by Simon Josefsson.
28889
28890 2010-03-27  Bruno Haible  <bruno@clisp.org>
28891
28892         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
28893         * modules/getlogin (configure.ac): Update.
28894
28895         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
28896         * modules/getlogin_r (configure.ac): Update.
28897
28898         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
28899         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
28900         * modules/inet_ntop (configure.ac): Update.
28901
28902         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
28903         * modules/inet_pton (configure.ac): Update.
28904
28905         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
28906         * modules/mbslen (configure.ac): Update.
28907
28908         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
28909         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
28910         * modules/forkpty (configure.ac): Update.
28911         * modules/openpty (configure.ac): Update.
28912
28913 2010-03-26  Simon Josefsson  <simon@josefsson.org>
28914
28915         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
28916         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
28917
28918 2010-03-25  Eric Blake  <eblake@redhat.com>
28919
28920         maint: use pragma consistently across replacement headers
28921         * lib/ctype.in.h (system_header): Hoist for consistent placement.
28922         * lib/dirent.in.h (system_header): Likewise.
28923         * lib/errno.in.h (system_header): Likewise.
28924         * lib/float.in.h (system_header): Likewise.
28925         * lib/getopt.in.h (system_header): Likewise.
28926         * lib/iconv.in.h (system_header): Likewise.
28927         * lib/inttypes.in.h (system_header): Likewise.
28928         * lib/langinfo.in.h (system_header): Likewise.
28929         * lib/locale.in.h (system_header): Likewise.
28930         * lib/math.in.h (system_header): Likewise.
28931         * lib/netdb.in.h (system_header): Likewise.
28932         * lib/netinet_in.in.h (system_header): Likewise.
28933         * lib/pty.in.h (system_header): Likewise.
28934         * lib/sched.in.h (system_header): Likewise.
28935         * lib/se-selinux.in.h (system_header): Likewise.
28936         * lib/search.in.h (system_header): Likewise.
28937         * lib/spawn.in.h (system_header): Likewise.
28938         * lib/stdarg.in.h (system_header): Likewise.
28939         * lib/stdint.in.h (system_header): Likewise.
28940         * lib/string.in.h (system_header): Likewise.
28941         * lib/strings.in.h (system_header): Likewise.
28942         * lib/sys_file.in.h (system_header): Likewise.
28943         * lib/sys_ioctl.in.h (system_header): Likewise.
28944         * lib/sys_socket.in.h (system_header): Likewise.
28945         * lib/sys_times.in.h (system_header): Likewise.
28946         * lib/sys_utsname.in.h (system_header): Likewise.
28947         * lib/sys_wait.in.h (system_header): Likewise.
28948         * lib/sysexits.in.h (system_header): Likewise.
28949         * lib/unistd.in.h (system_header): Likewise.
28950         * lib/wctype.in.h (system_header): Likewise.
28951
28952         arpa/inet: fix mingw compilation warning
28953         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
28954         Reported by Matthew Bolte.
28955
28956 2010-03-25  Bruno Haible  <bruno@clisp.org>
28957
28958         Avoid collision between gnulib wrapper and libintl wrapper.
28959         * lib/printf.c (printf): Don't define if a printf wrapper is already
28960         defined in intl/printf.c.
28961         Reported by Michel Boaventura <michel@michelboaventura.com>.
28962
28963 2010-03-25  Bruno Haible  <bruno@clisp.org>
28964
28965         Use ANSI C.
28966         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28967
28968 2010-03-25  Bruno Haible  <bruno@clisp.org>
28969
28970         Minor formatting changes.
28971         * lib/acosl.c: Insert space before function argument list.
28972         * lib/argz.c: Likewise.
28973         * lib/asinl.c: Likewise.
28974         * lib/expl.c: Likewise.
28975         * lib/gen-uni-tables.c: Likewise.
28976         * lib/gettext.h: Likewise.
28977         * lib/glthread/lock.h: Likewise.
28978         * lib/tanl.c: Likewise.
28979         * lib/uniname/uniname.c: Likewise.
28980         * tests/test-idpriv-drop.c: Likewise.
28981         * tests/test-idpriv-droptemp.c: Likewise.
28982         * tests/test-lock.c: Likewise.
28983         * tests/test-tls.c: Likewise.
28984         * lib/argp-help.c: Insert space before function-like macro argument
28985         list.
28986         * lib/memcmp.c: Likewise.
28987         * tests/test-base64.c: Likewise.
28988         * lib/localename.c: Insert space before sizeof's argument list.
28989         * lib/safe-alloc.h: Likewise.
28990         * lib/file-set.h: Insert space before macro argument list.
28991         * tests/test-argp.c: Likewise.
28992         * lib/argp-namefrob.h: Insert space before function parameter list.
28993         * lib/getaddrinfo.c: Likewise.
28994         * lib/netdb.in.h: Likewise.
28995         * lib/parse-duration.h: Likewise.
28996         * lib/parse-duration.c: Likewise.
28997         * lib/poll.c: Likewise.
28998         * lib/select.c: Likewise.
28999         * lib/trim.h: Likewise.
29000         * tests/test-usleep.c: Likewise.
29001         * lib/ldexpl.c: Insert space before function parameter list and before
29002         function argument list.
29003         * lib/logl.c: Likewise.
29004         * lib/sqrtl.c: Likewise.
29005         * lib/trim.c: Likewise.
29006         * lib/cosl.c: Use GNU style indentation. Insert space before function
29007         argument list.
29008         * lib/sinl.c: Likewise.
29009         * lib/tsearch.c: Insert space after 'for'.
29010         Reported by Jim Meyering.
29011
29012 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29013
29014         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29015         config header before grepping, as it's not present before
29016         autoreconf/configure are run.  Reported by Simon Josefsson.
29017
29018 2010-03-23  Bruno Haible  <bruno@clisp.org>
29019
29020         pt_chown: Make it work with automake < 1.11.
29021         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29022         Reported by Simon Josefsson.
29023
29024 2010-03-23  Bruno Haible  <bruno@clisp.org>
29025
29026         pt_chown: Don't depend on GPLed modules.
29027         * lib/pt_chown.c: Don't include idpriv.h.
29028         (main): Don't drop privileges.
29029         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29030         Reported by Simon Josefsson.
29031
29032 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29033
29034         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29035         suggestions from karl@freefriends.org (Karl Berry).
29036
29037 2010-03-22  Eric Blake  <eblake@redhat.com>
29038
29039         gethostname: further tweaks
29040         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29041         are overriding gethostname.
29042         Suggested by Bruno Haible.
29043
29044 2010-03-21  Bruno Haible  <bruno@clisp.org>
29045
29046         Fix comments.
29047         * lib/forkpty.c (rpl_forkpty): Fix comment.
29048         * lib/openpty.c (rpl_openpty): Likewise.
29049         Reported by Eric Blake.
29050
29051 2010-03-22  Eric Blake  <eblake@redhat.com>
29052
29053         gethostname: fix build on mingw
29054         * lib/unistd.in.h (includes): Work around fact that mingw
29055         <winsock2.h> re-includes <unistd.h>, by avoiding any
29056         redeclarations if we are being included by <winsock2.h>.
29057         Reported by Matthias Bolte.
29058
29059 2010-03-21  Bruno Haible  <bruno@clisp.org>
29060
29061         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29062         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29063         modifications.
29064         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29065         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29066         provide the replacement.
29067         * modules/forkpty (Depends-on): Add openpty, login_tty.
29068         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29069         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29070         * doc/glibc-functions/forkpty.texi: More supported platforms.
29071         * config/srclist.txt: Add forkpty.c (commented).
29072
29073 2010-03-21  Bruno Haible  <bruno@clisp.org>
29074
29075         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29076         (Makefile.am): Verify that PTY_LIB is defined.
29077
29078         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29079
29080 2010-03-21  Bruno Haible  <bruno@clisp.org>
29081
29082         Tests for module 'login_tty'.
29083         * modules/login_tty-tests: New file.
29084         * tests/test-login_tty.c: New file.
29085
29086         New module 'login_tty'.
29087         * lib/login_tty.c: New file.
29088         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29089         * modules/login_tty: New file.
29090         * doc/glibc-functions/login_tty.texi: Mention the new module.
29091
29092 2010-03-21  Bruno Haible  <bruno@clisp.org>
29093
29094         login_tty: Documentation.
29095         * doc/glibc-functions/login_tty.texi: New file.
29096         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29097
29098 2010-03-21  Bruno Haible  <bruno@clisp.org>
29099
29100         pty: Consistent macro naming.
29101         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29102         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29103         * modules/pty (configure.ac): Update.
29104
29105 2010-03-21  Bruno Haible  <bruno@clisp.org>
29106
29107         Tests for openpty: Make stricter.
29108         * tests/test-openpty.c (main): Add test of canonical processing and
29109         erase.
29110         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29111
29112         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29113         * lib/openpty.c (openpty): New replacement function.
29114         * lib/pty.in.h: Include <termios.h>.
29115         (openpty): Update declaration. Add comments.
29116         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29117         is not declared, arrange to provide the replacement. Check for _getpty
29118         and posix_openpt.
29119         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29120         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29121         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29122         * modules/pty-tests (test_pty_c___LDADD): New variable.
29123         * doc/glibc-functions/openpty.texi: More supported platforms.
29124
29125 2010-03-21  Bruno Haible  <bruno@clisp.org>
29126
29127         setenv: Tweaks.
29128         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29129         the test program.
29130         * doc/posix-functions/setenv.texi: Update platforms list.
29131
29132 2010-03-21  Bruno Haible  <bruno@clisp.org>
29133
29134         New module 'unlockpt'.
29135         * lib/unlockpt.c: New file, from glibc with modifications.
29136         * m4/unlockpt.m4: New file.
29137         * modules/unlockpt: New file.
29138         * lib/stdlib.in.h (unlockpt): New declaration.
29139         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29140         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29141         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29142         HAVE_UNLOCKPT.
29143         * doc/posix-functions/unlockpt.texi: Mention the new module.
29144         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29145         * config/srclist.txt: Add unlockpt.c (commented).
29146
29147 2010-03-21  Jim Meyering  <meyering@redhat.com>
29148
29149         maint.mk: prohibit inclusion of "intprops.h" without use
29150         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29151
29152 2010-03-21  Bruno Haible  <bruno@clisp.org>
29153
29154         New module 'grantpt'.
29155         * lib/grantpt.c: New file, from glibc with modifications.
29156         * m4/grantpt.m4: New file.
29157         * modules/grantpt: New file.
29158         * lib/stdlib.in.h (grantpt): New declaration.
29159         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29160         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29161         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29162         HAVE_GRANTPT.
29163         * doc/posix-functions/grantpt.texi: Mention the new module.
29164         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29165         * config/srclist.txt: Add grantpt.c (commented).
29166
29167 2010-03-21  Bruno Haible  <bruno@clisp.org>
29168
29169         New module 'pt_chown'.
29170         * lib/pt_chown.c: New file, from glibc with modifications.
29171         * lib/pty-private.h: New file, from glibc with modifications.
29172         * modules/pt_chown: New file.
29173         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29174
29175 2010-03-21  Bruno Haible  <bruno@clisp.org>
29176
29177         Tests for module 'ptsname'.
29178         * modules/ptsname-tests: New file.
29179         * tests/test-ptsname.c: New file.
29180
29181         New module 'ptsname'.
29182         * lib/ptsname.c: New file, from glibc with modifications.
29183         * m4/ptsname.m4: New file.
29184         * modules/ptsname: New file.
29185         * lib/stdlib.in.h (ptsname): New declaration.
29186         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29187         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29188         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29189         HAVE_PTSNAME.
29190         * doc/posix-functions/ptsname.texi: Mention the new module.
29191         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29192         * config/srclist.txt: Add ptsname.c (commented).
29193
29194 2010-03-21  Bruno Haible  <bruno@clisp.org>
29195
29196         Tests for module 'ttyname_r'.
29197         * modules/ttyname_r-tests: New file.
29198         * tests/test-ttyname_r.c: New file.
29199
29200         New module 'ttyname_r'.
29201         * lib/ttyname_r.c: New file.
29202         * m4/ttyname_r.m4: New file.
29203         * modules/ttyname_r: New file.
29204         * lib/unistd.in.h (ttyname_r): New declaration.
29205         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29206         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29207         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29208         HAVE_TTYNAME_R.
29209         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29210         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29211
29212 2010-03-20  Bruno Haible  <bruno@clisp.org>
29213
29214         signal: Undefine macro definitions in C++ mode.
29215         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29216         sigfillset): Undefine macro definitions from the system header in C++
29217         mode.
29218         Reported by John W. Eaton <jwe@gnu.org>.
29219
29220 2010-03-20  Bruno Haible  <bruno@clisp.org>
29221
29222         Ensure no #include statements inside extern "C" { ... }.
29223         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29224         contain #include statements.
29225         * lib/time.in.h: Likewise.
29226
29227 2010-03-20  Bruno Haible  <bruno@clisp.org>
29228
29229         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29230         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29231         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29232         Reported by John W. Eaton <jwe@gnu.org>.
29233
29234 2010-03-20  Bruno Haible  <bruno@clisp.org>
29235
29236         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29237         Reported by Jim Meyering.
29238
29239 2010-03-20  Bruno Haible  <bruno@clisp.org>
29240
29241         pipe: Set errno upon failure.
29242         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29243         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29244         errno value in error message.
29245
29246 2010-03-20  Bruno Haible  <bruno@clisp.org>
29247             Jim Meyering  <meyering@redhat.com>
29248
29249         lchown: Avoid "unused variable" warning.
29250         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29251
29252 2010-03-20  Bruno Haible  <bruno@clisp.org>
29253
29254         Work around unlink() bug on MacOS X 10.5.6.
29255         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29256         attempting to unlink a parent directory.
29257         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29258         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29259         activate for the replacement function.
29260         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29261
29262 2010-03-20  Bruno Haible  <bruno@clisp.org>
29263
29264         Fix link errors on Solaris 8.
29265         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29266         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29267
29268 2010-03-19  Jim Meyering  <meyering@redhat.com>
29269
29270         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29271         The _LIBC implementation of build_range_exp correctly honors the
29272         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29273         However, the non-_LIBC implementation would ignore that syntax-bit
29274         flag and return REG_ERANGE unconditionally.
29275         This change makes it honor that flag.
29276         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29277         Make two pointer parameters "const".
29278         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29279         (parse_bracket_exp): Update caller.
29280
29281         regex.m4: correct the reversed range endpoint ([b-a]) test
29282         * m4/regex.m4: When requiring that [b-a] evoke failure,
29283         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29284         test pass once again for x86-based systems.
29285
29286 2010-03-19  Bruno Haible  <bruno@clisp.org>
29287
29288         scandir: Fix link error on Solaris 8.
29289         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29290         macros.
29291
29292 2010-03-19  Bruno Haible  <bruno@clisp.org>
29293
29294         getusershell: Fix documentation.
29295         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29296         module.
29297         * doc/glibc-functions/setusershell.texi: Likewise.
29298
29299         getusershell: Provide declaration, missing on Solaris 9.
29300         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29301         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29302         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29303         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29305         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29306         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29307         HAVE_GETUSERSHELL.
29308         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29309
29310 2010-03-19  Bruno Haible  <bruno@clisp.org>
29311
29312         wctype: Provide iswblank function.
29313         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29314         exists and is fine.
29315         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29316         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29317         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29318         * doc/posix-functions/iswblank.texi: Update.
29319
29320 2010-03-19  Bruno Haible  <bruno@clisp.org>
29321
29322         Tests of module 'pty' in C++ mode.
29323         * modules/pty-tests: New file.
29324         * tests/test-pty-c++.cc: New file.
29325         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29326
29327 2010-03-19  Eric Blake  <eblake@redhat.com>
29328
29329         logb: fix documentation
29330         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
29331         1.5 declaration bug.
29332
29333         forkpty, openpty: prefer glibc's const-safe prototype
29334         * lib/forkpty.c (rpl_forkpty): New file.
29335         * lib/openpty.c (rpl_openpty): Likewise.
29336         * modules/forkpty (Files): Distribute it.
29337         * modules/openpty (Files): Likewise.
29338         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
29339         check...
29340         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
29341         replacement for for non-const BSD signature.
29342         * modules/pty (Makefile.am): Substitute witnesses.
29343         * lib/pty.in.h (forkpty, openpty): Declare replacements.
29344         * tests/test-forkpty.c: Update signature check.
29345         * tests/test-openpty.c: Likewise.
29346         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
29347         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29348
29349         forkpty, openpty: split functions into new modules
29350         * modules/pty (Makefile.am): Substitute new witnesses.
29351         (Libraries): Move library detection...
29352         * modules/forkpty: ...into new module.
29353         * modules/openpty: Another new module.
29354         * modules/pty-tests: Rename and split...
29355         * modules/forkpty-tests: ...to this...
29356         * modules/openpty-tests: ...and this.
29357         * tests/test-pty.c: Rename and split...
29358         * tests/test-forkpty.c: ...to this...
29359         * tests/test-openpty.c: ...and this.
29360         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
29361         (gl_PTY): Split library searching...
29362         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
29363         (gl_FORKPTY, gl_OPENPTY): New macros.
29364         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
29365         * NEWS: Mention the split.
29366         * MODULES.html.sh (Misc): Document the modules.
29367         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
29368         * doc/glibc-functions/openpty.texi (openpty): Likewise.
29369
29370         pty: improve replacement header
29371         * lib/pty.in.h: New file.
29372         * modules/pty (Files): Ship it.
29373         (Makefile.am): Always build replacement.
29374         * m4/pty.m4: Rename...
29375         * m4/pty_h.m4: ...to this.
29376         (gl_PTY): Modernize setting of witness macros; update check of
29377         forkpty to take proper advantage of cache.
29378         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
29379
29380         getopt: avoid compiler warning
29381         * lib/getopt.c (attribute_hidden): Remove unused macro.
29382
29383 2010-03-18  Bruno Haible  <bruno@clisp.org>
29384
29385         Fix link errors on Solaris 8.
29386         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
29387         * modules/search-tests (test_search_c___LDADD): Likewise.
29388         * modules/signal-tests (test_signal_c___LDADD): Likewise.
29389         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
29390         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
29391         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
29392         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
29393         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
29394         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
29395
29396 2010-03-18  Bruno Haible  <bruno@clisp.org>
29397
29398         Fix bug introduced on 2010-03-14.
29399         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
29400         (gl_SPAWN_H): Require it.
29401         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
29402         Reported by Simon Josefsson.
29403
29404 2010-03-18  Bruno Haible  <bruno@clisp.org>
29405
29406         Fix typo introduced on 2009-12-31.
29407         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
29408         posix_spawn_file_actions_adddup2.
29409
29410 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
29411         and Eric Blake  <eblake@redhat.com>
29412
29413         test-vc-list-files-git: make more robust
29414         * tests/test-vc-list-files-git.sh: Unset problematic environment
29415         variables.  Chain commands together.
29416
29417 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
29418
29419         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
29420         `AC_CHECK_DECL' invocation.
29421
29422 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
29423
29424         * lib/inttostr.c (inttostr): Make sure the invocation of verify
29425         appears before executable statements. Suggested by Petr Sumbera
29426         <Petr.Sumbera@Sun.COM>.
29427
29428 2010-03-14  Bruno Haible  <bruno@clisp.org>
29429
29430         * tests/test-flock.c (test_exclusive): Comment out a test that causes
29431         portability problems. Instead use a simpler test.
29432         (main): Check that invalid arguments are rejected only on Linux.
29433
29434 2010-03-14  Bruno Haible  <bruno@clisp.org>
29435
29436         Fix bug introduced on 2009-12-31.
29437         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
29438         gl_PREREQ_SYS_H_WINSOCK2 always.
29439         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
29440         SYS_SOCKET_H variable.
29441         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
29442         Update comments.
29443         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
29444         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29445         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29446         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29447         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
29448
29449 2010-03-14  Bruno Haible  <bruno@clisp.org>
29450
29451         Fix values returned by sinl, cosl.
29452         * lib/trigl.h: Add specification comments.
29453         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
29454         that combines the values from the precomputed table with the values of
29455         the Chebyshev polynomials.
29456
29457 2010-03-14  Bruno Haible  <bruno@clisp.org>
29458
29459         Fix compilation error when modules 'posix_spawn[p]' are not used.
29460         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
29461         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
29462
29463 2010-03-14  Bruno Haible  <bruno@clisp.org>
29464
29465         Fix compilation error on mingw when module 'time_r' is not used.
29466         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
29467         is 1.
29468         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
29469         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29470         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
29471         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
29472
29473 2010-03-14  Bruno Haible  <bruno@clisp.org>
29474
29475         Fix compilation error with Sun C.
29476         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
29477         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
29478         instead of GCC specific ULONG_LONG_MAX.
29479         * lib/xstrtoll.c: Likewise.
29480         * lib/xstrtoull.c: Likewise.
29481
29482 2010-03-13  Bruno Haible  <bruno@clisp.org>
29483
29484         Allow the user to disable C++ code and tests.
29485         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
29486         (gl_PROG_ANSI_CXX): Require it.
29487
29488 2010-03-13  Bruno Haible  <bruno@clisp.org>
29489
29490         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
29491         cases.
29492
29493 2010-03-13  Bruno Haible  <bruno@clisp.org>
29494
29495         Test that gnulib does not break the standard C++ headers.
29496         * tests/test-locale-c++2.cc: New file.
29497         * modules/locale-tests (Files): Add it.
29498         (Makefile.am): Compile it for test-locale-c++.
29499         * tests/test-math-c++2.cc: New file.
29500         * modules/math-tests (Files): Add it.
29501         (Makefile.am): Compile it for test-math-c++.
29502         * tests/test-signal-c++2.cc: New file.
29503         * modules/signal-tests (Files): Add it.
29504         (Makefile.am): Compile it for test-signal-c++.
29505         * tests/test-stdio-c++2.cc: New file.
29506         * modules/stdio-tests (Files): Add it.
29507         (Makefile.am): Compile it for test-stdio-c++.
29508         * tests/test-stdlib-c++2.cc: New file.
29509         * modules/stdlib-tests (Files): Add it.
29510         (Makefile.am): Compile it for test-stdlib-c++.
29511         * tests/test-string-c++2.cc: New file.
29512         * modules/string-tests (Files): Add it.
29513         (Makefile.am): Compile it for test-string-c++.
29514         * tests/test-time-c++2.cc: New file.
29515         * modules/time-tests (Files): Add it.
29516         (Makefile.am): Compile it for test-time-c++.
29517         Reported by John W. Eaton <jwe@gnu.org>.
29518
29519 2010-03-13  Bruno Haible  <bruno@clisp.org>
29520
29521         * gnulib-tool (func_usage): Clarify which options are available for
29522         --create-testdir and --create-megatestdir.
29523
29524 2010-03-13  Bruno Haible  <bruno@clisp.org>
29525
29526         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
29527         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
29528         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
29529         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
29530         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
29531         when appropriate.
29532         Reported by Jim Meyering.
29533
29534 2010-03-12  Simon Josefsson  <simon@josefsson.org>
29535
29536         * gnulib-tool (func_import): Explain origin of code.
29537
29538 2010-03-12  Bruno Haible  <bruno@clisp.org>
29539
29540         Fix problem with automake's definition of CXXLINK.
29541         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
29542         Reported by Simon Josefsson and Ludovic Courtès.
29543
29544 2010-03-12  Bruno Haible  <bruno@clisp.org>
29545
29546         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
29547         stable releases.
29548
29549 2010-03-11  Bruno Haible  <bruno@clisp.org>
29550
29551         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
29552         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
29553         whether the system provides one variant or multiple variants of the
29554         function.
29555         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
29556         C++ compilers.
29557         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
29558         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
29559         Reported by Jim Meyering.
29560
29561 2010-03-09  Simon Josefsson  <simon@josefsson.org>
29562
29563         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
29564
29565 2010-03-08  Bruno Haible  <bruno@clisp.org>
29566
29567         gnulib-tool: Add support for --libtool in --create-testdir.
29568         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
29569         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
29570
29571 2010-03-08  Eric Blake  <eblake@redhat.com>
29572
29573         gnulib-tool.texi: mention possibility of git submodule
29574         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
29575         submodules.
29576         * doc/.gitignore: Ignore another generated file.
29577
29578 2010-03-08  Karl Berry  <karl@gnu.org>
29579
29580         * doc/gnulib-tool.texi (VCS Issues): Mention third option
29581         of committing gnulib files while skipping others.
29582
29583 2010-03-07  Bruno Haible  <bruno@clisp.org>
29584
29585         Tests of module 'wctype' in C++ mode.
29586         * tests/test-wctype-c++.cc: New file.
29587         * modules/wctype-tests (Files): Add it and tests/signature.h.
29588         (Depends-on): Add ansi-c++-opt.
29589         (Makefile.am): Arrange to compile and run test-wctype-c++.
29590
29591         Tests of module 'wchar' in C++ mode.
29592         * tests/test-wchar-c++.cc: New file.
29593         * modules/wchar-tests (Files): Add it and tests/signature.h.
29594         (Depends-on): Add ansi-c++-opt.
29595         (Makefile.am): Arrange to compile and run test-wchar-c++.
29596         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
29597         gl_MODULE_INDICATOR.
29598
29599         Tests of module 'unistd' in C++ mode.
29600         * tests/test-unistd-c++.cc: New file.
29601         * modules/unistd-tests (Files): Add it and tests/signature.h.
29602         (Depends-on): Add ansi-c++-opt.
29603         (Makefile.am): Arrange to compile and run test-unistd-c++.
29604         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
29605         gl_MODULE_INDICATOR.
29606
29607         Tests of module 'time' in C++ mode.
29608         * tests/test-time-c++.cc: New file.
29609         * modules/time-tests (Files): Add it and tests/signature.h.
29610         (Depends-on): Add ansi-c++-opt.
29611         (Makefile.am): Arrange to compile and run test-time-c++.
29612         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29613
29614         Tests of module 'sys_time' in C++ mode.
29615         * tests/test-sys_time-c++.cc: New file.
29616         * modules/sys_time-tests (Files): Add it and tests/signature.h.
29617         (Depends-on): Add ansi-c++-opt.
29618         (Makefile.am): Arrange to compile and run test-sys_time-c++.
29619         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
29620         gl_MODULE_INDICATOR.
29621
29622         Tests of module 'sys_stat' in C++ mode.
29623         * tests/test-sys_stat-c++.cc: New file.
29624         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
29625         (Depends-on): Add ansi-c++-opt.
29626         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
29627         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
29628         gl_MODULE_INDICATOR.
29629
29630         Tests of module 'sys_socket' in C++ mode.
29631         * tests/test-sys_socket-c++.cc: New file.
29632         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
29633         (Depends-on): Add ansi-c++-opt.
29634         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
29635         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
29636         gl_MODULE_INDICATOR.
29637
29638         Tests of module 'sys_select' in C++ mode.
29639         * tests/test-sys_select-c++.cc: New file.
29640         * modules/sys_select-tests (Files): Add it and tests/signature.h.
29641         (Depends-on): Add ansi-c++-opt.
29642         (Makefile.am): Arrange to compile and run test-sys_select-c++.
29643         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
29644         gl_MODULE_INDICATOR.
29645
29646         Tests of module 'sys_ioctl' in C++ mode.
29647         * tests/test-sys_ioctl-c++.cc: New file.
29648         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
29649         (Depends-on): Add ansi-c++-opt.
29650         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
29651         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
29652         gl_MODULE_INDICATOR.
29653
29654         Tests of module 'string' in C++ mode.
29655         * tests/test-string-c++.cc: New file.
29656         * modules/string-tests (Files): Add it and tests/signature.h.
29657         (Depends-on): Add ansi-c++-opt.
29658         (Makefile.am): Arrange to compile and run test-string-c++.
29659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
29660         gl_MODULE_INDICATOR.
29661
29662         Tests of module 'stdlib' in C++ mode.
29663         * tests/test-stdlib-c++.cc: New file.
29664         * modules/stdlib-tests (Files): Add it and tests/signature.h.
29665         (Depends-on): Add ansi-c++-opt.
29666         (Makefile.am): Arrange to compile and run test-stdlib-c++.
29667         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
29668         gl_MODULE_INDICATOR.
29669
29670         Tests of module 'stdio' in C++ mode.
29671         * tests/test-stdio-c++.cc: New file.
29672         * modules/stdio-tests (Files): Add it and tests/signature.h.
29673         (Depends-on): Add ansi-c++-opt.
29674         (Makefile.am): Arrange to compile and run test-stdio-c++.
29675         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
29676         gl_MODULE_INDICATOR.
29677
29678         Tests of module 'spawn' in C++ mode.
29679         * tests/test-spawn-c++.cc: New file.
29680         * modules/spawn-tests (Files): Add it and tests/signature.h.
29681         (Depends-on): Add ansi-c++-opt.
29682         (Makefile.am): Arrange to compile and run test-spawn-c++.
29683         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
29684         gl_MODULE_INDICATOR.
29685
29686         Tests of module 'signal' in C++ mode.
29687         * tests/test-signal-c++.cc: New file.
29688         * modules/signal-tests (Files): Add it and tests/signature.h.
29689         (Depends-on): Add ansi-c++-opt.
29690         (Makefile.am): Arrange to compile and run test-signal-c++.
29691         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
29692         gl_MODULE_INDICATOR.
29693
29694         Tests of module 'search' in C++ mode.
29695         * tests/test-search-c++.cc: New file.
29696         * modules/search-tests (Files): Add it and tests/signature.h.
29697         (Depends-on): Add ansi-c++-opt.
29698         (Makefile.am): Arrange to compile and run test-search-c++.
29699         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
29700         gl_MODULE_INDICATOR.
29701
29702         Tests of module 'math' in C++ mode.
29703         * tests/test-math-c++.cc: New file.
29704         * modules/math-tests (Files): Add it and tests/signature.h.
29705         (Depends-on): Add ansi-c++-opt.
29706         (Makefile.am): Arrange to compile and run test-math-c++.
29707         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29708
29709         Tests of module 'locale' in C++ mode.
29710         * tests/test-locale-c++.cc: New file.
29711         * modules/locale-tests (Files): Add it and tests/signature.h.
29712         (Depends-on): Add ansi-c++-opt.
29713         (Makefile.am): Arrange to compile and run test-locale-c++.
29714         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
29715         gl_MODULE_INDICATOR.
29716
29717         Tests of module 'langinfo' in C++ mode.
29718         * tests/test-langinfo-c++.cc: New file.
29719         * modules/langinfo-tests (Files): Add it and tests/signature.h.
29720         (Depends-on): Add ansi-c++-opt.
29721         (Makefile.am): Arrange to compile and run test-langinfo-c++.
29722         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
29723         gl_MODULE_INDICATOR.
29724
29725         Tests of module 'iconv-h' in C++ mode.
29726         * tests/test-iconv-h-c++.cc: New file.
29727         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
29728         (Depends-on): Add ansi-c++-opt.
29729         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
29730
29731         Tests of module 'glob' in C++ mode.
29732         * tests/test-glob-c++.cc: New file.
29733         * modules/glob-tests (Files): Add it.
29734         (Depends-on): Add ansi-c++-opt.
29735         (Makefile.am): Arrange to compile and run test-glob-c++.
29736
29737         Tests of module 'fcntl-h' in C++ mode.
29738         * tests/test-fcntl-h-c++.cc: New file.
29739         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
29740         (Depends-on): Add ansi-c++-opt.
29741         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
29742         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
29743         gl_MODULE_INDICATOR.
29744
29745         Tests of module 'dirent' in C++ mode.
29746         * tests/test-dirent-c++.cc: New file.
29747         * modules/dirent-tests (Files): Add it and tests/signature.h.
29748         (Depends-on): Add ansi-c++-opt.
29749         (Makefile.am): Arrange to compile and run test-dirent-c++.
29750         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29751         gl_MODULE_INDICATOR.
29752
29753         New module 'ansi-c++-opt'.
29754         * modules/ansi-c++-opt: New file.
29755         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
29756
29757         Document C++ namespace mode.
29758         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
29759
29760         wctype: Avoid #define replacements in C++ mode.
29761         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
29762         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
29763         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
29764         In C++, define a namespaced alias symbol.
29765         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
29766         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
29767         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
29768         rule.
29769
29770         wchar: Avoid #define replacements in C++ mode.
29771         * lib/wchar.in.h: Include c++defs.h.
29772         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
29773         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
29774         symbol.
29775         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
29776         * modules/wchar (Depends-on): Add c++defs.
29777         (Makefile.am): Update wchar.h rule.
29778
29779         unistd: Avoid #define replacements in C++ mode.
29780         * lib/unistd.in.h: Include c++defs.h.
29781         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
29782         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
29783         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
29784         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
29785         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
29786         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
29787         symbol.
29788         (environ): Update.
29789         * modules/unistd (Depends-on): Add c++defs.
29790         (Makefile.am): Update unistd.h rule.
29791
29792         time: Avoid #define replacements in C++ mode.
29793         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
29794         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
29795         define a namespaced alias symbol.
29796         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
29797         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
29798         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
29799         * modules/time (Depends-on): Add c++defs, warn-on-use.
29800         (Makefile.am): Update time.h rule.
29801         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
29802         * modules/nanosleep (configure.ac): Likewise.
29803         * modules/strptime (configure.ac): Likewise.
29804         * modules/timegm (configure.ac): Likewise.
29805
29806         sys_time: Avoid #define replacements in C++ mode.
29807         * lib/sys_time.in.h: Include c++defs.h.
29808         (gettimeofday): In C++, define a namespaced alias symbol.
29809         * modules/sys_time (Depends-on): Add c++defs.
29810         (Makefile.am): Update sys/time.h rule.
29811
29812         sys_stat: Avoid #define replacements in C++ mode.
29813         * lib/sys_stat.in.h: Include c++defs.h.
29814         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
29815         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
29816         namespaced alias symbol.
29817         In C++, define a namespaced alias symbol.
29818         * modules/sys_stat (Depends-on): Add c++defs.
29819         (Makefile.am): Update sys/stat.h rule.
29820
29821         sys_socket: Avoid #define replacements in C++ mode.
29822         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
29823         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
29824         definitions also when the system has a <sys/socket.h>.
29825         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29826         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
29827         In C++, define a namespaced alias symbol.
29828         * modules/sys_socket (Depends-on): Add c++defs.
29829         (Makefile.am): Update sys/socket.h rule.
29830
29831         sys_select: Avoid #define replacements in C++ mode.
29832         * lib/sys_select.in.h: Include c++defs.h. Enable the function
29833         definitions also when the system has a <sys/select.h>.
29834         (select): In C++, define a namespaced alias symbol.
29835         * modules/sys_select (Depends-on): Add c++defs.
29836         (Makefile.am): Update sys/select.h rule.
29837
29838         sys_ioctl: Avoid #define replacements in C++ mode.
29839         * lib/sys_ioctl.in.h: Include c++defs.h.
29840         (ioctl): In C++, define a namespaced alias symbol.
29841         * modules/sys_ioctl (Depends-on): Add c++defs.
29842         (Makefile.am): Update sys/ioctl.h rule.
29843
29844         string: Avoid #define replacements in C++ mode.
29845         * lib/string.in.h: Include c++defs.h.
29846         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
29847         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29848         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29849         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
29850         strsignal, strverscmp): In C++, define a namespaced alias symbol.
29851         * modules/string (Depends-on): Add c++defs.
29852         (Makefile.am): Update string.h rule.
29853
29854         stdlib: Avoid #define replacements in C++ mode.
29855         * lib/stdlib.in.h: Include c++defs.h.
29856         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
29857         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
29858         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
29859         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
29860         symbol.
29861         * modules/stdlib (Depends-on): Add c++defs.
29862         (Makefile.am): Update stdlib.h rule.
29863
29864         stdio: Avoid #define replacements in C++ mode.
29865         * lib/stdio.in.h: Include c++defs.h.
29866         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
29867         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
29868         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
29869         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
29870         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
29871         namespaced alias symbol.
29872         * modules/stdio (Depends-on): Add c++defs.
29873         (Makefile.am): Update stdio.h rule.
29874
29875         spawn: Avoid #define replacements in C++ mode.
29876         * lib/spawn.in.h: Include c++defs.h.
29877         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29878         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29879         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29880         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29881         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29882         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29883         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29884         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29885         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29886         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29887         In C++, define a namespaced alias symbol.
29888         * modules/spawn (Depends-on): Add c++defs.
29889         (Makefile.am): Update spawn.h rule.
29890
29891         signal: Avoid #define replacements in C++ mode.
29892         * lib/signal.in.h: Include c++defs.h.
29893         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29894         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
29895         namespaced alias symbol.
29896         * modules/signal (Depends-on): Add c++defs.
29897         (Makefile.am): Update signal.h rule.
29898
29899         search: Avoid #define replacements in C++ mode.
29900         * lib/search.in.h: Include c++defs.h.
29901         (_gl_search_compar_fn, _gl_search_action_fn): New types.
29902         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
29903         symbol.
29904         * modules/search (Depends-on): Add c++defs.
29905         (Makefile.am): Update search.h rule.
29906
29907         math: Avoid #define replacements in C++ mode.
29908         * lib/math.in.h: Include c++defs.h.
29909         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
29910         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
29911         trunc, truncl): In C++, define a namespaced alias symbol.
29912         * modules/math (Depends-on): Add c++defs.
29913         (Makefile.am): Update math.h rule.
29914
29915         locale: Avoid #define replacements in C++ mode.
29916         * lib/locale.in.h: Include c++defs.h.
29917         (duplocale): In C++, define a namespaced alias symbol.
29918         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
29919         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
29920         * modules/locale (Depends-on): Add c++defs.
29921         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
29922
29923         langinfo: Avoid #define replacements in C++ mode.
29924         * lib/langinfo.in.h: Include c++defs.h.
29925         (nl_langinfo): In C++, define a namespaced alias symbol.
29926         * modules/langinfo (Depends-on): Add c++defs.
29927         (Makefile.am): Update langinfo.h rule.
29928
29929         iconv-h: Avoid #define replacements in C++ mode.
29930         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
29931         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
29932         symbol.
29933         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29934         whenever iconv is present.
29935         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
29936         (Makefile.am): Update iconv.h rule.
29937
29938         glob: Avoid #define replacements in C++ mode.
29939         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
29940         (_gl_glob_errfunc_fn): New type.
29941         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
29942         symbol.
29943         * modules/glob (Depends-on): Add c++defs, warn-on-use.
29944         (Makefile.am): Update glob.h rule.
29945
29946         fcntl-h: Avoid #define replacements in C++ mode.
29947         * lib/fcntl.in.h: Include c++defs.h.
29948         (fcntl, open, openat): In C++, define a namespaced alias symbol.
29949         * modules/fcntl-h (Depends-on): Add c++defs.
29950         (Makefile.am): Update fcntl.h rule.
29951
29952         dirent: Avoid #define replacements in C++ mode.
29953         * lib/dirent.in.h: Include c++defs.h.
29954         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
29955         namespaced alias symbol.
29956         (dirfd): Update declaration.
29957         * modules/dirent (Depends-on): Add c++defs.
29958         (Makefile.am): Update dirent.h rule.
29959
29960         ctype: Make it usable in C++ code.
29961         * lib/ctype.in.h: Include c++defs.h.
29962         (isblank): Declare as extern "C".
29963         * modules/ctype (Depends-on): Add c++defs.
29964         (Makefile.am): Update ctype.h rule.
29965
29966         New module 'c++defs'.
29967         * modules/c++defs: New file.
29968         * build-aux/c++defs.h: New file.
29969         Reported by John W. Eaton <jwe@gnu.org>.
29970
29971 2010-03-07  Bruno Haible  <bruno@clisp.org>
29972
29973         logb: Provide missing declaration for Cygwin.
29974         * lib/math.in.h (logb): New declaration.
29975         * m4/logb.m4: New file.
29976         * modules/logb (Files): Add m4/logb.m4.
29977         (Depends-on): Add math.
29978         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29979         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29981         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29982         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29983
29984 2010-03-07  Bruno Haible  <bruno@clisp.org>
29985
29986         Fix test-cond link error.
29987         * tests/test-cond.c: Include <stdio.h>.
29988
29989 2010-03-07  Bruno Haible  <bruno@clisp.org>
29990
29991         Fix test-dirent-safer link error.
29992         * modules/dirent-safer-tests (Makefile.am): Define
29993         test_dirent_safer_LDADD.
29994
29995 2010-03-07  Bruno Haible  <bruno@clisp.org>
29996
29997         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29998         among default module list.
29999
30000 2010-03-07  Bruno Haible  <bruno@clisp.org>
30001
30002         Fix link error on platforms with GNU libiconv.
30003         * modules/unistr/u8-strcoll-tests (Makefile): Define
30004         test_u8_strcoll_LDADD.
30005         * modules/unistr/u16-strcoll-tests (Makefile): Define
30006         test_u16_strcoll_LDADD.
30007         * modules/unistr/u32-strcoll-tests (Makefile): Define
30008         test_u32_strcoll_LDADD.
30009
30010 2010-03-07  Bruno Haible  <bruno@clisp.org>
30011
30012         Use POSIX declarations for socket functions.
30013         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30014         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30015         rpl_sendto): Change declaration to match POSIX.
30016         * lib/connect.c (rpl_connect): Likewise.
30017         * lib/accept.c (rpl_accept): Likewise.
30018         * lib/bind.c (rpl_bind): Likewise.
30019         * lib/getpeername.c (rpl_getpeername): Likewise.
30020         * lib/getsockname.c (rpl_getsockname): Likewise.
30021         * lib/recv.c (rpl_recv): Likewise.
30022         * lib/send.c (rpl_send): Likewise.
30023         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30024         * lib/sendto.c (rpl_sendto): Likewise.
30025
30026 2010-03-06  Bruno Haible  <bruno@clisp.org>
30027
30028         Clarify access, euidaccess, faccessat.
30029         * doc/posix-functions/faccessat.texi: Mention security problem under
30030         "Other problems", not "Portability problems".
30031         * doc/posix-functions/access.texi: Likewise. Mention a related security
30032         problem.
30033         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30034         * lib/euidaccess.c: Add comments about platforms.
30035         * lib/unistd.in.h (access, euidaccess): Add warnings.
30036
30037 2010-03-07  Bruno Haible  <bruno@clisp.org>
30038
30039         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30040         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30041         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30042         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30043         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30044         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30045         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30046         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30047         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30048         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30049         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30050         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30051         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30052         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30053         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30054         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30055         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30056         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30057         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30058         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30059         Likewise.
30060         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30061         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30062         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30063         Likewise.
30064         * tests/test-spawn.c (main): Make it work when
30065         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30066
30067 2010-03-07  Bruno Haible  <bruno@clisp.org>
30068
30069         Fix incorrect Makefile.am generation in German locale.
30070         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30071         Execute sed command with character range in C locale.
30072
30073 2010-03-06  Bruno Haible  <bruno@clisp.org>
30074
30075         Tests for module 'iconv-h'.
30076         * modules/iconv-h-tests: New file.
30077         * tests/test-iconv-h.c: New file.
30078
30079         New module 'iconv-h'.
30080         * modules/iconv-h: New file.
30081         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30082         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30083         (configure.ac): Remove gl_ICONV_H.
30084         (Makefile.am): Remove rule for iconv.h.
30085
30086 2010-03-06  Bruno Haible  <bruno@clisp.org>
30087
30088         More consistent naming of *.m4 files.
30089         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30090         * modules/wctype (Files): Update.
30091
30092         More consistent naming of *.m4 files.
30093         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30094         * modules/wchar (Files): Update.
30095
30096 2010-03-06  Jim Meyering  <meyering@redhat.com>
30097
30098         euidaccess: relax license to LGPLv2+
30099         * modules/euidaccess (License): Relax to LGPLv2+.
30100
30101 2010-03-06  Bruno Haible  <bruno@clisp.org>
30102
30103         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30104         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30105         (Makefile.am): Augment lib_SOURCES instead.
30106
30107 2010-03-04  Jim Meyering  <meyering@redhat.com>
30108
30109         utime: remove obsolete module
30110         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30111         unnecessary for years, and has been marked as obsolete for 10 months.
30112         * modules/utime: Remove file.
30113         * lib/utime.c: Remove file.
30114         * m4/utime.m4: Remove file.
30115         * m4/utimes-null.m4: Remove file.
30116         * doc/posix-functions/utime.texi (utime): Remove reference to
30117         the module.  Move the sole "fixed by gnulib" item into the
30118         "problems not fixed by Gnulib" list.
30119         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30120
30121 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30122
30123         * modules/exit (License): Relax license to LGPLv2+.
30124         (Status): Mark as obsolete.
30125         * NEWS: Mention deprecated 'exit' module.
30126         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30127         of now obsolete 'exit'.
30128
30129 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30130
30131         fts-lgpl: remove unused module
30132         * modules/fts-lgpl: Remove.
30133         * MODULES.html.sh (func_all_modules): Adjust.
30134         * check-module (find_included_lib_files): Adjust.
30135         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30136
30137 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30138
30139         copy-acl: enhance Solaris ACL error handling
30140         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30141         * lib/set-mode-acl.c (qset_acl): Likewise.
30142
30143 2010-03-02  Bruno Haible  <bruno@clisp.org>
30144
30145         spawn: Don't override the system defined values on FreeBSD 8.
30146         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30147         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30148         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30149         if HAVE_POSIX_SPAWN is 1.
30150         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30151
30152 2010-03-01  Bruno Haible  <bruno@clisp.org>
30153
30154         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30155         regarding Automake.
30156
30157 2010-02-25  Bruno Haible  <bruno@clisp.org>
30158
30159         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30160         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30161         setting, not afterwards.
30162         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30163
30164 2010-02-24  Eric Blake  <eblake@redhat.com>
30165
30166         bootstrap, git-version-gen: use timestamp
30167         * build-aux/git-version-gen (scriptversion): Force UTC.
30168         * build-aux/bootstrap (scriptversion): New variable.
30169
30170         bootstrap: allow older git
30171         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30172         older than 1.6.4.  Requested by the libvirt project.
30173
30174 2010-02-23  Eric Blake  <eblake@redhat.com>
30175
30176         warn-on-use: work with old autoconf
30177         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30178         AS_VAR semantics of autoconf 2.60.
30179         Reported by Bruno Haible.
30180
30181         bootstrap: improve some comments
30182         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30183         clarification comments.
30184
30185         gettimeofday: provide correct function
30186         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30187         when replacement is declared, otherwise provide gettimeofday.
30188         Reported by Michael Goffioul.
30189
30190 2010-02-23  Jim Meyering  <meyering@redhat.com>
30191
30192         lib-ignore: relax license to "unlimited", not LGPLv2+
30193         * modules/lib-ignore (License): Relax to "unlimited".
30194
30195 2010-02-23  Jim Meyering  <meyering@redhat.com>
30196
30197         lib-ignore: relax license to LGPLv2+
30198         * modules/lib-ignore (License): Relax to LGPLv2+.
30199
30200 2010-02-22  Eric Blake  <eblake@redhat.com>
30201
30202         lseek: avoid bash 3.2 broken pipe bug
30203         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30204         warning from bash 3.2.
30205         Reported by Ben Pfaff, with analysis from Bruno Haible.
30206
30207         bootstrap: support non-FSF copyright holder
30208         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30209         bootstrap.conf override of COPYRIGHT_HOLDER.
30210         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30211
30212         bootstrap: interoperate with gettext 0.14.1
30213         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30214
30215         bootstrap: allow for alternate submodule location
30216         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30217         hardcoding submodule location.
30218         (gnulib_mk): Allow direct use of Makefile.am.
30219
30220         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30221         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30222         rather than reconfiguring where the submodule points.
30223
30224         gettimeofday: restore support for platforms that lack function
30225         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30226         replacement if function is missing.
30227         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30228         * modules/sys_time (Makefile.am): Substitute it.
30229         * lib/sys_time.in.h (gettimeofday): Check it.
30230         Reported by Michael Goffioul.
30231
30232 2010-02-21  Bruno Haible  <bruno@clisp.org>
30233
30234         * lib/stdio.in.h (obstack_printf): Fix typo.
30235
30236 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30237
30238         vc-list-files: use bzr ls's -R option
30239         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30240         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30241
30242 2010-02-21  Jim Meyering  <meyering@redhat.com>
30243
30244         init.sh: fix EXEEXT shims to work also for names like test-prog
30245         * tests/init.sh: Re-exec a better shell, when needed.
30246         If the current shell lacks support for posix $(...), an init.sh-using
30247         test will now try to find a shell that supports that.  If EXEEXT is
30248         nonempty, we also require support for hyphen-in-alias-name and shell
30249         substitutions like ${var#glob}.  Failure to find such a shell results
30250         in a skipped test.
30251
30252 2010-02-21  Bruno Haible  <bruno@clisp.org>
30253
30254         Really work around around "broken pipe" error message from bash 3.2.
30255         * gnulib-tool (func_reset_sigpipe): Remove function.
30256         (echo): In bash 3.2, define to a function that uses printf.
30257         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30258
30259 2010-02-20  Bruno Haible  <bruno@clisp.org>
30260
30261         Restore support for automake 1.9.6 with autoconf 2.61.
30262         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30263         Reported by James Youngman <jay@gnu.org>.
30264
30265 2010-02-20  Bruno Haible  <bruno@clisp.org>
30266
30267         Improve *printf warning condition.
30268         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30269         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30270         and the function is overridden due to SIGPIPE emulation.
30271
30272 2010-02-20  Bruno Haible  <bruno@clisp.org>
30273
30274         * lib/stdio.in.h: Tweak comments.
30275
30276 2010-02-19  Bruno Haible  <bruno@clisp.org>
30277
30278         Make it easier to find modules. New gnulib-tool option '--find'.
30279         * gnulib-tool: New option --find.
30280         (func_usage): Document it.
30281         (func_sanitize_modulelist): New function, extracted from
30282         func_all_modules.
30283         (func_all_modules): Invoke it.
30284         * doc/gnulib-tool.texi (Which modules?): New node.
30285
30286 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30287
30288         * lib/sys_select.in.h: Provide select replacement even if
30289         sys/select.h exists on a system, for Interix.
30290
30291 2010-02-18  Jim Meyering  <meyering@redhat.com>
30292
30293         init.sh: don't use $(...) just yet
30294         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30295         to accommodate e.g., Solaris' /bin/sh.
30296
30297 2010-02-17  Bruno Haible  <bruno@clisp.org>
30298
30299         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30300         Reported by Ludovic Courtès <ludo@gnu.org>.
30301
30302 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30303
30304         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30305         linking with -lintl.
30306
30307 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30308
30309         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30310         if not provided by the system's netdb.h.  Reported by
30311         ludo@gnu.org (Ludovic Courtès).
30312
30313 2010-02-15  Jim Meyering  <meyering@redhat.com>
30314
30315         init.sh: improve portability and efficiency
30316         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30317         "dummy" in a for loop.
30318         Use '!', not '^' to select the complement of a character set used
30319         in a "case" statement.
30320         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30321         Suggestions from Eric Blake.
30322
30323         init.sh: automatically accommodate programs with the .exe suffix
30324         Automatically arrange for an invocation of "prog" to execute the
30325         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30326         may use the simpler "prog", yet still work when built on a system
30327         that requires specifying the added suffix.
30328         Do this by constructing a function named "prog" that invokes
30329         "prog.exe" for each .exe file in selected directories.
30330         * tests/init.sh (find_exe_basenames_): New function.
30331         (create_exe_shim_functions_): New function.
30332         (path_prepend_): Use it.
30333
30334         maint.mk: mark syntax-check sc_*.m rules as .PHONY
30335         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
30336         "make -t syntax-check" doesn't create a ton of sc_*.m files.
30337
30338 2010-02-14  Jim Meyering  <meyering@redhat.com>
30339
30340         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
30341         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
30342         (sc_prohibit_hash_pjw_without_use): New rule.
30343
30344         maint.mk: allow the default upload destination dir to be overridden
30345         * top/maint.mk (upload_dest_dir_): Define with a default that
30346         preserves the status quo.
30347         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
30348         Reported by Peter Simons.
30349
30350         maint.mk: prohibit inclusion of "hash.h" without_use
30351         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
30352
30353 2010-02-10  Jim Meyering  <meyering@redhat.com>
30354
30355         maint.mk: prohibit inclusion of "ignore-value.h" without_use
30356         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
30357
30358 2010-02-09  Eric Blake  <ebb9@byu.net>
30359         and Bruno Haible  <bruno@clisp.org>
30360
30361         obstack-printf-posix: ensure declaration
30362         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
30363         extracted from gl_FUNC_OBSTACK_PRINTF.
30364         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
30365         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30366         Likewise.
30367         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
30368         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
30369         0.
30370
30371 2010-02-08  Bruno Haible  <bruno@clisp.org>
30372
30373         gnulib-tool: Fix typo in 2010-02-07 commit.
30374         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
30375         Reported by Eric Blake.
30376
30377 2010-02-07  Bruno Haible  <bruno@clisp.org>
30378
30379         gnulib-tool: Fix up caching patches.
30380         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
30381         option --no-cache. Use associative arrays when supported by the shell.
30382         (sed_comments): New variable.
30383         (modcache): Renamed from do_cache.
30384         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
30385         abbreviate unnecessarily.
30386         (have_associative): New variable.
30387         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
30388         way also for ksh and zsh.
30389         (func_init_sed_convert_to_cache_statements): New function, extracted
30390         from func_cache_lookup_module. Add support for associative arrays.
30391         Don't set the c_MODULE_cached variable here. Ignore all lines before
30392         the first field header. Remove only the final newline, not all trailing
30393         newlines. Support empty fields correctly. Limit the use of 'eval' to
30394         assignments.
30395         (func_get_description, func_get_status, func_get_notice,
30396         func_get_applicability, func_get_filelist, func_get_dependencies,
30397         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
30398         func_get_automake_snippet, func_get_include_directive,
30399         func_get_link_directive, func_get_license, func_get_maintainer):
30400         Update documentation. List the unoptimized code first. Add support for
30401         associative arrays. Limit the use of 'eval' to assignments.
30402         (func_get_applicability): Undo stylistic pessimisations.
30403         (func_get_automake_snippet, func_get_include_directive): Reduce code
30404         duplication.
30405         (func_modules_transitive_closure, func_modules_add_dummy,
30406         func_modules_notice, func_modules_to_filelist, func_add_file,
30407         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
30408         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
30409         func_create_testdir, func_create_megatestdir): Update documentation.
30410
30411 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30412
30413         * gnulib-tool (func_cache_lookup_module): Store the module name
30414         belonging to the cache variable; error out if two different
30415         module names map to the same cache variable name.
30416
30417 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30418
30419         gnulib-tool: Make caching optional.
30420         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
30421         Update matching short versions of --no-changelog.
30422         (func_usage): Update.
30423         (sed_extract_cache_prog): Renamed from ...
30424         (sed_extract_prog): ... this; revert to old extraction script.
30425         (func_get_description, func_get_status)
30426         (func_get_notice, func_get_applicability, func_get_filelist)
30427         (func_get_dependencies, func_get_autoconf_early_snippet)
30428         (func_get_autoconf_snippet, func_get_automake_snippet)
30429         (func_get_include_directive, func_get_link_directive)
30430         (func_get_license, func_get_maintainer): If $do_cache is false,
30431         use old, non-caching extraction scripts.
30432         Suggestion by Bruno Haible.
30433
30434 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30435
30436         gnulib-tool: cache module metainformation.
30437         * gnulib-tool (sed_extract_prog): Match newline before each
30438         header, and rewrite header to a shell variable suffix.
30439         (func_cache_var, func_cache_lookup_module): New functions,
30440         to turn a module name into a cache variable prefix, and to
30441         look up and cache module metainformation.
30442         (func_get_description, func_get_status)
30443         (func_get_notice, func_get_applicability, func_get_filelist)
30444         (func_get_dependencies, func_get_autoconf_early_snippet)
30445         (func_get_autoconf_snippet, func_get_automake_snippet)
30446         (func_get_include_directive, func_get_link_directive)
30447         (func_get_license, func_get_maintainer): Use
30448         func_cache_lookup_module.
30449
30450 2010-02-07  Bruno Haible  <bruno@clisp.org>
30451
30452         fnctl: Fix missing dependency.
30453         * modules/fcntl (Depends-on): Add getdtablesize.
30454         Reported by John W. Eaton <jwe@gnu.org>.
30455
30456 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30457
30458         Argp: fix recognition of short alias options.
30459
30460         * lib/argp-parse.c (convert_options): Fix improper use of
30461         `|' between character values.
30462         * tests/test-argp.c (group1_option): New alias option
30463         --read (-r).
30464         (group1_parser): Special handling for 'r'.
30465         (test15): New test case.
30466         (test_fun): Add test15.
30467         * tests/test-argp-2.sh: Update expected --help and --usage
30468         outputs.
30469
30470 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
30471
30472         * tests/test-argp.c: Fix indentation.
30473
30474 2010-02-04  Eric Blake  <ebb9@byu.net>
30475
30476         gettimeofday: expose type of second argument
30477         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
30478         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
30479         * tests/test-gettimeofday.c: Use it to silence warning.
30480         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
30481         the issue.
30482
30483 2010-02-03  Jim Meyering  <meyering@redhat.com>
30484
30485         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
30486         * lib/regcomp.c (TYPE_SIGNED): Define.
30487         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
30488
30489         regcomp.c: avoid a new -Wshadow warning
30490         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
30491
30492 2010-02-01  Jim Meyering  <meyering@redhat.com>
30493
30494         removing useless parentheses in cpp #define directives
30495         For motivation, see commit c0221df4, "define STREQ(a,b)
30496         consistently, removing useless parentheses"
30497         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
30498         * lib/mountlist.c (MNT_IGNORE): Likewise.
30499         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
30500
30501 2010-02-01  Eric Blake  <ebb9@byu.net>
30502
30503         sys_time: use link-warning
30504         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
30505         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
30506         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
30507         * modules/sys_time (Depends-on): Add warn-on-use.
30508         (Makefile.am): Always build replacement.
30509         (configure.ac): Update substitutions.
30510         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
30511         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
30512         bother with SYS_TIME_H.
30513         * modules/gettimeofday (configure.ac): Declare indicator.
30514         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
30515         in use.
30516
30517         closein-tests: silence compiler warning
30518         * tests/test-closein.c (main): Ignore fread result.
30519         * modules/closein-tests (Depends-on): Add ignore-value.
30520
30521         tests: silence warning about system return
30522         * tests/test-areadlink-with-size.c (main): Ignore system result.
30523         * tests/test-areadlink.c (main): Likewise.
30524         * tests/test-areadlinkat-with-size.c (main): Likewise.
30525         * tests/test-areadlinkat.c (main): Likewise.
30526         * tests/test-canonicalize-lgpl.c (main): Likewise.
30527         * tests/test-canonicalize.c (main): Likewise.
30528         * tests/test-chown.c (main): Likewise.
30529         * tests/test-fchownat.c (main): Likewise.
30530         * tests/test-fdutimensat.c (main): Likewise.
30531         * tests/test-fstatat.c (main): Likewise.
30532         * tests/test-futimens.c (main): Likewise.
30533         * tests/test-lchown.c (main): Likewise.
30534         * tests/test-link.c (main): Likewise.
30535         * tests/test-linkat.c (main): Likewise.
30536         * tests/test-lstat.c (main): Likewise.
30537         * tests/test-mkdir.c (main): Likewise.
30538         * tests/test-mkdirat.c (main): Likewise.
30539         * tests/test-mkfifo.c (main): Likewise.
30540         * tests/test-mkfifoat.c (main): Likewise.
30541         * tests/test-mknod.c (main): Likewise.
30542         * tests/test-readlink.c (main): Likewise.
30543         * tests/test-remove.c (main): Likewise.
30544         * tests/test-rename.c (main): Likewise.
30545         * tests/test-renameat.c (main): Likewise.
30546         * tests/test-rmdir.c (main): Likewise.
30547         * tests/test-symlink.c (main): Likewise.
30548         * tests/test-symlinkat.c (main): Likewise.
30549         * tests/test-unlink.c (main): Likewise.
30550         * tests/test-unlinkat.c (main): Likewise.
30551         * tests/test-utimens.c (main): Likewise.
30552         * tests/test-utimensat.c (main): Likewise.
30553         * modules/areadlink-tests (Depends-on): Add ignore-value.
30554         * modules/areadlink-with-size-tests (Depends-on): Likewise.
30555         * modules/areadlinkat-tests (Depends-on): Likewise.
30556         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
30557         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30558         * modules/canonicalize-tests (Depends-on): Likewise.
30559         * modules/chown-tests (Depends-on): Likewise.
30560         * modules/fdutimensat-tests (Depends-on): Likewise.
30561         * modules/futimens-tests (Depends-on): Likewise.
30562         * modules/lchown-tests (Depends-on): Likewise.
30563         * modules/link-tests (Depends-on): Likewise.
30564         * modules/linkat-tests (Depends-on): Likewise.
30565         * modules/lstat-tests (Depends-on): Likewise.
30566         * modules/mkdir-tests (Depends-on): Likewise.
30567         * modules/mkfifo-tests (Depends-on): Likewise.
30568         * modules/mkfifoat-tests (Depends-on): Likewise.
30569         * modules/mknod-tests (Depends-on): Likewise.
30570         * modules/openat-tests (Depends-on): Likewise.
30571         * modules/readlink-tests (Depends-on): Likewise.
30572         * modules/remove-tests (Depends-on): Likewise.
30573         * modules/rename-tests (Depends-on): Likewise.
30574         * modules/renameat-tests (Depends-on): Likewise.
30575         * modules/rmdir-tests (Depends-on): Likewise.
30576         * modules/symlink-tests (Depends-on): Likewise.
30577         * modules/symlinkat-tests (Depends-on): Likewise.
30578         * modules/unlink-tests (Depends-on): Likewise.
30579         * modules/utimens-tests (Depends-on): Likewise.
30580         * modules/utimensat-tests (Depends-on): Likewise.
30581
30582 2010-01-31  Bruno Haible  <bruno@clisp.org>
30583
30584         Perform the same test for many <math.h> functions.
30585         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
30586         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
30587         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
30588         of gl_MATHFUNC.
30589         * modules/acos (configure.ac): Likewise.
30590         * modules/asin (configure.ac): Likewise.
30591         * modules/atan (configure.ac): Likewise.
30592         * modules/atan2 (configure.ac): Likewise.
30593         * modules/cbrt (configure.ac): Likewise.
30594         * modules/copysign (configure.ac): Likewise.
30595         * modules/cos (configure.ac): Likewise.
30596         * modules/cosh (configure.ac): Likewise.
30597         * modules/erf (configure.ac): Likewise.
30598         * modules/erfc (configure.ac): Likewise.
30599         * modules/exp (configure.ac): Likewise.
30600         * modules/fmod (configure.ac): Likewise.
30601         * modules/hypot (configure.ac): Likewise.
30602         * modules/j0 (configure.ac): Likewise.
30603         * modules/j1 (configure.ac): Likewise.
30604         * modules/jn (configure.ac): Likewise.
30605         * modules/lgamma (configure.ac): Likewise.
30606         * modules/log (configure.ac): Likewise.
30607         * modules/log10 (configure.ac): Likewise.
30608         * modules/log1p (configure.ac): Likewise.
30609         * modules/pow (configure.ac): Likewise.
30610         * modules/remainder (configure.ac): Likewise.
30611         * modules/sin (configure.ac): Likewise.
30612         * modules/sinh (configure.ac): Likewise.
30613         * modules/tan (configure.ac): Likewise.
30614         * modules/tanh (configure.ac): Likewise.
30615         * modules/y0 (configure.ac): Likewise.
30616         * modules/y1 (configure.ac): Likewise.
30617         * modules/yn (configure.ac): Likewise.
30618         Suggested by Paolo Bonzini.
30619
30620 2010-01-31  Bruno Haible  <bruno@clisp.org>
30621
30622         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
30623
30624 2010-01-31  Bruno Haible  <bruno@clisp.org>
30625
30626         Work around getdelim() bug on FreeBSD 8.0.
30627         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
30628         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
30629         not work.
30630         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
30631         is 1.
30632         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
30633         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
30634         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
30635         a non-zero size.
30636         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
30637
30638 2010-01-31  Bruno Haible  <bruno@clisp.org>
30639
30640         Work around getline() bug on FreeBSD 8.0.
30641         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
30642         and a non-zero size.
30643         * tests/test-getline.c (main): Likewise.
30644         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
30645         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
30646
30647 2010-01-28  Eric Blake  <ebb9@byu.net>
30648
30649         regex: fix build failure
30650         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
30651         platforms.
30652
30653 2010-01-28  Jim Meyering  <meyering@redhat.com>
30654
30655         regex: do not ignore memory allocation failure
30656         * lib/regex_internal.c (create_cd_newstate): Detect
30657         re_node_set_init_copy failure.   Extracted from glibc commit
30658         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30659
30660         regex: sync more white-space changes from libc
30661         * lib/regex_internal.c: White-space only changes.
30662         * lib/regexec.c: Likewise.
30663
30664         regex: add many uses of __attribute_warn_unused_result__
30665         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
30666         * lib/regexec.c: Likewise.
30667         Extracted from a messy glibc commit.
30668
30669         regcomp.c: spelling and merge-artifact from glibc
30670         * lib/regcomp.c: Merge remainder of glibc's
30671         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30672
30673         regcomp.c: sync white-space changes from glibc
30674         * lib/regcomp.c: Merge to accommodate white space
30675         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
30676
30677         regcomp.c: do not ignore internal return values
30678         * lib/regcomp.c: Do not ignore internal return values.
30679         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
30680         but without its white-space changes and spelling fixes.
30681
30682         regex_internal.h: define __attribute_warn_unused_result__
30683         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
30684
30685         maint: add a syntax-check rule to check for vulnerable Makefile.in
30686         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
30687
30688 2010-01-27  Jim Meyering  <meyering@redhat.com>
30689
30690         ncftpput-ftp: clean up spaces
30691         * build-aux/ncftpput-ftp: Make Copyright line consistent.
30692         Remove trailing blanks.
30693
30694 2010-01-27  Simon Josefsson  <simon@josefsson.org>
30695
30696         * build-aux/git-version-gen: Fix copyright statement.
30697         * build-aux/gnupload: Likewise.
30698         * tests/test-arcfour.c: Likewise.
30699         * tests/test-arctwo.c: Likewise.
30700         * tests/test-count-one-bits.c: Likewise.
30701         * tests/test-crc.c: Likewise.
30702         * tests/test-des.c: Likewise.
30703         * tests/test-gc-arcfour.c: Likewise.
30704         * tests/test-gc-arctwo.c: Likewise.
30705         * tests/test-gc-des.c: Likewise.
30706         * tests/test-gc-hmac-md5.c: Likewise.
30707         * tests/test-gc-hmac-sha1.c: Likewise.
30708         * tests/test-gc-md2.c: Likewise.
30709         * tests/test-gc-md4.c: Likewise.
30710         * tests/test-gc-md5.c: Likewise.
30711         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30712         * tests/test-gc-rijndael.c: Likewise.
30713         * tests/test-gc-sha1.c: Likewise.
30714         * tests/test-gc.c: Likewise.
30715         * tests/test-gethostname.c: Likewise.
30716         * tests/test-gettimeofday.c: Likewise.
30717         * tests/test-hash.c: Likewise.
30718         * tests/test-hmac-md5.c: Likewise.
30719         * tests/test-hmac-sha1.c: Likewise.
30720         * tests/test-md2.c: Likewise.
30721         * tests/test-md4.c: Likewise.
30722         * tests/test-md5.c: Likewise.
30723         * tests/test-memchr.c: Likewise.
30724         * tests/test-memchr2.c: Likewise.
30725         * tests/test-memcmp.c: Likewise.
30726         * tests/test-memmem.c: Likewise.
30727         * tests/test-memrchr.c: Likewise.
30728         * tests/test-rawmemchr.c: Likewise.
30729         * tests/test-read-file.c: Likewise.
30730         * tests/test-rijndael.c: Likewise.
30731         * tests/test-sockets.c: Likewise.
30732         * tests/test-strchrnul.c: Likewise.
30733         * tests/test-strstr.c: Likewise.
30734         * tests/test-strtod.c: Likewise.
30735         * build-aux/ncftpput-ftp: Likewise.
30736
30737 2010-01-26  Eric Blake  <ebb9@byu.net>
30738
30739         ignore-value: update recommended header name
30740         * modules/ignore-value (Include): Only use <> for headers that
30741         exist in glibc.
30742
30743 2010-01-26  Jim Meyering  <meyering@redhat.com>
30744
30745         test-userspec.c: avoid compiler warnings
30746         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
30747         and "initialization discards qualifiers..." warnings.
30748         Put the first "uid" in its own scope, and make char* members "const".
30749
30750 2010-01-25  Bruno Haible  <bruno@clisp.org>
30751
30752         gnulib-tool: Make warning diagnostics consistent.
30753         * gnulib-tool (func_warning): New function.
30754         Use it everywhere where gnulib-tool produces output to stderr and it is
30755         not a fatal error.
30756
30757 2010-01-25  Bruno Haible  <bruno@clisp.org>
30758
30759         Fix test dependencies.
30760         * modules/xstrtol-tests (Depends-on): Add inttypes.
30761         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
30762
30763 2010-01-25 Pádraig Brady <P@draigBrady.com>
30764
30765         syntax-check: detect incorrect boolean macro values in config.h
30766         * modules/maintainer-makefile (configure.ac): Parameterize the location
30767         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
30768         The logic is from Eric Blake and the location indicated by Jim Meyering.
30769         Note the more natural CONFIG_HEADER name is prohibited by automake
30770         for backwards compatibility reasons.
30771         * top/maint.mk (sc_Wundef_boolean): New rule.
30772
30773 2010-01-25  Jim Meyering  <meyering@redhat.com>
30774
30775         bootstrap: detect MacOS 10.6's shasum, too
30776         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
30777         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
30778
30779 2010-01-23  Jim Meyering  <meyering@redhat.com>
30780
30781         xstrtoll: new module
30782         * modules/xstrtoll: New file.
30783         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
30784         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
30785         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
30786         ./configure fails if you use this module and lack "long long".
30787         * modules/xstrtoll-tests: New module.
30788         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
30789         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
30790         new init.sh-based test framework.
30791
30792 2010-01-24  Bruno Haible  <bruno@clisp.org>
30793
30794         Tests for module 'yn'.
30795         * modules/yn-tests: New file.
30796         * tests/test-yn.c: New file.
30797
30798         Tests for module 'y1'.
30799         * modules/y1-tests: New file.
30800         * tests/test-y1.c: New file.
30801
30802         Tests for module 'y0'.
30803         * modules/y0-tests: New file.
30804         * tests/test-y0.c: New file.
30805
30806         Tests for module 'tanh'.
30807         * modules/tanh-tests: New file.
30808         * tests/test-tanh.c: New file.
30809
30810         Tests for module 'tan'.
30811         * modules/tan-tests: New file.
30812         * tests/test-tan.c: New file.
30813
30814         Tests for module 'sqrt'.
30815         * modules/sqrt-tests: New file.
30816         * tests/test-sqrt.c: New file.
30817
30818         Tests for module 'sinh'.
30819         * modules/sinh-tests: New file.
30820         * tests/test-sinh.c: New file.
30821
30822         Tests for module 'sin'.
30823         * modules/sin-tests: New file.
30824         * tests/test-sin.c: New file.
30825
30826         Tests for module 'rint'.
30827         * modules/rint-tests: New file.
30828         * tests/test-rint.c: New file.
30829
30830         Tests for module 'remainder'.
30831         * modules/remainder-tests: New file.
30832         * tests/test-remainder.c: New file.
30833
30834         Tests for module 'pow'.
30835         * modules/pow-tests: New file.
30836         * tests/test-pow.c: New file.
30837
30838         Tests for module 'nextafter'.
30839         * modules/nextafter-tests: New file.
30840         * tests/test-nextafter.c: New file.
30841
30842         Tests for module 'modf'.
30843         * modules/modf-tests: New file.
30844         * tests/test-modf.c: New file.
30845
30846         Tests for module 'logb'.
30847         * modules/logb-tests: New file.
30848         * tests/test-logb.c: New file.
30849
30850         Tests for module 'log1p'.
30851         * modules/log1p-tests: New file.
30852         * tests/test-log1p.c: New file.
30853
30854         Tests for module 'log10'.
30855         * modules/log10-tests: New file.
30856         * tests/test-log10.c: New file.
30857
30858         Tests for module 'log'.
30859         * modules/log-tests: New file.
30860         * tests/test-log.c: New file.
30861
30862         Tests for module 'lgamma'.
30863         * modules/lgamma-tests: New file.
30864         * tests/test-lgamma.c: New file.
30865
30866         Tests for module 'ldexp'.
30867         * modules/ldexp-tests: New file.
30868         * tests/test-ldexp.c: New file.
30869
30870         Tests for module 'jn'.
30871         * modules/jn-tests: New file.
30872         * tests/test-jn.c: New file.
30873
30874         Tests for module 'j1'.
30875         * modules/j1-tests: New file.
30876         * tests/test-j1.c: New file.
30877
30878         Tests for module 'j0'.
30879         * modules/j0-tests: New file.
30880         * tests/test-j0.c: New file.
30881
30882         Tests for module 'hypot'.
30883         * modules/hypot-tests: New file.
30884         * tests/test-hypot.c: New file.
30885
30886         Tests for module 'fmod'.
30887         * modules/fmod-tests: New file.
30888         * tests/test-fmod.c: New file.
30889
30890         Tests for module 'fabs'.
30891         * modules/fabs-tests: New file.
30892         * tests/test-fabs.c: New file.
30893
30894         Tests for module 'exp'.
30895         * modules/exp-tests: New file.
30896         * tests/test-exp.c: New file.
30897
30898         Tests for module 'erfc'.
30899         * modules/erfc-tests: New file.
30900         * tests/test-erfc.c: New file.
30901
30902         Tests for module 'erf'.
30903         * modules/erf-tests: New file.
30904         * tests/test-erf.c: New file.
30905
30906         Tests for module 'cosh'.
30907         * modules/cosh-tests: New file.
30908         * tests/test-cosh.c: New file.
30909
30910         Tests for module 'cos'.
30911         * modules/cos-tests: New file.
30912         * tests/test-cos.c: New file.
30913
30914         Tests for module 'copysign'.
30915         * modules/copysign-tests: New file.
30916         * tests/test-copysign.c: New file.
30917
30918         Tests for module 'cbrt'.
30919         * modules/cbrt-tests: New file.
30920         * tests/test-cbrt.c: New file.
30921
30922         Tests for module 'atan2'.
30923         * modules/atan2-tests: New file.
30924         * tests/test-atan2.c: New file.
30925
30926         Tests for module 'atan'.
30927         * modules/atan-tests: New file.
30928         * tests/test-atan.c: New file.
30929
30930         Tests for module 'asin'.
30931         * modules/asin-tests: New file.
30932         * tests/test-asin.c: New file.
30933
30934         Tests for module 'acos'.
30935         * modules/acos-tests: New file.
30936         * tests/test-acos.c: New file.
30937
30938 2010-01-24  Bruno Haible  <bruno@clisp.org>
30939
30940         Fix tests for common <math.h> functions.
30941         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
30942         code snippet that references the function pointer, rather than merely
30943         calling the function. Substitute the FUNC_LIBM variable.
30944         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
30945         * modules/acos (configure.ac): Likewise.
30946         * modules/asin (configure.ac): Likewise.
30947         * modules/atan (configure.ac): Likewise.
30948         * modules/atan2 (configure.ac): Likewise.
30949         * modules/cbrt (configure.ac): Likewise.
30950         * modules/copysign (configure.ac): Likewise.
30951         * modules/cos (configure.ac): Likewise.
30952         * modules/cosh (configure.ac): Likewise.
30953         * modules/erf (configure.ac): Likewise.
30954         * modules/erfc (configure.ac): Likewise.
30955         * modules/exp (configure.ac): Likewise.
30956         * modules/fabs (configure.ac): Likewise.
30957         * modules/fmod (configure.ac): Likewise.
30958         * modules/hypot (configure.ac): Likewise.
30959         * modules/j0 (configure.ac): Likewise.
30960         * modules/j1 (configure.ac): Likewise.
30961         * modules/jn (configure.ac): Likewise.
30962         * modules/ldexp (configure.ac): Likewise.
30963         * modules/lgamma (configure.ac): Likewise.
30964         * modules/log (configure.ac): Likewise.
30965         * modules/log10 (configure.ac): Likewise.
30966         * modules/log1p (configure.ac): Likewise.
30967         * modules/logb (configure.ac): Likewise.
30968         * modules/modf (configure.ac): Likewise.
30969         * modules/nextafter (configure.ac): Likewise.
30970         * modules/pow (configure.ac): Likewise.
30971         * modules/remainder (configure.ac): Likewise.
30972         * modules/rint (configure.ac): Likewise.
30973         * modules/sin (configure.ac): Likewise.
30974         * modules/sinh (configure.ac): Likewise.
30975         * modules/tan (configure.ac): Likewise.
30976         * modules/tanh (configure.ac): Likewise.
30977         * modules/y0 (configure.ac): Likewise.
30978         * modules/y1 (configure.ac): Likewise.
30979         * modules/yn (configure.ac): Likewise.
30980
30981 2010-01-24  Bruno Haible  <bruno@clisp.org>
30982
30983         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30984         * tests/test-acosl.c (x): New variable.
30985         (main): Store argument in x and fetch it from x.
30986         * tests/test-asinl.c (x): New variable.
30987         (main): Store argument in x and fetch it from x.
30988         * tests/test-atanl.c (x): New variable.
30989         (main): Store argument in x and fetch it from x.
30990         * tests/test-cosl.c (x): New variable.
30991         (main): Store argument in x and fetch it from x.
30992         * tests/test-expl.c (x): New variable.
30993         (main): Store argument in x and fetch it from x.
30994         * tests/test-logl.c (x): New variable.
30995         (main): Store argument in x and fetch it from x.
30996         * tests/test-sinl.c (x): New variable.
30997         (main): Store argument in x and fetch it from x.
30998         * tests/test-sqrtl.c (x): New variable.
30999         (main): Store argument in x and fetch it from x.
31000         * tests/test-tanl.c (x): New variable.
31001         (main): Store argument in x and fetch it from x.
31002
31003 2010-01-24  Bruno Haible  <bruno@clisp.org>
31004
31005         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31006         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31007         assignments to the initial TESTS_ENVIRONMENT.
31008         * doc/gnulib.texi (Unit test modules): Document it.
31009         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31010         TESTS_ENVIRONMENT.
31011         * modules/btowc-tests (Makefile.am): Likewise.
31012         * modules/c-stack-tests (Makefile.am): Likewise.
31013         * modules/c-strcase-tests (Makefile.am): Likewise.
31014         * modules/copy-file-tests (Makefile.am): Likewise.
31015         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31016         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31017         * modules/mbrtowc-tests (Makefile.am): Likewise.
31018         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31019         * modules/mbscasestr-tests (Makefile.am): Likewise.
31020         * modules/mbschr-tests (Makefile.am): Likewise.
31021         * modules/mbscspn-tests (Makefile.am): Likewise.
31022         * modules/mbsinit-tests (Makefile.am): Likewise.
31023         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31024         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31025         * modules/mbspbrk-tests (Makefile.am): Likewise.
31026         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31027         * modules/mbsrchr-tests (Makefile.am): Likewise.
31028         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31029         * modules/mbsspn-tests (Makefile.am): Likewise.
31030         * modules/mbsstr-tests (Makefile.am): Likewise.
31031         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31032         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31033         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31034         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31035         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31036         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31037         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31038         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31039         * modules/wcrtomb-tests (Makefile.am): Likewise.
31040         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31041         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31042         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31043         assignments from TESTS_ENVIRONMENT.
31044         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31045         augmentation.
31046         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31047         * modules/atexit-tests (Makefile.am): Likewise.
31048         * modules/binary-io-tests (Makefile.am): Likewise.
31049         * modules/closein-tests (Makefile.am): Likewise.
31050         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31051         * modules/exclude-tests (Makefile.am): Likewise.
31052         * modules/fflush-tests (Makefile.am): Likewise.
31053         * modules/fpending-tests (Makefile.am): Likewise.
31054         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31055         * modules/freadahead-tests (Makefile.am): Likewise.
31056         * modules/freadptr-tests (Makefile.am): Likewise.
31057         * modules/freadseek-tests (Makefile.am): Likewise.
31058         * modules/fseek-tests (Makefile.am): Likewise.
31059         * modules/fseeko-tests (Makefile.am): Likewise.
31060         * modules/ftell-tests (Makefile.am): Likewise.
31061         * modules/ftello-tests (Makefile.am): Likewise.
31062         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31063         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31064         * modules/lseek-tests (Makefile.am): Likewise.
31065         * modules/parse-duration-tests (Makefile.am): Likewise.
31066         * modules/perror-tests (Makefile.am): Likewise.
31067         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31068         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31069         * modules/pipe-tests (Makefile.am): Likewise.
31070         * modules/pread-tests (Makefile.am): Likewise.
31071         * modules/printf-posix-tests (Makefile.am): Likewise.
31072         * modules/select-tests (Makefile.am): Likewise.
31073         * modules/sigpipe-tests (Makefile.am): Likewise.
31074         * modules/tsearch-tests (Makefile.am): Likewise.
31075         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31076         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31077         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31078         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31079         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31080         * modules/version-etc-tests (Makefile.am): Likewise.
31081         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31082         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31083         * modules/xalloc-die-tests (Makefile.am): Likewise.
31084         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31085         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31086         * modules/xstrtol-tests (Makefile.am): Likewise.
31087         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31088         * modules/yesno-tests (Makefile.am): Likewise.
31089         Suggested by Jim Meyering.
31090
31091 2010-01-24  Bruno Haible  <bruno@clisp.org>
31092
31093         More documentation.
31094         * doc/gnulib.texi (Writing modules): New chapter.
31095         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31096         the new chapter.
31097
31098 2010-01-24  Jim Meyering  <meyering@redhat.com>
31099
31100         maint.mk: do not prepend "./" after filtering
31101         * top/maint.mk (_prepend_srcdir_prefix): New variable
31102         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31103         "./" when $(srcdir) is ".".
31104
31105         define STREQ(a,b) consistently, removing useless parentheses
31106         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31107         since the only risk is that "a" or "b" contains an unparenthesized
31108         comma, but if either did that, STREQ would have 3 or more arguments.
31109         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31110         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31111         * lib/hash-triple.c (STREQ): Likewise.
31112         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31113         * lib/getugroups.c (STREQ): Likewise.
31114
31115 2010-01-23  Jim Meyering  <meyering@redhat.com>
31116
31117         maint.mk: fix syntax-check in a non-srcdir build directory
31118         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31119         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31120
31121 2010-01-22  Jim Meyering  <meyering@redhat.com>
31122
31123         userspec: add unit tests
31124         * tests/test-userspec.c: New file.
31125         * modules/userspec-tests: Likewise.
31126
31127 2010-01-21  Jim Meyering  <meyering@redhat.com>
31128
31129         maint.mk: handle source file names containing "." robustly
31130         * top/maint.mk (_dot_escaped_srcdir): Define.
31131         (VC_LIST): Use it in LHS of sed substitution.
31132
31133 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31134
31135         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31136         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31137         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31138         from a non-srcdir build.
31139
31140 2010-01-20  Eric Blake  <ebb9@byu.net>
31141
31142         warn-on-use: use instead of link-warning
31143         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31144         * modules/unistd (Depends-on, Makefile.am): Likewise.
31145         * modules/arpa_inet (Depends-on): Replace link-warning with
31146         warn-on-use.
31147         (Makefile.am): Update rules accordingly.
31148         * modules/ctype (Depends-on, Makefile.am): Likewise.
31149         * modules/dirent (Depends-on, Makefile.am): Likewise.
31150         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31151         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31152         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31153         * modules/locale (Depends-on, Makefile.am): Likewise.
31154         * modules/math (Depends-on, Makefile.am): Likewise.
31155         * modules/search (Depends-on, Makefile.am): Likewise.
31156         * modules/signal (Depends-on, Makefile.am): Likewise.
31157         * modules/spawn (Depends-on, Makefile.am): Likewise.
31158         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31159         * modules/string (Depends-on, Makefile.am): Likewise.
31160         * modules/strings (Depends-on, Makefile.am): Likewise.
31161         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31162         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31163         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31164         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31165         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31166         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31167         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31168         * modules/wchar (Depends-on, Makefile.am): Likewise.
31169         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31170         should be poisoned.
31171         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31172         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31173         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31174         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31175         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31176         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31177         * m4/math_h.m4 (gl_MATH_H): Likewise.
31178         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31179         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31180         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31181         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31182         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31183         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31184         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31185         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31186         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31187         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31188         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31189         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31190         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31191         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31192         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31193         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31194         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31195         GL_LINK_WARNING.
31196         * lib/ctype.in.h: Likewise.
31197         * lib/dirent.in.h: Likewise.
31198         * lib/fcntl.in.h: Likewise.
31199         * lib/inttypes.in.h: Likewise.
31200         * lib/langinfo.in.h: Likewise.
31201         * lib/locale.in.h: Likewise.
31202         * lib/math.in.h: Likewise.
31203         * lib/search.in.h: Likewise.
31204         * lib/signal.in.h: Likewise.
31205         * lib/spawn.in.h: Likewise.
31206         * lib/stdio.in.h: Likewise.
31207         * lib/stdlib.in.h: Likewise.
31208         * lib/string.in.h: Likewise.
31209         * lib/strings.in.h: Likewise.
31210         * lib/sys_file.in.h: Likewise.
31211         * lib/sys_ioctl.in.h: Likewise.
31212         * lib/sys_select.in.h: Likewise.
31213         * lib/sys_socket.in.h: Likewise.
31214         * lib/sys_stat.in.h: Likewise.
31215         * lib/sys_times.in.h: Likewise.
31216         * lib/sys_utsname.in.h: Likewise.
31217         * lib/unistd.in.h: Likewise.
31218         * lib/wchar.in.h: Likewise.
31219
31220 2010-01-20  Bruno Haible  <bruno@clisp.org>
31221
31222         Avoid duplicate -lm.
31223         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31224         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31225         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31226         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31227         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31228         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31229         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31230         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31231         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31232         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31233         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31234         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31235         Reported by Paolo Bonzini.
31236
31237 2010-01-19  Bruno Haible  <bruno@clisp.org>
31238
31239         langinfo, nl_langinfo: Relicense under LGPLv2+.
31240         * modules/langinfo (License): Change to LGPLv2+.
31241         * modules/nl_langinfo (License): Likewise.
31242         Patch by David Lutterkort <lutter@redhat.com>.
31243
31244 2010-01-19  Bruno Haible  <bruno@clisp.org>
31245
31246         Avoid compilation error with cc on OSF/1 5.1.
31247         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31248         statement, not before.
31249         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31250
31251 2010-01-18  Bruno Haible  <bruno@clisp.org>
31252
31253         Avoid a link error due to the __printf__ symbol.
31254         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31255         and 2.6.x.
31256         (__format__, __printf__): Remove definitions.
31257         * lib/argp-fmtstream.h: Likewise.
31258         * lib/argp.h: Likewise.
31259         * lib/error.h: Likewise.
31260         * lib/vasnprintf.h: Likewise.
31261         * lib/xprintf.h: Likewise.
31262         * lib/xvasprintf.h: Likewise.
31263         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31264
31265 2010-01-18  Bruno Haible  <bruno@clisp.org>
31266
31267         Tests for module 'tanl'.
31268         * modules/tanl-tests: New file.
31269         * tests/test-tanl.c: New file.
31270
31271         Tests for module 'sqrtl'.
31272         * modules/sqrtl-tests: New file.
31273         * tests/test-sqrtl.c: New file.
31274
31275         Tests for module 'sinl'.
31276         * modules/sinl-tests: New file.
31277         * tests/test-sinl.c: New file.
31278
31279         Tests for module 'logl'.
31280         * modules/logl-tests: New file.
31281         * tests/test-logl.c: New file.
31282
31283         Tests for module 'expl'.
31284         * modules/expl-tests: New file.
31285         * tests/test-expl.c: New file.
31286
31287         Tests for module 'cosl'.
31288         * modules/cosl-tests: New file.
31289         * tests/test-cosl.c: New file.
31290
31291         Tests for module 'atanl'.
31292         * modules/atanl-tests: New file.
31293         * tests/test-atanl.c: New file.
31294
31295         Tests for module 'asinl'.
31296         * modules/asinl-tests: New file.
31297         * tests/test-asinl.c: New file.
31298
31299         Tests for module 'acosl'.
31300         * modules/acosl-tests: New file.
31301         * tests/test-acosl.c: New file.
31302
31303         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31304         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31305         tanl): Use the standard gnulib idiom.
31306         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31307         * lib/sinl.c: Likewise.
31308         * lib/tanl.c: Don't include trigl.c.
31309         (kernel_tanl): Make static.
31310         * lib/sincosl.c: Include trigl.h first.
31311         * lib/trigl.c: Likewise.
31312         * m4/acosl.m4: New file.
31313         * m4/asinl.m4: New file.
31314         * m4/atanl.m4: New file.
31315         * m4/cosl.m4: New file.
31316         * m4/expl.m4: New file.
31317         * m4/logl.m4: New file.
31318         * m4/sinl.m4: New file.
31319         * m4/sqrtl.m4: New file.
31320         * m4/tanl.m4: New file.
31321         * m4/mathl.m4: Remove file.
31322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31323         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31324         Don't initialize GNULIB_MATHL.
31325         * modules/acosl: New file.
31326         * modules/asinl: New file.
31327         * modules/atanl: New file.
31328         * modules/cosl: New file.
31329         * modules/expl: New file.
31330         * modules/logl: New file.
31331         * modules/sinl: New file.
31332         * modules/sqrtl: New file.
31333         * modules/tanl: New file.
31334         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
31335         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
31336         substitute GNULIB_MATHL.
31337         * modules/mathl: Rewritten.
31338         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
31339         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
31340         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
31341         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
31342         * doc/posix-functions/expl.texi: Mention the 'expl' module.
31343         * doc/posix-functions/logl.texi: Mention the 'logl' module.
31344         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
31345         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
31346         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
31347
31348 2010-01-18  Bruno Haible  <bruno@clisp.org>
31349
31350         sqrt: Make gl_FUNC_SQRT requirable.
31351         * m4/sqrt.m4: New file.
31352         * modules/sqrt (Files): Add it.
31353         (configure.ac): Invoke gl_FUNC_SQRT.
31354
31355 2010-01-18  Bruno Haible  <bruno@clisp.org>
31356
31357         New modules for common <math.h> functions.
31358         * m4/mathfunc.m4: New file.
31359         * modules/acos: New file.
31360         * modules/asin: New file.
31361         * modules/atan: New file.
31362         * modules/atan2: New file.
31363         * modules/cbrt: New file.
31364         * modules/copysign: New file.
31365         * modules/cos: New file.
31366         * modules/cosh: New file.
31367         * modules/erf: New file.
31368         * modules/erfc: New file.
31369         * modules/exp: New file.
31370         * modules/fabs: New file.
31371         * modules/fmod: New file.
31372         * modules/hypot: New file.
31373         * modules/j0: New file.
31374         * modules/j1: New file.
31375         * modules/jn: New file.
31376         * modules/ldexp: New file.
31377         * modules/lgamma: New file.
31378         * modules/log: New file.
31379         * modules/log10: New file.
31380         * modules/log1p: New file.
31381         * modules/logb: New file.
31382         * modules/modf: New file.
31383         * modules/nextafter: New file.
31384         * modules/pow: New file.
31385         * modules/remainder: New file.
31386         * modules/rint: New file.
31387         * modules/sin: New file.
31388         * modules/sinh: New file.
31389         * modules/sqrt: New file.
31390         * modules/tan: New file.
31391         * modules/tanh: New file.
31392         * modules/y0: New file.
31393         * modules/y1: New file.
31394         * modules/yn: New file.
31395         * doc/posix-functions/acos.texi: Mention the 'acos' module.
31396         * doc/posix-functions/asin.texi: Mention the 'asin' module.
31397         * doc/posix-functions/atan.texi: Mention the 'atan' module.
31398         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
31399         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
31400         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
31401         * doc/posix-functions/cos.texi: Mention the 'cos' module.
31402         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
31403         * doc/posix-functions/erf.texi: Mention the 'erf' module.
31404         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
31405         * doc/posix-functions/exp.texi: Mention the 'exp' module.
31406         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
31407         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
31408         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
31409         * doc/posix-functions/j0.texi: Mention the 'j0' module.
31410         * doc/posix-functions/j1.texi: Mention the 'j1' module.
31411         * doc/posix-functions/jn.texi: Mention the 'jn' module.
31412         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
31413         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
31414         * doc/posix-functions/log.texi: Mention the 'log' module.
31415         * doc/posix-functions/log10.texi: Mention the 'log10' module.
31416         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
31417         * doc/posix-functions/logb.texi: Mention the 'logb' module.
31418         * doc/posix-functions/modf.texi: Mention the 'modf' module.
31419         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
31420         * doc/posix-functions/pow.texi: Mention the 'pow' module.
31421         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
31422         * doc/posix-functions/rint.texi: Mention the 'rint' module.
31423         * doc/posix-functions/sin.texi: Mention the 'sin' module.
31424         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
31425         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
31426         * doc/posix-functions/tan.texi: Mention the 'tan' module.
31427         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
31428         * doc/posix-functions/y0.texi: Mention the 'y0' module.
31429         * doc/posix-functions/y1.texi: Mention the 'y1' module.
31430         * doc/posix-functions/yn.texi: Mention the 'yn' module.
31431
31432 2010-01-18  Jim Meyering  <meyering@redhat.com>
31433
31434         ignore-value: relax license to LGPLv2+
31435         * modules/ignore-value (License): Relax to LGPLv2+.
31436
31437         getdate: don't leak when TZ contains two or more '"'s
31438         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
31439         double quote in TZ after the first one.
31440
31441         readtokens: do not leak internal token_lengths buffer
31442         * lib/readtokens.c (readtokens): Free the local, lengths,
31443         when the supplied "token_lengths" parameter is NULL.
31444
31445 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31446
31447         Fix a couple of missing LIBTHREAD link failures on AIX.
31448         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
31449         $(LIBTHREAD).
31450         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
31451
31452         Link test-poll against INET_PTON_LIB.
31453         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
31454         for inet_pton on Solaris 10.
31455
31456 2010-01-17  Bruno Haible  <bruno@clisp.org>
31457
31458         unistdio/*-sprintf: Fix typo in module description.
31459         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
31460         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
31461         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
31462         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
31463         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
31464         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
31465         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
31466         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31467
31468 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31469
31470         gnulib-tool: fix filelist for AIX, HP-UX ksh.
31471         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
31472         variables in shell case patterns, for AIX and HP-UX ksh.
31473
31474         Split large sed scripts, for HP-UX sed.
31475         * modules/stdio: Split sed scripts around 50 sed commands,
31476         to avoid HP-UX limit of 99 commands, in the near future.
31477         * modules/string: Likewise.
31478         * modules/unistd: Likewise.
31479
31480         gnulib-tool: avoid writing in the current directory.
31481         * gnulib-tool (func_emit_lib_Makefile_am)
31482         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
31483         not in the current directory, so concurrent gnulib-tool
31484         instances do not interfere.
31485
31486 2010-01-16  Jim Meyering  <meyering@redhat.com>
31487
31488         doc: update users.txt
31489         * users.txt: Add grep.
31490         (diffutils, gzip): Update URLs.
31491
31492 2010-01-12  Bruno Haible  <bruno@clisp.org>
31493
31494         posix_spawn: Avoid test failure on Cygwin.
31495         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
31496         characters.
31497         Reported by Simon Josefsson.
31498
31499 2010-01-12  Bruno Haible  <bruno@clisp.org>
31500
31501         * tests/test-cond.c (main): When skipping the test, show the reason.
31502
31503 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31504
31505         * lib/striconv.c (str_cd_iconv): Avoid if before free.
31506
31507 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31508
31509         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
31510         VC_LIST_ALWAYS_EXCLUDE_REGEX.
31511
31512 2010-01-12  Eric Blake  <ebb9@byu.net>
31513
31514         build: guarantee AS_VAR_IF
31515         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
31516         (gl_AS_VAR_IF): Move...
31517         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
31518         Reported by Simon Josefsson.
31519
31520 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31521
31522         * lib/stdio.in.h: Fix typo.
31523
31524 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31525
31526         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
31527         libgpg-error.
31528
31529 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31530
31531         * tests/test-xalloc-die.sh: Use $EXEEXT.
31532
31533 2010-01-12  Simon Josefsson  <simon@josefsson.org>
31534             Bruno Haible  <bruno@clisp.org>
31535
31536         getlogin, getlogin_r: Avoid test failure.
31537         * tests/test-getlogin.c: Include <stdio.h>.
31538         (main): Skip the test when the function fails because stdin is not a
31539         tty.
31540         * tests/test-getlogin_r.c: Include <stdio.h>.
31541         (main): Skip the test when the function fails because stdin is not a
31542         tty.
31543
31544 2010-01-11  Eric Blake  <ebb9@byu.net>
31545
31546         tests: avoid more large file warnings
31547         * tests/test-fflush.c: Avoid warning about ftell use.
31548         * tests/test-fseek.c: Avoid warning about fseek use.
31549
31550 2010-01-10  Bruno Haible  <bruno@clisp.org>
31551
31552         nproc: Work better on Linux when /proc and /sys are not mounted.
31553         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
31554         as lower bound when, on glibc/Linux systems,
31555         sysconf (_SC_NPROCESSORS_CONF) returns 1.
31556         Suggested by Pádraig Brady <P@draigbrady.com>.
31557         Reported by Dmitry V. Levin <ldv@altlinux.org>.
31558
31559         nproc: Refactor.
31560         * lib/nproc.c (num_processors_via_affinity_mask): New function,
31561         extracted from num_processors.
31562         (num_processors): Call it.
31563
31564 2010-01-11  Jim Meyering  <meyering@redhat.com>
31565
31566         utimecmp: avoid new warning from upcoming gcc-4.5.0
31567         * lib/utimecmp.c (BILLION): Define using #define rather than an
31568         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
31569
31570 2010-01-11  Eric Blake  <ebb9@byu.net>
31571
31572         math: add portability warnings for classification macros
31573         * modules/math (Depends-on): Add warn-on-use.
31574         (Makefile.am): Provide new substitutions.
31575         * m4/math_h.m4 (gl_MATH_H): Require inline.
31576         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
31577         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
31578         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
31579         implement warnings.
31580
31581         unistd: warn on use of environ without module
31582         * modules/unistd (Depends-on): Add warn-on-use.
31583         (Makefile.am): Provide new substitutions.
31584         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
31585         * lib/unistd.in.h (environ): Wrap with a warning helper function.
31586
31587         stdio: warn on suspicious uses
31588         * modules/stdio (Depends-on): Add warn-on-use.
31589         (Makefile.am): Provide new substitutions.
31590         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
31591         fseeko.
31592         * lib/stdio.in.h (gets): Always warn on use.
31593         (fseek, ftell): Adjust when warnings are issued, and honor
31594         _GL_NO_LARGE_FILES as a way to silence the warning.
31595         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
31596         any warning about large file offsets.
31597         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
31598         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
31599         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
31600         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
31601         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
31602         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
31603         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
31604         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
31605
31606         warn-on-use: new module
31607         * modules/warn-on-use: New file.
31608         * build-aux/warn-on-use.h: Likewise.
31609         * m4/warn-on-use.m4: Likewise.
31610         * MODULES.html.sh (Support for building): Mention it.
31611
31612 2010-01-10  Bruno Haible  <bruno@clisp.org>
31613
31614         Tests for module 'unistr/u32-strdup'.
31615         * modules/unistr/u32-strdup-tests: New file.
31616         * tests/unistr/test-u32-strdup.c: New file.
31617
31618         Tests for module 'unistr/u16-strdup'.
31619         * modules/unistr/u16-strdup-tests: New file.
31620         * tests/unistr/test-u16-strdup.c: New file.
31621
31622         Tests for module 'unistr/u8-strdup'.
31623         * modules/unistr/u8-strdup-tests: New file.
31624         * tests/unistr/test-u8-strdup.c: New file.
31625         * tests/unistr/test-strdup.h: New file.
31626
31627         Tests for module 'unistr/u32-strncmp'.
31628         * modules/unistr/u32-strncmp-tests: New file.
31629         * tests/unistr/test-u32-strncmp.c: New file.
31630
31631         Tests for module 'unistr/u16-strncmp'.
31632         * modules/unistr/u16-strncmp-tests: New file.
31633         * tests/unistr/test-u16-strncmp.c: New file.
31634
31635         Tests for module 'unistr/u8-strncmp'.
31636         * modules/unistr/u8-strncmp-tests: New file.
31637         * tests/unistr/test-u8-strncmp.c: New file.
31638         * tests/unistr/test-strncmp.h: New file.
31639
31640         Tests for module 'unistr/u32-strcoll'.
31641         * modules/unistr/u32-strcoll-tests: New file.
31642         * tests/unistr/test-u32-strcoll.c: New file.
31643
31644         Tests for module 'unistr/u16-strcoll'.
31645         * modules/unistr/u16-strcoll-tests: New file.
31646         * tests/unistr/test-u16-strcoll.c: New file.
31647
31648         Tests for module 'unistr/u8-strcoll'.
31649         * modules/unistr/u8-strcoll-tests: New file.
31650         * tests/unistr/test-u8-strcoll.c: New file.
31651
31652         Tests for module 'unistr/u32-strcmp'.
31653         * modules/unistr/u32-strcmp-tests: New file.
31654         * tests/unistr/test-u32-strcmp.c: New file.
31655         * tests/unistr/test-u32-strcmp.h: New file.
31656
31657         Tests for module 'unistr/u16-strcmp'.
31658         * modules/unistr/u16-strcmp-tests: New file.
31659         * tests/unistr/test-u16-strcmp.c: New file.
31660         * tests/unistr/test-u16-strcmp.h: New file.
31661
31662         Tests for module 'unistr/u8-strcmp'.
31663         * modules/unistr/u8-strcmp-tests: New file.
31664         * tests/unistr/test-u8-strcmp.c: New file.
31665         * tests/unistr/test-u8-strcmp.h: New file.
31666         * tests/unistr/test-strcmp.h: New file.
31667
31668         Tests for module 'unistr/u32-strncat'.
31669         * modules/unistr/u32-strncat-tests: New file.
31670         * tests/unistr/test-u32-strncat.c: New file.
31671
31672         Tests for module 'unistr/u16-strncat'.
31673         * modules/unistr/u16-strncat-tests: New file.
31674         * tests/unistr/test-u16-strncat.c: New file.
31675
31676         Tests for module 'unistr/u8-strncat'.
31677         * modules/unistr/u8-strncat-tests: New file.
31678         * tests/unistr/test-u8-strncat.c: New file.
31679         * tests/unistr/test-strncat.h: New file.
31680
31681         Tests for module 'unistr/u32-strcat'.
31682         * modules/unistr/u32-strcat-tests: New file.
31683         * tests/unistr/test-u32-strcat.c: New file.
31684
31685         Tests for module 'unistr/u16-strcat'.
31686         * modules/unistr/u16-strcat-tests: New file.
31687         * tests/unistr/test-u16-strcat.c: New file.
31688
31689         Tests for module 'unistr/u8-strcat'.
31690         * modules/unistr/u8-strcat-tests: New file.
31691         * tests/unistr/test-u8-strcat.c: New file.
31692         * tests/unistr/test-strcat.h: New file.
31693
31694         Tests for module 'unistr/u32-stpncpy'.
31695         * modules/unistr/u32-stpncpy-tests: New file.
31696         * tests/unistr/test-u32-stpncpy.c: New file.
31697
31698         Tests for module 'unistr/u16-stpncpy'.
31699         * modules/unistr/u16-stpncpy-tests: New file.
31700         * tests/unistr/test-u16-stpncpy.c: New file.
31701
31702         Tests for module 'unistr/u8-stpncpy'.
31703         * modules/unistr/u8-stpncpy-tests: New file.
31704         * tests/unistr/test-u8-stpncpy.c: New file.
31705         * tests/unistr/test-stpncpy.h: New file.
31706
31707         Tests for module 'unistr/u32-strncpy'.
31708         * modules/unistr/u32-strncpy-tests: New file.
31709         * tests/unistr/test-u32-strncpy.c: New file.
31710
31711         Tests for module 'unistr/u16-strncpy'.
31712         * modules/unistr/u16-strncpy-tests: New file.
31713         * tests/unistr/test-u16-strncpy.c: New file.
31714
31715         Tests for module 'unistr/u8-strncpy'.
31716         * modules/unistr/u8-strncpy-tests: New file.
31717         * tests/unistr/test-u8-strncpy.c: New file.
31718         * tests/unistr/test-strncpy.h: New file.
31719
31720         Tests for module 'unistr/u32-stpcpy'.
31721         * modules/unistr/u32-stpcpy-tests: New file.
31722         * tests/unistr/test-u32-stpcpy.c: New file.
31723
31724         Tests for module 'unistr/u16-stpcpy'.
31725         * modules/unistr/u16-stpcpy-tests: New file.
31726         * tests/unistr/test-u16-stpcpy.c: New file.
31727
31728         Tests for module 'unistr/u8-stpcpy'.
31729         * modules/unistr/u8-stpcpy-tests: New file.
31730         * tests/unistr/test-u8-stpcpy.c: New file.
31731         * tests/unistr/test-stpcpy.h: New file.
31732
31733         Tests for module 'unistr/u32-strcpy'.
31734         * modules/unistr/u32-strcpy-tests: New file.
31735         * tests/unistr/test-u32-strcpy.c: New file.
31736
31737         Tests for module 'unistr/u16-strcpy'.
31738         * modules/unistr/u16-strcpy-tests: New file.
31739         * tests/unistr/test-u16-strcpy.c: New file.
31740
31741         Tests for module 'unistr/u8-strcpy'.
31742         * modules/unistr/u8-strcpy-tests: New file.
31743         * tests/unistr/test-u8-strcpy.c: New file.
31744         * tests/unistr/test-strcpy.h: New file.
31745
31746         Tests for module 'unistr/u32-strnlen'.
31747         * modules/unistr/u32-strnlen-tests: New file.
31748         * tests/unistr/test-u32-strnlen.c: New file.
31749
31750         Tests for module 'unistr/u16-strnlen'.
31751         * modules/unistr/u16-strnlen-tests: New file.
31752         * tests/unistr/test-u16-strnlen.c: New file.
31753
31754         Tests for module 'unistr/u8-strnlen'.
31755         * modules/unistr/u8-strnlen-tests: New file.
31756         * tests/unistr/test-u8-strnlen.c: New file.
31757         * tests/unistr/test-strnlen.h: New file.
31758
31759         Tests for module 'unistr/u32-strlen'.
31760         * modules/unistr/u32-strlen-tests: New file.
31761         * tests/unistr/test-u32-strlen.c: New file.
31762
31763         Tests for module 'unistr/u16-strlen'.
31764         * modules/unistr/u16-strlen-tests: New file.
31765         * tests/unistr/test-u16-strlen.c: New file.
31766
31767         Tests for module 'unistr/u8-strlen'.
31768         * modules/unistr/u8-strlen-tests: New file.
31769         * tests/unistr/test-u8-strlen.c: New file.
31770
31771         Tests for module 'unistr/u32-prev'.
31772         * modules/unistr/u32-prev-tests: New file.
31773         * tests/unistr/test-u32-prev.c: New file.
31774
31775         Tests for module 'unistr/u16-prev'.
31776         * modules/unistr/u16-prev-tests: New file.
31777         * tests/unistr/test-u16-prev.c: New file.
31778
31779         Tests for module 'unistr/u8-prev'.
31780         * modules/unistr/u8-prev-tests: New file.
31781         * tests/unistr/test-u8-prev.c: New file.
31782
31783         Tests for module 'unistr/u32-next'.
31784         * modules/unistr/u32-next-tests: New file.
31785         * tests/unistr/test-u32-next.c: New file.
31786
31787         Tests for module 'unistr/u16-next'.
31788         * modules/unistr/u16-next-tests: New file.
31789         * tests/unistr/test-u16-next.c: New file.
31790
31791         Tests for module 'unistr/u8-next'.
31792         * modules/unistr/u8-next-tests: New file.
31793         * tests/unistr/test-u8-next.c: New file.
31794
31795         Tests for module 'unistr/u32-strmbtouc'.
31796         * modules/unistr/u32-strmbtouc-tests: New file.
31797         * tests/unistr/test-u32-strmbtouc.c: New file.
31798
31799         Tests for module 'unistr/u16-strmbtouc'.
31800         * modules/unistr/u16-strmbtouc-tests: New file.
31801         * tests/unistr/test-u16-strmbtouc.c: New file.
31802
31803         Tests for module 'unistr/u8-strmbtouc'.
31804         * modules/unistr/u8-strmbtouc-tests: New file.
31805         * tests/unistr/test-u8-strmbtouc.c: New file.
31806
31807         Tests for module 'unistr/u32-strmblen'.
31808         * modules/unistr/u32-strmblen-tests: New file.
31809         * tests/unistr/test-u32-strmblen.c: New file.
31810
31811         Tests for module 'unistr/u16-strmblen'.
31812         * modules/unistr/u16-strmblen-tests: New file.
31813         * tests/unistr/test-u16-strmblen.c: New file.
31814
31815         Tests for module 'unistr/u8-strmblen'.
31816         * modules/unistr/u8-strmblen-tests: New file.
31817         * tests/unistr/test-u8-strmblen.c: New file.
31818
31819         Tests for module 'unistr/u32-cpy-alloc'.
31820         * modules/unistr/u32-cpy-alloc-tests: New file.
31821         * tests/unistr/test-u32-cpy-alloc.c: New file.
31822
31823         Tests for module 'unistr/u16-cpy-alloc'.
31824         * modules/unistr/u16-cpy-alloc-tests: New file.
31825         * tests/unistr/test-u16-cpy-alloc.c: New file.
31826
31827         Tests for module 'unistr/u8-cpy-alloc'.
31828         * modules/unistr/u8-cpy-alloc-tests: New file.
31829         * tests/unistr/test-u8-cpy-alloc.c: New file.
31830         * tests/unistr/test-cpy-alloc.h: New file.
31831
31832         Tests for module 'unistr/u32-mbsnlen'.
31833         * modules/unistr/u32-mbsnlen-tests: New file.
31834         * tests/unistr/test-u32-mbsnlen.c: New file.
31835
31836         Tests for module 'unistr/u16-mbsnlen'.
31837         * modules/unistr/u16-mbsnlen-tests: New file.
31838         * tests/unistr/test-u16-mbsnlen.c: New file.
31839
31840         Tests for module 'unistr/u8-mbsnlen'.
31841         * modules/unistr/u8-mbsnlen-tests: New file.
31842         * tests/unistr/test-u8-mbsnlen.c: New file.
31843
31844         Tests for module 'unistr/u32-chr'.
31845         * modules/unistr/u32-chr-tests: New file.
31846         * tests/unistr/test-u32-chr.c: New file.
31847
31848         Tests for module 'unistr/u16-chr'.
31849         * modules/unistr/u16-chr-tests: New file.
31850         * tests/unistr/test-u16-chr.c: New file.
31851
31852         Tests for module 'unistr/u8-chr'.
31853         * modules/unistr/u8-chr-tests: New file.
31854         * tests/unistr/test-u8-chr.c: New file.
31855         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
31856
31857         Tests for module 'unistr/u32-cmp2'.
31858         * modules/unistr/u32-cmp2-tests: New file.
31859         * tests/unistr/test-u32-cmp2.c: New file.
31860
31861         Tests for module 'unistr/u16-cmp2'.
31862         * modules/unistr/u16-cmp2-tests: New file.
31863         * tests/unistr/test-u16-cmp2.c: New file.
31864
31865         Tests for module 'unistr/u8-cmp2'.
31866         * modules/unistr/u8-cmp2-tests: New file.
31867         * tests/unistr/test-u8-cmp2.c: New file.
31868         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
31869
31870         Tests for module 'unistr/u32-cmp'.
31871         * modules/unistr/u32-cmp-tests: New file.
31872         * tests/unistr/test-u32-cmp.c: New file.
31873
31874         Tests for module 'unistr/u16-cmp'.
31875         * modules/unistr/u16-cmp-tests: New file.
31876         * tests/unistr/test-u16-cmp.c: New file.
31877
31878         Tests for module 'unistr/u8-cmp'.
31879         * modules/unistr/u8-cmp-tests: New file.
31880         * tests/unistr/test-u8-cmp.c: New file.
31881         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
31882
31883         Tests for module 'unistr/u32-set'.
31884         * modules/unistr/u32-set-tests: New file.
31885         * tests/unistr/test-u32-set.c: New file.
31886
31887         Tests for module 'unistr/u16-set'.
31888         * modules/unistr/u16-set-tests: New file.
31889         * tests/unistr/test-u16-set.c: New file.
31890
31891         Tests for module 'unistr/u8-set'.
31892         * modules/unistr/u8-set-tests: New file.
31893         * tests/unistr/test-u8-set.c: New file.
31894         * tests/unistr/test-set.h: New file.
31895
31896         Tests for module 'unistr/u32-move'.
31897         * modules/unistr/u32-move-tests: New file.
31898         * tests/unistr/test-u32-move.c: New file.
31899
31900         Tests for module 'unistr/u16-move'.
31901         * modules/unistr/u16-move-tests: New file.
31902         * tests/unistr/test-u16-move.c: New file.
31903
31904         Tests for module 'unistr/u8-move'.
31905         * modules/unistr/u8-move-tests: New file.
31906         * tests/unistr/test-u8-move.c: New file.
31907         * tests/unistr/test-move.h: New file.
31908
31909         Tests for module 'unistr/u32-cpy'.
31910         * modules/unistr/u32-cpy-tests: New file.
31911         * tests/unistr/test-u32-cpy.c: New file.
31912
31913         Tests for module 'unistr/u16-cpy'.
31914         * modules/unistr/u16-cpy-tests: New file.
31915         * tests/unistr/test-u16-cpy.c: New file.
31916
31917         Tests for module 'unistr/u8-cpy'.
31918         * modules/unistr/u8-cpy-tests: New file.
31919         * tests/unistr/test-u8-cpy.c: New file.
31920         * tests/unistr/test-cpy.h: New file.
31921
31922 2010-01-09  Bruno Haible  <bruno@clisp.org>
31923
31924         Tests for module 'unistr/u32-uctomb'.
31925         * modules/unistr/u32-uctomb-tests: New file.
31926         * tests/unistr/test-u32-uctomb.c: New file.
31927
31928         Tests for module 'unistr/u16-uctomb'.
31929         * modules/unistr/u16-uctomb-tests: New file.
31930         * tests/unistr/test-u16-uctomb.c: New file.
31931
31932         Tests for module 'unistr/u8-uctomb'.
31933         * modules/unistr/u8-uctomb-tests: New file.
31934         * tests/unistr/test-u8-uctomb.c: New file.
31935
31936         Tests for module 'unistr/u32-mbtoucr'.
31937         * modules/unistr/u32-mbtoucr-tests: New file.
31938         * tests/unistr/test-u32-mbtoucr.c: New file.
31939
31940         Tests for module 'unistr/u16-mbtoucr'.
31941         * modules/unistr/u16-mbtoucr-tests: New file.
31942         * tests/unistr/test-u16-mbtoucr.c: New file.
31943
31944         Tests for module 'unistr/u8-mbtoucr'.
31945         * modules/unistr/u8-mbtoucr-tests: New file.
31946         * tests/unistr/test-u8-mbtoucr.c: New file.
31947
31948         Tests for module 'unistr/u32-mbtouc'.
31949         * modules/unistr/u32-mbtouc-tests: New file.
31950         * tests/unistr/test-u32-mbtouc.c: New file.
31951
31952         Tests for module 'unistr/u16-mbtouc'.
31953         * modules/unistr/u16-mbtouc-tests: New file.
31954         * tests/unistr/test-u16-mbtouc.c: New file.
31955
31956         Tests for module 'unistr/u8-mbtouc'.
31957         * modules/unistr/u8-mbtouc-tests: New file.
31958         * tests/unistr/test-u8-mbtouc.c: New file.
31959
31960         Tests for module 'unistr/u32-mbtouc-unsafe'.
31961         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
31962         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
31963         * tests/unistr/test-u32-mbtouc.h: New file.
31964
31965         Tests for module 'unistr/u16-mbtouc-unsafe'.
31966         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31967         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31968         * tests/unistr/test-u16-mbtouc.h: New file.
31969
31970         Tests for module 'unistr/u8-mbtouc-unsafe'.
31971         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31972         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31973         * tests/unistr/test-u8-mbtouc.h: New file.
31974
31975         Tests for module 'unistr/u32-mblen'.
31976         * modules/unistr/u32-mblen-tests: New file.
31977         * tests/unistr/test-u32-mblen.c: New file.
31978
31979         Tests for module 'unistr/u16-mblen'.
31980         * modules/unistr/u16-mblen-tests: New file.
31981         * tests/unistr/test-u16-mblen.c: New file.
31982
31983         Tests for module 'unistr/u8-mblen'.
31984         * modules/unistr/u8-mblen-tests: New file.
31985         * tests/unistr/test-u8-mblen.c: New file.
31986
31987         Tests for module 'unistr/u32-to-u16'.
31988         * modules/unistr/u32-to-u16-tests: New file.
31989         * tests/unistr/test-u32-to-u16.c: New file.
31990
31991         Tests for module 'unistr/u32-to-u8'.
31992         * modules/unistr/u32-to-u8-tests: New file.
31993         * tests/unistr/test-u32-to-u8.c: New file.
31994
31995         Tests for module 'unistr/u16-to-u32'.
31996         * modules/unistr/u16-to-u32-tests: New file.
31997         * tests/unistr/test-u16-to-u32.c: New file.
31998
31999         Tests for module 'unistr/u16-to-u8'.
32000         * modules/unistr/u16-to-u8-tests: New file.
32001         * tests/unistr/test-u16-to-u8.c: New file.
32002
32003         Tests for module 'unistr/u8-to-u32'.
32004         * modules/unistr/u8-to-u32-tests: New file.
32005         * tests/unistr/test-u8-to-u32.c: New file.
32006
32007         Tests for module 'unistr/u8-to-u16'.
32008         * modules/unistr/u8-to-u16-tests: New file.
32009         * tests/unistr/test-u8-to-u16.c: New file.
32010
32011         Tests for module 'unistr/u32-check'.
32012         * modules/unistr/u32-check-tests: New file.
32013         * tests/unistr/test-u32-check.c: New file.
32014
32015         Tests for module 'unistr/u16-check'.
32016         * modules/unistr/u16-check-tests: New file.
32017         * tests/unistr/test-u16-check.c: New file.
32018
32019         Tests for module 'unistr/u8-check'.
32020         * modules/unistr/u8-check-tests: New file.
32021         * tests/unistr/test-u8-check.c: New file.
32022
32023         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32024         (category_equals): New function.
32025         (main): Add more tests.
32026         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32027
32028         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32029
32030 2010-01-10  Bruno Haible  <bruno@clisp.org>
32031
32032         unistr/u*-strcoll: Try harder to distinguish different strings.
32033         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32034         compare s1 and s2 to see if they are different.
32035
32036 2010-01-10  Bruno Haible  <bruno@clisp.org>
32037
32038         unistr/u*-stpncpy: Fix the return value.
32039         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32040         description of the return value consistent with stpncpy in glibc.
32041         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32042         written non-NUL unit.
32043
32044 2010-01-10  Bruno Haible  <bruno@clisp.org>
32045
32046         unistr/u*-next: Add missing dependencies.
32047         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32048         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32049         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32050
32051 2010-01-10  Bruno Haible  <bruno@clisp.org>
32052
32053         unistr/u8-mbsnlen: Fix return value for incomplete character.
32054         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32055         u8_mblen.
32056         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32057         Remove unistr/u8-mblen.
32058         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32059         u16_mblen.
32060         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32061         Remove unistr/u16-mblen.
32062
32063 2010-01-10  Bruno Haible  <bruno@clisp.org>
32064
32065         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32066         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32067         Reported by Brian Gough <bjg@gnu.org> and
32068         Chris Clayton <chris2553@googlemail.com> via
32069         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32070
32071 2010-01-09  Bruno Haible  <bruno@clisp.org>
32072
32073         unistr/u16-to-u32: Reject invalid input.
32074         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32075         u16_mbtouc.
32076         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32077         Remove unistr/u16-mbtouc.
32078
32079         unistr/u16-to-u8: Reject invalid input.
32080         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32081         u16_mbtouc.
32082         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32083         Remove unistr/u16-mbtouc.
32084
32085         unistr/u8-to-u32: Reject invalid input.
32086         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32087         u8_mbtouc.
32088         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32089         Remove unistr/u8-mbtouc.
32090
32091         unistr/u8-to-u16: Reject invalid input.
32092         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32093         u8_mbtouc.
32094         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32095         Remove unistr/u8-mbtouc.
32096
32097 2010-01-09  Bruno Haible  <bruno@clisp.org>
32098
32099         Tests for module 'getlogin'.
32100         * modules/getlogin-tests: New file.
32101         * tests/test-getlogin.c: New file.
32102
32103         New module 'getlogin'.
32104         * lib/unistd.in.h (getlogin): New declaration.
32105         * lib/getlogin.c: New file.
32106         * m4/getlogin.m4: New file.
32107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32108         HAVE_GETLOGIN.
32109         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32110         HAVE_GETLOGIN.
32111         * modules/getlogin: New file.
32112         * doc/posix-functions/getlogin.texi: Mention the new module.
32113         Reported by John W. Eaton <jwe@gnu.org>.
32114
32115 2010-01-09  Bruno Haible  <bruno@clisp.org>
32116
32117         getlogin_r: Support for native Windows.
32118         * lib/getlogin_r.c: Include <windows.h>
32119         (getlogin_r): Implement for native Windows.
32120         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32121         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32122         via John W. Eaton <jwe@gnu.org>.
32123
32124 2010-01-09  Bruno Haible  <bruno@clisp.org>
32125
32126         getlogin_r: Small fixes.
32127         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32128         succeeds.
32129         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32130         before testing whether getlogin_r is declared. No need to set
32131         HAVE_DECL_GETLOGIN_R to 1.
32132         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32133
32134 2010-01-09  Bruno Haible  <bruno@clisp.org>
32135
32136         * lib/unistd.in.h (getlogin_r): Add comment.
32137
32138 2010-01-09  Bruno Haible  <bruno@clisp.org>
32139
32140         Tests for module 'getlogin_r'.
32141         * modules/getlogin_r-tests: New file.
32142         * tests/test-getlogin_r.c: New file.
32143
32144 2010-01-09  Jim Meyering  <meyering@redhat.com>
32145
32146         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32147         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32148         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32149
32150 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32151
32152         * lib/dup2.c (rpl_dup2): Improve comment.
32153
32154 2010-01-08  Eric Blake  <ebb9@byu.net>
32155
32156         maint.mk: allow packages to add makefile @@ exceptions
32157         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32158         (sc_makefile_check): Rename...
32159         (sc_makefile_at_at_check): ...to this, and use hook.
32160
32161         dup2: work around mingw bug
32162         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32163         Reported by Simon Josefsson.
32164
32165 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32166
32167         glob: Fix C++ compilation.
32168         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32169         C++.
32170
32171 2010-01-07  Bruno Haible  <bruno@clisp.org>
32172
32173         Fix indentation of wctype.in.h, broken since 2007-01-06.
32174         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32175
32176 2010-01-07  Bruno Haible  <bruno@clisp.org>
32177
32178         mbslen: Avoid collision with system function.
32179         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32180         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32181         * m4/mbslen.m4: New file.
32182         * modules/mbslen (Files): Add it.
32183         (configure.ac): Invoke gl_MBSLEN.
32184         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32185         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32186         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32187         via Ian Beckwith <ianb@erislabs.net>.
32188
32189 2010-01-07  Bruno Haible  <bruno@clisp.org>
32190
32191         dirent: Document the last fix.
32192         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32193
32194 2010-01-07  Bruno Haible  <bruno@clisp.org>
32195
32196         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32197         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32198         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32199         va_list are defined.
32200         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32201         Reported by Eric Blake.
32202
32203 2010-01-07  Bruno Haible  <bruno@clisp.org>
32204
32205         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32206         * modules/xlist (Depends-on): Add 'list',
32207         * modules/xoset (Depends-on): Add 'oset'.
32208         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32209
32210 2010-01-07  Bruno Haible  <bruno@clisp.org>
32211
32212         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32213         * doc/posix-functions/strncasecmp.texi: Likewise.
32214
32215 2010-01-07  Bruno Haible  <bruno@clisp.org>
32216
32217         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32218
32219 2010-01-07  John W. Eaton  <jwe@octave.org>
32220
32221         wctype: allow C++ use
32222         * lib/wctype.in.h: Add extern "C" block for C++.
32223
32224 2010-01-06  Eric Blake  <ebb9@byu.net>
32225
32226         maint.mk: detect incorrect GFDL usage
32227         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32228
32229 2010-01-06  Jim Meyering  <meyering@redhat.com>
32230         and Eric Blake  <ebb9@byu.net>
32231
32232         maint.mk: ignore multi-line copyright in NEWS
32233         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32234
32235 2010-01-06  Eric Blake  <ebb9@byu.net>
32236
32237         select: add missing dependency
32238         * modules/select-tests (Depends-on): Move sockets dependency...
32239         * modules/select (Depends-on): ...here.
32240         Reported by Ian Beckwith.
32241
32242         doc: regenerate INSTALL
32243         * doc/INSTALL: Reflect recent autoconf update.
32244         * doc/INSTALL.ISO: Likewise.
32245         * doc/INSTALL.UTF-8: Likewise.
32246
32247         pread: fix compilation on glibc
32248         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32249         Reported by Ralf Wildenhues.
32250
32251         dirent: fix test failure
32252         * lib/dirent.in.h (includes): Guarantee ino_t.
32253         Reported by Ralf Wildenhues.
32254
32255 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32256
32257         linkat, renameat: avoid bad free
32258         * lib/at-func2.c (at_func2): Fix typo.
32259         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32260
32261 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32262
32263         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32264         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32265         to avoid failure of symlink test later.
32266
32267 2010-01-06  Eric Blake  <ebb9@byu.net>
32268
32269         stdio, unistd: guarantee ssize_t
32270         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32271         2008 are exposed when needed.
32272         * lib/stdio.in.h (includes): Likewise.
32273         Reported by Ralf Wildenhues.
32274
32275 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32276
32277         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32278         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32279         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32280
32281 2010-01-06  Jim Meyering  <meyering@redhat.com>
32282
32283         readtokens: this module *does* require xalloc.h
32284         It uses only functions that were omitted by the old syntax-check rule.
32285         * lib/readtokens.c: Include "xalloc.h" once again.
32286         * modules/readtokens (Depends-on): Add xalloc.
32287         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32288
32289 2010-01-05  Eric Blake  <ebb9@byu.net>
32290
32291         maint: support 'make announcement' from a VPATH build
32292         * top/maint.mk (announcement): Look for correct NEWS file.
32293
32294 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32295
32296         utimens (fdutimens): ignore a negative FD, per contract
32297         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32298         when we have a valid file descriptor.  Otherwise, using a brand
32299         new glibc (with just-patched futimens that now fails with EBADF)
32300         would cause this function to fail with ENOSYS.
32301         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32302         See also http://bugzilla.redhat.com/552320.
32303
32304 2010-01-05  Eric Blake  <ebb9@byu.net>
32305
32306         strcase: document what it provides
32307         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32308         gnulib module.
32309         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32310         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32311
32312 2010-01-05  Jim Meyering  <meyering@redhat.com>
32313
32314         maint: remove useless inclusions of "xalloc.h"
32315         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32316         * lib/readtokens.c: Likewise.
32317         * lib/same.c: Likewise.
32318         * modules/getloadavg (Depends-on): Remove xalloc.
32319         * modules/readtokens: Likewise.
32320         * modules/same: Likewise.
32321
32322         maint.mk: include 4 more function names in alloca.h-checking regexp
32323         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32324         regexp.  Before, we would give a false-positive (saying alloca.h
32325         is included unnecessarily) when the only uses involved omitted symbols.
32326
32327         xalloc.h: use consistent formatting
32328         * lib/xalloc.h: Move declarations to start in the first column.
32329
32330 2010-01-05  Eric Blake  <ebb9@byu.net>
32331
32332         mkdir: avoid xalloc
32333         * lib/mkdir.c (includes): Drop unused header.
32334         Reported by John W. Eaton.
32335
32336 2010-01-04  Jim Meyering  <meyering@redhat.com>
32337
32338         nl_langinfo: avoid configure-time syntax error
32339         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
32340         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
32341         the empty string.  Don't let that provoke a shell syntax error.
32342
32343         regcomp, regexec, fnmatch: avoid array bounds read error
32344         * lib/regcomp.c (build_equiv_class): From glibc:
32345         Use only the low 24 bits of a findidx return value as an index
32346         into the weights array.  Patch by Ulrich Drepper:
32347         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
32348         * lib/regexec.c (check_node_accept_bytes): Likewise.
32349         * lib/fnmatch_loop.c (FCT): Likewise.
32350
32351         regcomp: skip collseq lookup when there are no rules
32352         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
32353         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
32354
32355         regcomp: recognize ill-formed { } expressions
32356         * lib/regcomp.c (parse_dup_op): From glibc:
32357         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
32358
32359         regcomp: fix typo in comment
32360         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
32361         s/satisfy/satisfies/.
32362
32363         regcomp: sync from glibc: remove dead store
32364         * lib/regcomp.c (duplicate_node_closure): Remove useless
32365         search_duplicated_node call and dead store.
32366
32367         regcomp: sync from glibc; always use nl_langinfo
32368         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
32369         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
32370         * modules/regex (Depends-on): Add nl_langinfo.
32371
32372 2010-01-04  Eric Blake  <ebb9@byu.net>
32373
32374         fdopendir: fix configure test
32375         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
32376
32377 2010-01-01  Bruno Haible  <bruno@clisp.org>
32378
32379         wchar: Remove unused configure check.
32380         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
32381
32382 2010-01-01  Eric Blake  <ebb9@byu.net>
32383
32384         headers: make check of system header explicit
32385         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
32386         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
32387         ourselves.
32388         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32389         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
32391         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
32392         internals.
32393         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
32394         missing.
32395         Suggested by Bruno Haible.
32396
32397 2010-01-01  Jim Meyering  <meyering@redhat.com>
32398
32399         ChangeLog: tweak to eliminate unnecessary copyright line
32400         * ChangeLog: Remove a copyright line that was mistakenly updated
32401         by today's update-copyright run.  Reported by Eric Blake.
32402
32403         test-update-copyright: don't let envvar setting cause test failure
32404         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32405
32406 2010-01-01  Bruno Haible  <bruno@clisp.org>
32407
32408         localename: Avoid gcc warning.
32409         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
32410         function if it is not used.
32411
32412 2010-01-01  Jim Meyering  <meyering@redhat.com>
32413
32414         update nearly all FSF copyright year lists to include 2010
32415         Use the same procedure as for 2009, outlined in
32416         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
32417
32418         version-etc: set COPYRIGHT_YEAR to 2010
32419         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
32420
32421 2009-12-31  Eric Blake  <ebb9@byu.net>
32422
32423         doc: correct availability of cygwin 1.5.x getopt
32424         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
32425         variables.
32426         * doc/posix-functions/opterr.texi (opterr): Likewise.
32427         * doc/posix-functions/optind.texi (optind): Likewise.
32428         * doc/posix-functions/optopt.texi (optopt): Likewise.
32429         * doc/posix-functions/tzname.texi (tzname): Likewise.
32430
32431         openat: update maintainer
32432         * modules/openat (Maintainer): Add myself.
32433
32434         utimens: avoid shadowing warning
32435         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
32436         buffers into one, to avoid shadowing, as well as avoiding a
32437         redundant stat.
32438         Reported by Jim Meyering.
32439
32440         test-dup2: avoid compiler warning
32441         * tests/test-dup2.c (is_inheritable): Only define if used.
32442
32443 2010-01-01  Bruno Haible  <bruno@clisp.org>
32444
32445         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
32446         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
32447         defined, use wctomb instead of wcrtomb.
32448
32449 2010-01-01  Bruno Haible  <bruno@clisp.org>
32450
32451         iconv: Reject native Solaris iconv.
32452         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
32453         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
32454
32455 2009-12-31  Bruno Haible  <bruno@clisp.org>
32456
32457         * tests/test-signal.c (main): Remove test of 'SIG'.
32458
32459 2009-12-31  Bruno Haible  <bruno@clisp.org>
32460
32461         spawn: Fix incomplete fix.
32462         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32463         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32464         warnings for GNULIB_POSIXCHECK again.
32465         Reported by Eric Blake.
32466
32467 2009-12-31  Bruno Haible  <bruno@clisp.org>
32468
32469         Avoid namespace pollution on glibc systems.
32470         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
32471         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
32472         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
32473         glibc systems.
32474
32475 2009-12-31  Bruno Haible  <bruno@clisp.org>
32476
32477         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
32478         (gl_REPLACE_WCHAR_H): Turn into a no-op.
32479         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
32480         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
32481         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
32482         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
32483         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
32484
32485 2009-12-31  Bruno Haible  <bruno@clisp.org>
32486
32487         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32488         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
32489         afterwards.
32490
32491 2009-12-31  Bruno Haible  <bruno@clisp.org>
32492
32493         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
32494         SYS_UTSNAME_H.
32495
32496 2009-12-31  Bruno Haible  <bruno@clisp.org>
32497
32498         spawn: Fix misapplied patch.
32499         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
32500         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
32501         warnings for GNULIB_POSIXCHECK.
32502
32503 2009-12-31  Bruno Haible  <bruno@clisp.org>
32504
32505         times: Update after sys_times changed.
32506         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
32507         * modules/times (Files): Add it.
32508         (configure.ac): Invoke gl_FUNC_TIMES.
32509
32510 2009-12-31  Bruno Haible  <bruno@clisp.org>
32511
32512         Use AC_C_INLINE where necessary.
32513         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
32514         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32515         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
32516         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
32517         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32518         * m4/mbiter.m4 (gl_MBITER): Likewise.
32519         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32520         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32521         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
32522         * modules/u64 (configure.ac): Likewise.
32523
32524 2009-12-31  Bruno Haible  <bruno@clisp.org>
32525
32526         Use AC_C_INLINE instead of module 'inline' where possible.
32527         * modules/inline (Description): Clarify purpose.
32528         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
32529         * modules/count-one-bits (Depends-on): Remove inline.
32530         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
32531         * modules/openat (Depends-on): Remove inline.
32532         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
32533         instead of depending on module 'inline'.
32534         * modules/filevercmp (Depends-on, configure.ac): Likewise.
32535         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
32536         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
32537         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
32538         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
32539         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
32540         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
32541         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
32542         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
32543         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
32544         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
32545         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
32546         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
32547         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
32548         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
32549         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
32550         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
32551         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
32552         Likewise.
32553         * modules/unictype/property-ascii-hex-digit (Depends-on,
32554         configure.ac): Likewise.
32555         * modules/unictype/property-bidi-arabic-digit (Depends-on,
32556         configure.ac): Likewise.
32557         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
32558         configure.ac): Likewise.
32559         * modules/unictype/property-bidi-block-separator (Depends-on,
32560         configure.ac): Likewise.
32561         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
32562         configure.ac): Likewise.
32563         * modules/unictype/property-bidi-common-separator (Depends-on,
32564         configure.ac): Likewise.
32565         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
32566         Likewise.
32567         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
32568         configure.ac): Likewise.
32569         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
32570         configure.ac): Likewise.
32571         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
32572         configure.ac): Likewise.
32573         * modules/unictype/property-bidi-european-digit (Depends-on,
32574         configure.ac): Likewise.
32575         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
32576         configure.ac): Likewise.
32577         * modules/unictype/property-bidi-left-to-right (Depends-on,
32578         configure.ac): Likewise.
32579         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
32580         configure.ac): Likewise.
32581         * modules/unictype/property-bidi-other-neutral (Depends-on,
32582         configure.ac): Likewise.
32583         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
32584         Likewise.
32585         * modules/unictype/property-bidi-segment-separator (Depends-on,
32586         configure.ac): Likewise.
32587         * modules/unictype/property-bidi-whitespace (Depends-on,
32588         configure.ac): Likewise.
32589         * modules/unictype/property-combining (Depends-on, configure.ac):
32590         Likewise.
32591         * modules/unictype/property-composite (Depends-on, configure.ac):
32592         Likewise.
32593         * modules/unictype/property-currency-symbol (Depends-on,
32594         configure.ac): Likewise.
32595         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
32596         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
32597         Likewise.
32598         * modules/unictype/property-default-ignorable-code-point (Depends-on,
32599         configure.ac): Likewise.
32600         * modules/unictype/property-deprecated (Depends-on, configure.ac):
32601         Likewise.
32602         * modules/unictype/property-diacritic (Depends-on, configure.ac):
32603         Likewise.
32604         * modules/unictype/property-extender (Depends-on, configure.ac):
32605         Likewise.
32606         * modules/unictype/property-format-control (Depends-on, configure.ac):
32607         Likewise.
32608         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
32609         Likewise.
32610         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
32611         Likewise.
32612         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
32613         Likewise.
32614         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
32615         Likewise.
32616         * modules/unictype/property-hyphen (Depends-on, configure.ac):
32617         Likewise.
32618         * modules/unictype/property-id-continue (Depends-on, configure.ac):
32619         Likewise.
32620         * modules/unictype/property-id-start (Depends-on, configure.ac):
32621         Likewise.
32622         * modules/unictype/property-ideographic (Depends-on, configure.ac):
32623         Likewise.
32624         * modules/unictype/property-ids-binary-operator (Depends-on,
32625         configure.ac): Likewise.
32626         * modules/unictype/property-ids-trinary-operator (Depends-on,
32627         configure.ac): Likewise.
32628         * modules/unictype/property-ignorable-control (Depends-on,
32629         configure.ac): Likewise.
32630         * modules/unictype/property-iso-control (Depends-on, configure.ac):
32631         Likewise.
32632         * modules/unictype/property-join-control (Depends-on, configure.ac):
32633         Likewise.
32634         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
32635         Likewise.
32636         * modules/unictype/property-line-separator (Depends-on, configure.ac):
32637         Likewise.
32638         * modules/unictype/property-logical-order-exception (Depends-on,
32639         configure.ac): Likewise.
32640         * modules/unictype/property-lowercase (Depends-on, configure.ac):
32641         Likewise.
32642         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
32643         * modules/unictype/property-non-break (Depends-on, configure.ac):
32644         Likewise.
32645         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
32646         Likewise.
32647         * modules/unictype/property-numeric (Depends-on, configure.ac):
32648         Likewise.
32649         * modules/unictype/property-other-alphabetic (Depends-on,
32650         configure.ac): Likewise.
32651         * modules/unictype/property-other-default-ignorable-code-point
32652         (Depends-on, configure.ac): Likewise.
32653         * modules/unictype/property-other-grapheme-extend (Depends-on,
32654         configure.ac): Likewise.
32655         * modules/unictype/property-other-id-continue (Depends-on,
32656         configure.ac): Likewise.
32657         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
32658         Likewise.
32659         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
32660         Likewise.
32661         * modules/unictype/property-other-math (Depends-on, configure.ac):
32662         Likewise.
32663         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
32664         Likewise.
32665         * modules/unictype/property-paired-punctuation (Depends-on,
32666         configure.ac): Likewise.
32667         * modules/unictype/property-paragraph-separator (Depends-on,
32668         configure.ac): Likewise.
32669         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
32670         Likewise.
32671         * modules/unictype/property-pattern-white-space (Depends-on,
32672         configure.ac): Likewise.
32673         * modules/unictype/property-private-use (Depends-on, configure.ac):
32674         Likewise.
32675         * modules/unictype/property-punctuation (Depends-on, configure.ac):
32676         Likewise.
32677         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
32678         Likewise.
32679         * modules/unictype/property-radical (Depends-on, configure.ac):
32680         Likewise.
32681         * modules/unictype/property-sentence-terminal (Depends-on,
32682         configure.ac): Likewise.
32683         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
32684         Likewise.
32685         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
32686         * modules/unictype/property-terminal-punctuation (Depends-on,
32687         configure.ac): Likewise.
32688         * modules/unictype/property-titlecase (Depends-on, configure.ac):
32689         Likewise.
32690         * modules/unictype/property-unassigned-code-value (Depends-on,
32691         configure.ac): Likewise.
32692         * modules/unictype/property-unified-ideograph (Depends-on,
32693         configure.ac): Likewise.
32694         * modules/unictype/property-uppercase (Depends-on, configure.ac):
32695         Likewise.
32696         * modules/unictype/property-variation-selector (Depends-on,
32697         configure.ac): Likewise.
32698         * modules/unictype/property-white-space (Depends-on, configure.ac):
32699         Likewise.
32700         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
32701         Likewise.
32702         * modules/unictype/property-xid-start (Depends-on, configure.ac):
32703         Likewise.
32704         * modules/unictype/property-zero-width (Depends-on, configure.ac):
32705         Likewise.
32706         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
32707         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
32708         Likewise.
32709
32710 2009-12-31  Bruno Haible  <bruno@clisp.org>
32711
32712         Remove unnecessary AC_C_INLINE invocation.
32713         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
32714         since 2009-08-21.
32715
32716 2009-12-31  Jim Meyering  <meyering@redhat.com>
32717
32718         maint.mk: don't require explicit gpg_key_ID in cfg.mk
32719         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
32720         With this change, we can all remove the gpg_key_ID = ... definition
32721         from our respective cfg.mk files.
32722
32723         maint.mk: create announcement template in ~/, not in /tmp
32724         * top/maint.mk (emit_upload_commands): Adjust.
32725         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
32726         Remove temporary file, .ci-msg.
32727
32728 2009-12-31  Eric Blake  <ebb9@byu.net>
32729
32730         link-warning: always build headers with link warnings
32731         * modules/arpa_inet (Makefile.am): Always build replacement
32732         header.
32733         * modules/ctype (Makefile.am): Likewise.
32734         * modules/dirent (Makefile.am): Likewise.
32735         * modules/inttypes (Makefile.am): Likewise.
32736         * modules/langinfo (Makefile.am): Likewise.
32737         * modules/locale (Makefile.am): Likewise.
32738         * modules/spawn (Makefile.am): Likewise.
32739         * modules/sys_file (Makefile.am): Likewise.
32740         * modules/sys_ioctl (Makefile.am): Likewise.
32741         * modules/sys_select (Makefile.am): Likewise.
32742         * modules/sys_socket (Makefile.am): Likewise.
32743         * modules/sys_times (Makefile.am): Likewise.
32744         * modules/sys_utsname (Makefile.am): Likewise.
32745         * modules/sys_wait (Makefile.am): Likewise.
32746         * modules/wchar (Makefile.am): Likewise.
32747         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
32748         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
32749         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
32750         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
32751         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
32752         Likewise.
32753         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32754         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32755         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
32756         Likewise.
32757         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
32758         Likewise.
32759         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
32760         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
32761         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
32762         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32763         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32764         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32765         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32766         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
32767         (gl_WCHAR_H_DEFAULTS): Likewise.
32768
32769 2009-12-31  Eric Blake  <ebb9@byu.net>
32770
32771         signal, spawn: use link warnings
32772         * lib/signal.in.h (sigset_t): Make unconditional.
32773         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
32774         (sigpending, sigprocmask, sigaction): Add link warnings.
32775         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
32776         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
32777         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
32778         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
32779         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
32780         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
32781         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
32782         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
32783         (posix_spawn_file_actions_destroy)
32784         (posix_spawn_file_actions_addopen)
32785         (posix_spawn_file_actions_addclose)
32786         (posix_spawn_file_actions_adddup2): Likewise.
32787         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
32788         * tests/test-signal.c (main): Enhance test.
32789
32790         spawn: improve wrapper support
32791         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
32792         (gl_SPAWN_H_DEFAULTS): New defaults.
32793         * modules/spawn (Makefile.am): Substitute them.
32794         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
32795         Only declare if missing or broken.
32796
32797         sys_times, sys_utsname: use include_next
32798         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
32799         header.
32800         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
32801         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
32802         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
32803         * modules/sys_times (Depends-on): Add include_next.
32804         (Makefile.am): Substitute additional values.
32805         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32806         * lib/sys_times.in.h (includes): Include native header, if
32807         available.
32808         * lib/sys_utsname.in.h (includes): Likewise.
32809         * tests/test-sys_times.c (main): Enhance test.
32810
32811         fdutimensat: revert prior patch
32812         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
32813         utimens.h.
32814         Reported by Bruno Haible.
32815
32816 2009-12-30  Eric Blake  <ebb9@byu.net>
32817
32818         sys_wait: drop link-warning dependency
32819         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
32820         link-warning efforts.
32821         * lib/sys_wait.in.h: Likewise.
32822
32823         fdutimensat: remove bogus dependency
32824         * modules/fdutimensat (Depends-on): Drop inline.
32825
32826         unistd: fix typo
32827         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
32828
32829 2009-12-30  Bruno Haible  <bruno@clisp.org>
32830
32831         Fix compilation error with Solaris cc.
32832         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
32833         * lib/unicase/u16-is-invariant.c: Likewise.
32834         * lib/unicase/u32-is-invariant.c: Likewise.
32835         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
32836
32837 2009-12-30  Bruno Haible  <bruno@clisp.org>
32838
32839         Fix test crash.
32840         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
32841         locales.
32842         Reported by Simon Josefsson <simon@josefsson.org>.
32843
32844 2009-12-30  Bruno Haible  <bruno@clisp.org>
32845
32846         Fix compilation error on most platforms.
32847         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
32848         Reported by Simon Josefsson <simon@josefsson.org>
32849         and Nelson H. F. Beebe <beebe@math.utah.edu>.
32850
32851 2009-12-30  Eric Blake  <ebb9@byu.net>
32852
32853         futimens, utimensat: work around ntfs-3g bug
32854         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
32855         a ctime bug is present, and expand workaround to cover ntfs-3g.
32856         * lib/utimens.c (fdutimens, lutimens): Likewise.
32857         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
32858         (validate_timespec): Adjust return value.
32859         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
32860         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32861         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
32862
32863 2009-12-29  Eric Blake  <ebb9@byu.net>
32864
32865         link-warning: make usage consistent
32866         * modules/ctype (Depends-on): Add link-warning.
32867         (Makefile.am): Update rules accordingly.
32868         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32869         * modules/locale (Depends-on, Makefile.am): Likewise.
32870         * modules/sys_file (Makefile.am): Likewise.
32871         * modules/getopt-posix (Makefile.am): Delete unused link warning
32872         efforts.
32873         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
32874         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
32875         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
32876         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
32877
32878         stdio: remove unused variables
32879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
32880         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
32881         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
32882
32883         tests: test more substitute headers
32884         * modules/ctype-tests: New file.
32885         * modules/dirent-tests: Likewise.
32886         * modules/spawn-tests: Likewise.
32887         * modules/sys_file-tests: Likewise.
32888         * modules/sys_ioctl-tests: Likewise.
32889         * modules/sys_wait-tests: Likewise.
32890         * tests/test-ctype.c: Likewise.
32891         * tests/test-dirent.c: Likewise.
32892         * tests/test-spawn.c: Likewise.
32893         * tests/test-sys_file.c: Likewise.
32894         * tests/test-sys_ioctl.c: Likewise.
32895         * tests/test-sys_wait.c: Likewise.
32896         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
32897         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
32898         whether or not flock is in use.
32899
32900         tests: remove License section from module
32901         * modules/arpa_inet-tests: Remove unneeded section.
32902         * modules/byteswap-tests: Likewise.
32903         * modules/ceilf-tests: Likewise.
32904         * modules/ceill-tests: Likewise.
32905         * modules/crypto/des-tests: Likewise.
32906         * modules/crypto/gc-arcfour-tests: Likewise.
32907         * modules/crypto/gc-arctwo-tests: Likewise.
32908         * modules/crypto/gc-des-tests: Likewise.
32909         * modules/crypto/gc-hmac-md5-tests: Likewise.
32910         * modules/crypto/gc-hmac-sha1-tests: Likewise.
32911         * modules/crypto/gc-md2-tests: Likewise.
32912         * modules/crypto/gc-md4-tests: Likewise.
32913         * modules/crypto/gc-md5-tests: Likewise.
32914         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
32915         * modules/crypto/gc-rijndael-tests: Likewise.
32916         * modules/crypto/gc-sha1-tests: Likewise.
32917         * modules/crypto/gc-tests: Likewise.
32918         * modules/crypto/md2-tests: Likewise.
32919         * modules/crypto/md4-tests: Likewise.
32920         * modules/fcntl-h-tests: Likewise.
32921         * modules/floorf-tests: Likewise.
32922         * modules/floorl-tests: Likewise.
32923         * modules/frexp-nolibm-tests: Likewise.
32924         * modules/frexp-tests: Likewise.
32925         * modules/frexpl-nolibm-tests: Likewise.
32926         * modules/frexpl-tests: Likewise.
32927         * modules/getaddrinfo-tests: Likewise.
32928         * modules/inttypes-tests: Likewise.
32929         * modules/isfinite-tests: Likewise.
32930         * modules/isinf-tests: Likewise.
32931         * modules/ldexpl-tests: Likewise.
32932         * modules/locale-tests: Likewise.
32933         * modules/math-tests: Likewise.
32934         * modules/netdb-tests: Likewise.
32935         * modules/netinet_in-tests: Likewise.
32936         * modules/printf-frexp-tests: Likewise.
32937         * modules/printf-frexpl-tests: Likewise.
32938         * modules/priv-set-tests: Likewise.
32939         * modules/random_r-tests: Likewise.
32940         * modules/round-tests: Likewise.
32941         * modules/roundf-tests: Likewise.
32942         * modules/roundl-tests: Likewise.
32943         * modules/search-tests: Likewise.
32944         * modules/select-tests: Likewise.
32945         * modules/signal-tests: Likewise.
32946         * modules/stdbool-tests: Likewise.
32947         * modules/stddef-tests: Likewise.
32948         * modules/stdint-tests: Likewise.
32949         * modules/stdio-tests: Likewise.
32950         * modules/stdlib-tests: Likewise.
32951         * modules/string-tests: Likewise.
32952         * modules/strings-tests: Likewise.
32953         * modules/sys_select-tests: Likewise.
32954         * modules/sys_socket-tests: Likewise.
32955         * modules/sys_stat-tests: Likewise.
32956         * modules/sys_time-tests: Likewise.
32957         * modules/sys_utsname-tests: Likewise.
32958         * modules/sysexits-tests: Likewise.
32959         * modules/time-tests: Likewise.
32960         * modules/trunc-tests: Likewise.
32961         * modules/truncf-tests: Likewise.
32962         * modules/truncl-tests: Likewise.
32963         * modules/tsearch-tests: Likewise.
32964         * modules/unistd-tests: Likewise.
32965         * modules/wchar-tests: Likewise.
32966         * modules/wctype-tests: Likewise.
32967
32968         tests: fix license on several tests
32969         * tests/test-des.c: Update to GPLv3+.
32970         * tests/test-flock.c: Likewise.
32971         * tests/test-fsync.c: Likewise.
32972         * tests/test-futimens.h: Likewise.
32973         * tests/test-gc-arcfour.c: Likewise.
32974         * tests/test-gc-arctwo.c: Likewise.
32975         * tests/test-gc-des.c: Likewise.
32976         * tests/test-gc-hmac-md5.c: Likewise.
32977         * tests/test-gc-hmac-sha1.c: Likewise.
32978         * tests/test-gc-md2.c: Likewise.
32979         * tests/test-gc-md4.c: Likewise.
32980         * tests/test-gc-md5.c: Likewise.
32981         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32982         * tests/test-gc-rijndael.c: Likewise.
32983         * tests/test-gc-sha1.c: Likewise.
32984         * tests/test-gc.c: Likewise.
32985         * tests/test-getcwd.c: Likewise.
32986         * tests/test-link.c: Likewise.
32987         * tests/test-link.h: Likewise.
32988         * tests/test-lutimens.h: Likewise.
32989         * tests/test-md2.c: Likewise.
32990         * tests/test-md4.c: Likewise.
32991         * tests/test-mkdir.h: Likewise.
32992         * tests/test-rename.c: Likewise.
32993         * tests/test-rename.h: Likewise.
32994         * tests/test-safe-alloc.c: Likewise.
32995         * tests/test-utimens-common.h: Likewise.
32996         * tests/test-utimens.h: Likewise.
32997
32998         maint: sync license texts
32999         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33000         * doc/gpl-3.0.texi: Revert copyright year update.
33001         * doc/lgpl-3.0.texi: Likewise.
33002
33003 2009-12-29  Jim Meyering  <meyering@redhat.com>
33004
33005         update nearly all FSF copyright year lists to include 2009
33006         The files named by the following are exempted:
33007             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33008               test -f "$dst" && { echo "$dst"; continue; }
33009               test -d "$dst" || continue
33010               echo "$dst"/$(basename "$src")
33011             done > exempt
33012             git ls-files tests/unictype >> exempt
33013         In the remaining files, convert to all-interval notation if
33014         - there is already at least one year interval like 2000-2003
33015         - the file is maintained by me
33016         - the file is in lib/uni*/, where that style already prevails
33017         Otherwise, use update-copyright's default.
33018
33019 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33020         and Eric Blake  <ebb9@byu.net>
33021
33022         tests: don't require debug system() to pass
33023         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33024         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33025         * tests/test-unlink.h (test_unlink_func): Likewise.
33026         * tests/test-fstatat.c (main): ...into callers.
33027         * tests/test-lstat.c (main): Likewise.
33028         * tests/test-rmdir.c (main): Likewise.
33029         * tests/test-unlink.c (main): Likewise.
33030         * tests/test-unlinkat.c (main): Likewise.
33031         * tests/test-areadlink-with-size.c (main): Don't require a
33032         debug-only system call to pass, aiding cross-testing to mingw.
33033         * tests/test-areadlink.c (main): Likewise.
33034         * tests/test-areadlinkat-with-size.c (main): Likewise.
33035         * tests/test-areadlinkat.c (main): Likewise.
33036         * tests/test-canonicalize-lgpl.c (main): Likewise.
33037         * tests/test-canonicalize.c (main): Likewise.
33038         * tests/test-chown.c (main): Likewise.
33039         * tests/test-fchownat.c (main): Likewise.
33040         * tests/test-lchown.c (main): Likewise.
33041         * tests/test-fdutimensat.c (main): Likewise.
33042         * tests/test-futimens.c (main): Likewise.
33043         * tests/test-link.c (main): Likewise.
33044         * tests/test-linkat.c (main): Likewise.
33045         * tests/test-mkdir.c (main): Likewise.
33046         * tests/test-mkdirat.c (main): Likewise.
33047         * tests/test-mkfifo.c (main): Likewise.
33048         * tests/test-mkfifoat.c (main): Likewise.
33049         * tests/test-mknod.c (main): Likewise.
33050         * tests/test-readlink.c (main): Likewise.
33051         * tests/test-remove.c (main): Likewise.
33052         * tests/test-rename.c (main): Likewise.
33053         * tests/test-renameat.c (main): Likewise.
33054         * tests/test-symlink.c (main): Likewise.
33055         * tests/test-symlinkat.c (main): Likewise.
33056         * tests/test-utimens.c (main): Likewise.
33057         * tests/test-utimensat.c (main): Likewise.
33058
33059 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33060
33061         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33062         on $(UNUSED_PARAMETER_H) to avoid build failure.
33063
33064 2009-12-28  Jim Meyering  <meyering@redhat.com>
33065
33066         update-copyright: you may specify a max. line length other than 72
33067         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33068
33069         maint: use consistent FSF copyright line syntax
33070         * lib/posixtm.c: Add missing comma in FSF copyright line.
33071         * lib/posixtm.h: Likewise.
33072         * lib/getugroups.c: Add missing ", Inc.".
33073
33074         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33075         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33076         FSF copyright line.  Remove trailing blanks.
33077
33078 2009-12-28  Eric Blake  <ebb9@byu.net>
33079
33080         test-dup2: reduce dependencies
33081         * modules/cloexec (Configure.ac): Set witness.
33082         * modules/dup2-tests (Depends-on): Drop cloexec.
33083         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33084         not present.
33085         Suggested by Bruno Haible.
33086
33087 2009-12-26  Bruno Haible  <bruno@clisp.org>
33088
33089         Remove an unneeded dependency.
33090         * modules/fseterr (Depends-on): Remove dup2.
33091
33092 2009-12-26  Eric Blake  <ebb9@byu.net>
33093
33094         tests: use macros.h in more places
33095         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33096         (ASSERT_STREAM): Provide default of stderr.
33097         * tests/test-dirent-safer.c: Include macros.h, using alternate
33098         stream for assertions.
33099         * tests/test-dup-safer.c: Likewise.
33100         * tests/test-freopen-safer.c: Likewise.
33101         * tests/test-getopt.c: Likewise.
33102         * tests/test-openat-safer.c: Likewise.
33103         * tests/test-pipe.c: Likewise.
33104         * tests/test-popen-safer.c: Likewise.
33105         * modules/dirent-safer-tests (Files): Include macros.h.
33106         * modules/unistd-safer-tests (Files): Likewise.
33107         * modules/freopen-safer-tests (Files): Likewise.
33108         * modules/getopt-posix-tests (Files): Likewise.
33109         * modules/openat-safer-tests (Files): Likewise.
33110         * modules/pipe-tests (Files): Likewise.
33111
33112 2009-12-26  Bruno Haible  <bruno@clisp.org>
33113
33114         javacomp: Portability fix.
33115         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33116         that it also works on Solaris.
33117
33118 2009-12-26  Bruno Haible  <bruno@clisp.org>
33119
33120         localename: Fix storage allocation of gl_locale_name_thread's result.
33121         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33122         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33123         all platforms that have 'uselocale'.
33124         (gl_locale_name_thread_unsafe): New function, extracted from
33125         gl_locale_name_thread.
33126         (gl_locale_name_thread): Call struniq on all platforms that have
33127         'uselocale'.
33128         * tests/test-localename.c (test_locale_name_thread): Check that the
33129         resulting strings are permanently allocated.
33130         * modules/localename-tests (Depends-on): Add strdup.
33131
33132 2009-12-26  Bruno Haible  <bruno@clisp.org>
33133
33134         * tests/test-localename.c (categories): Fill in the strings.
33135
33136 2009-12-26  Jim Meyering  <meyering@redhat.com>
33137
33138         isdir: complete the removal of m4/isdir.m4
33139         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33140
33141         isdir: clean up, since at least grep still uses it
33142         * lib/isdir.c: Include "isdir.h".
33143         (S_ISDIR): Remove now-unneeded definition.
33144         * modules/isdir (Files): Add lib/isdir.h.
33145         * lib/isdir.h: New file, with declaration.
33146         * m4/isdir.m4: Remove file -- unneeded.
33147
33148 2009-12-25  Bruno Haible  <bruno@clisp.org>
33149
33150         selinux-h: Make generated .h files standalone.
33151         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33152         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33153         * lib/se-selinux.in.h: Likewise.
33154         * modules/selinux-h (Depends-on): Add unused-parameter.
33155         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33156         selinux/selinux.h and selinux/context.h.
33157         Suggested by Eric Blake.
33158
33159 2009-12-25  Bruno Haible  <bruno@clisp.org>
33160
33161         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33162         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33163         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33164         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33165         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33166
33167 2009-12-24  Bruno Haible  <bruno@clisp.org>
33168
33169         openat: Fix warning.
33170         * lib/openat-proc.c: Include <unistd.h>.
33171
33172 2009-12-24  Bruno Haible  <bruno@clisp.org>
33173
33174         New module 'unused-parameter'.
33175         * build-aux/unused-parameter.h: New file, extracted from earlier
33176         gnulib-common.m4.
33177         * modules/unused-parameter: New file.
33178         * lib/unistr.h: Include unused-parameter.h.
33179         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33180         _GL_UNUSED.
33181         * modules/unistr/base (Depends-on): Add unused-parameter.
33182
33183 2009-12-24  Bruno Haible  <bruno@clisp.org>
33184
33185         Add missing dependencies to 'extensions' module.
33186         * m4/extensions.m4: Add comment.
33187         * modules/accept4 (Depends-on): Add extensions.
33188         * modules/dup3 (Depends-on): Likewise.
33189         * modules/fcntl (Depends-on): Likewise.
33190         * modules/futimens (Depends-on): Likewise.
33191         * modules/mknod (Depends-on): Likewise.
33192         * modules/pipe2 (Depends-on): Likewise.
33193         * modules/stat-time (Depends-on): Likewise.
33194         * modules/strcasestr-simple (Depends-on): Likewise.
33195         * modules/strsignal (Depends-on): Likewise.
33196         * modules/utimensat (Depends-on): Likewise.
33197         * modules/localcharset (Depends-on): Likewise. Needed because of
33198         gl_FCNTL_O_FLAGS.
33199         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33200         AC_TYPE_MBSTATE_T.
33201         * modules/wcsnrtombs (Depends-on): Likewise.
33202         * modules/wcsrtombs (Depends-on): Likewise.
33203
33204 2009-12-24  Bruno Haible  <bruno@clisp.org>
33205
33206         binary-io: Avoid gcc warning due to SET_BINARY.
33207         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33208         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33209
33210 2009-12-24  Bruno Haible  <bruno@clisp.org>
33211
33212         Avoid future namespace pollution on glibc systems.
33213         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33214         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33215         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33216         glibc systems.
33217
33218 2009-12-24  Bruno Haible  <bruno@clisp.org>
33219
33220         Refactor common macros used in tests.
33221         * tests/macros.h: New file.
33222         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33223         and/or <stdlib.h>, if appropriate.
33224         (ASSERT, SIZEOF): Remove macros.
33225         * tests/test-areadlink-with-size.c: Likewise.
33226         * tests/test-areadlinkat.c: Likewise.
33227         * tests/test-areadlinkat-with-size.c: Likewise.
33228         * tests/test-argmatch.c: Likewise.
33229         * tests/test-argv-iter.c: Likewise.
33230         * tests/test-array-mergesort.c: Likewise.
33231         * tests/test-array_list.c: Likewise.
33232         * tests/test-array_oset.c: Likewise.
33233         * tests/test-avltree_list.c: Likewise.
33234         * tests/test-avltree_oset.c: Likewise.
33235         * tests/test-avltreehash_list.c: Likewise.
33236         * tests/test-base64.c: Likewise.
33237         * tests/test-binary-io.c: Likewise.
33238         * tests/test-bitrotate.c: Likewise.
33239         * tests/test-btowc.c: Likewise.
33240         * tests/test-byteswap.c: Likewise.
33241         * tests/test-c-ctype.c: Likewise.
33242         * tests/test-c-stack.c: Likewise.
33243         * tests/test-c-strcasecmp.c: Likewise.
33244         * tests/test-c-strcasestr.c: Likewise.
33245         * tests/test-c-strncasecmp.c: Likewise.
33246         * tests/test-c-strstr.c: Likewise.
33247         * tests/test-canonicalize-lgpl.c: Likewise.
33248         * tests/test-canonicalize.c: Likewise.
33249         * tests/test-carray_list.c: Likewise.
33250         * tests/test-ceilf1.c: Likewise.
33251         * tests/test-ceilf2.c: Likewise.
33252         * tests/test-ceill.c: Likewise.
33253         * tests/test-chown.c: Likewise.
33254         * tests/test-cloexec.c: Likewise.
33255         * tests/test-copy-acl.c: Likewise.
33256         * tests/test-copy-file.c: Likewise.
33257         * tests/test-count-one-bits.c: Likewise.
33258         * tests/test-dprintf-posix.c: Likewise.
33259         * tests/test-dup2.c: Likewise.
33260         * tests/test-dup3.c: Likewise.
33261         * tests/test-duplocale.c: Likewise.
33262         * tests/test-fbufmode.c: Likewise.
33263         * tests/test-fchdir.c: Likewise.
33264         * tests/test-fchownat.c: Likewise.
33265         * tests/test-fcntl-safer.c: Likewise.
33266         * tests/test-fcntl.c: Likewise.
33267         * tests/test-fdopendir.c: Likewise.
33268         * tests/test-fdutimensat.c: Likewise.
33269         * tests/test-fflush2.c: Likewise.
33270         * tests/test-file-has-acl.c: Likewise.
33271         * tests/test-filevercmp.c: Likewise.
33272         * tests/test-flock.c: Likewise.
33273         * tests/test-floorf1.c: Likewise.
33274         * tests/test-floorf2.c: Likewise.
33275         * tests/test-floorl.c: Likewise.
33276         * tests/test-fnmatch.c: Likewise.
33277         * tests/test-fopen.h: Likewise.
33278         * tests/test-fpending.c: Likewise.
33279         * tests/test-fprintf-posix.c: Likewise.
33280         * tests/test-fpurge.c: Likewise.
33281         * tests/test-freadable.c: Likewise.
33282         * tests/test-freadahead.c: Likewise.
33283         * tests/test-freading.c: Likewise.
33284         * tests/test-freadptr.c: Likewise.
33285         * tests/test-freadptr2.c: Likewise.
33286         * tests/test-freadseek.c: Likewise.
33287         * tests/test-freopen.c: Likewise.
33288         * tests/test-frexp.c: Likewise.
33289         * tests/test-frexpl.c: Likewise.
33290         * tests/test-fseek.c: Likewise.
33291         * tests/test-fseeko.c: Likewise.
33292         * tests/test-fstatat.c: Likewise.
33293         * tests/test-fstrcmp.c: Likewise.
33294         * tests/test-fsync.c: Likewise.
33295         * tests/test-ftell.c: Likewise.
33296         * tests/test-ftello.c: Likewise.
33297         * tests/test-func.c: Likewise.
33298         * tests/test-futimens.c: Likewise.
33299         * tests/test-fwritable.c: Likewise.
33300         * tests/test-fwriting.c: Likewise.
33301         * tests/test-getcwd.c: Likewise.
33302         * tests/test-getdate.c: Likewise.
33303         * tests/test-getdelim.c: Likewise.
33304         * tests/test-getdtablesize.c: Likewise.
33305         * tests/test-getgroups.c: Likewise.
33306         * tests/test-getline.c: Likewise.
33307         * tests/test-getndelim2.c: Likewise.
33308         * tests/test-glob.c: Likewise.
33309         * tests/test-hash.c: Likewise.
33310         * tests/test-i-ring.c: Likewise.
33311         * tests/test-iconv-utf.c: Likewise.
33312         * tests/test-iconv.c: Likewise.
33313         * tests/test-idpriv-drop.c: Likewise.
33314         * tests/test-idpriv-droptemp.c: Likewise.
33315         * tests/test-inet_ntop.c: Likewise.
33316         * tests/test-inet_pton.c: Likewise.
33317         * tests/test-isblank.c: Likewise.
33318         * tests/test-isfinite.c: Likewise.
33319         * tests/test-isinf.c: Likewise.
33320         * tests/test-isnan.c: Likewise.
33321         * tests/test-isnand.h: Likewise.
33322         * tests/test-isnanf.h: Likewise.
33323         * tests/test-isnanl.h: Likewise.
33324         * tests/test-lchown.c: Likewise.
33325         * tests/test-ldexpl.c: Likewise.
33326         * tests/test-link.c: Likewise.
33327         * tests/test-linkat.c: Likewise.
33328         * tests/test-linked_list.c: Likewise.
33329         * tests/test-linkedhash_list.c: Likewise.
33330         * tests/test-localename.c: Likewise.
33331         * tests/test-lseek.c: Likewise.
33332         * tests/test-lstat.c: Likewise.
33333         * tests/test-mbmemcasecmp.c: Likewise.
33334         * tests/test-mbmemcasecoll.c: Likewise.
33335         * tests/test-mbrtowc.c: Likewise.
33336         * tests/test-mbscasecmp.c: Likewise.
33337         * tests/test-mbscasestr1.c: Likewise.
33338         * tests/test-mbscasestr2.c: Likewise.
33339         * tests/test-mbscasestr3.c: Likewise.
33340         * tests/test-mbscasestr4.c: Likewise.
33341         * tests/test-mbschr.c: Likewise.
33342         * tests/test-mbscspn.c: Likewise.
33343         * tests/test-mbsinit.c: Likewise.
33344         * tests/test-mbsncasecmp.c: Likewise.
33345         * tests/test-mbsnrtowcs.c: Likewise.
33346         * tests/test-mbspbrk.c: Likewise.
33347         * tests/test-mbspcasecmp.c: Likewise.
33348         * tests/test-mbsrchr.c: Likewise.
33349         * tests/test-mbsrtowcs.c: Likewise.
33350         * tests/test-mbsspn.c: Likewise.
33351         * tests/test-mbsstr1.c: Likewise.
33352         * tests/test-mbsstr2.c: Likewise.
33353         * tests/test-mbsstr3.c: Likewise.
33354         * tests/test-memchr.c: Likewise.
33355         * tests/test-memchr2.c: Likewise.
33356         * tests/test-memcmp.c: Likewise.
33357         * tests/test-memmem.c: Likewise.
33358         * tests/test-memrchr.c: Likewise.
33359         * tests/test-mkdir.c: Likewise.
33360         * tests/test-mkdirat.c: Likewise.
33361         * tests/test-mkfifo.c: Likewise.
33362         * tests/test-mkfifoat.c: Likewise.
33363         * tests/test-mknod.c: Likewise.
33364         * tests/test-nanosleep.c: Likewise.
33365         * tests/test-nl_langinfo.c: Likewise.
33366         * tests/test-obstack-printf.c: Likewise.
33367         * tests/test-open.c: Likewise.
33368         * tests/test-openat.c: Likewise.
33369         * tests/test-pipe-filter-gi1.c: Likewise.
33370         * tests/test-pipe-filter-gi2-main.c: Likewise.
33371         * tests/test-pipe-filter-ii1.c: Likewise.
33372         * tests/test-pipe-filter-ii2-main.c: Likewise.
33373         * tests/test-pipe2.c: Likewise.
33374         * tests/test-popen.h: Likewise.
33375         * tests/test-posixtm.c: Likewise.
33376         * tests/test-pread.c: Likewise.
33377         * tests/test-printf-frexp.c: Likewise.
33378         * tests/test-printf-frexpl.c: Likewise.
33379         * tests/test-printf-posix.c: Likewise.
33380         * tests/test-priv-set.c: Likewise.
33381         * tests/test-quotearg.c: Likewise.
33382         * tests/test-random_r.c: Likewise.
33383         * tests/test-rawmemchr.c: Likewise.
33384         * tests/test-rbtree_list.c: Likewise.
33385         * tests/test-rbtree_oset.c: Likewise.
33386         * tests/test-rbtreehash_list.c: Likewise.
33387         * tests/test-readlink.c: Likewise.
33388         * tests/test-remove.c: Likewise.
33389         * tests/test-rename.c: Likewise.
33390         * tests/test-renameat.c: Likewise.
33391         * tests/test-rmdir.c: Likewise.
33392         * tests/test-round1.c: Likewise.
33393         * tests/test-roundf1.c: Likewise.
33394         * tests/test-roundl.c: Likewise.
33395         * tests/test-safe-alloc.c: Likewise.
33396         * tests/test-sameacls.c: Likewise.
33397         * tests/test-set-mode-acl.c: Likewise.
33398         * tests/test-setenv.c: Likewise.
33399         * tests/test-sigaction.c: Likewise.
33400         * tests/test-signbit.c: Likewise.
33401         * tests/test-sleep.c: Likewise.
33402         * tests/test-snprintf-posix.c: Likewise.
33403         * tests/test-snprintf.c: Likewise.
33404         * tests/test-sprintf-posix.c: Likewise.
33405         * tests/test-stat-time.c: Likewise.
33406         * tests/test-stat.c: Likewise.
33407         * tests/test-strcasestr.c: Likewise.
33408         * tests/test-strchrnul.c: Likewise.
33409         * tests/test-strerror.c: Likewise.
33410         * tests/test-striconv.c: Likewise.
33411         * tests/test-striconveh.c: Likewise.
33412         * tests/test-striconveha.c: Likewise.
33413         * tests/test-strsignal.c: Likewise.
33414         * tests/test-strstr.c: Likewise.
33415         * tests/test-strtod.c: Likewise.
33416         * tests/test-strverscmp.c: Likewise.
33417         * tests/test-symlink.c: Likewise.
33418         * tests/test-symlinkat.c: Likewise.
33419         * tests/test-trunc1.c: Likewise.
33420         * tests/test-trunc2.c: Likewise.
33421         * tests/test-truncf1.c: Likewise.
33422         * tests/test-truncf2.c: Likewise.
33423         * tests/test-truncl.c: Likewise.
33424         * tests/test-uname.c: Likewise.
33425         * tests/test-unlink.c: Likewise.
33426         * tests/test-unlinkat.c: Likewise.
33427         * tests/test-unsetenv.c: Likewise.
33428         * tests/test-usleep.c: Likewise.
33429         * tests/test-utimens.c: Likewise.
33430         * tests/test-utimensat.c: Likewise.
33431         * tests/test-vasnprintf-posix.c: Likewise.
33432         * tests/test-vasnprintf-posix2.c: Likewise.
33433         * tests/test-vasnprintf.c: Likewise.
33434         * tests/test-vasprintf-posix.c: Likewise.
33435         * tests/test-vasprintf.c: Likewise.
33436         * tests/test-vdprintf-posix.c: Likewise.
33437         * tests/test-vfprintf-posix.c: Likewise.
33438         * tests/test-vprintf-posix.c: Likewise.
33439         * tests/test-vsnprintf-posix.c: Likewise.
33440         * tests/test-vsnprintf.c: Likewise.
33441         * tests/test-vsprintf-posix.c: Likewise.
33442         * tests/test-wcrtomb.c: Likewise.
33443         * tests/test-wcsnrtombs.c: Likewise.
33444         * tests/test-wcsrtombs.c: Likewise.
33445         * tests/test-wctype.c: Likewise.
33446         * tests/test-wcwidth.c: Likewise.
33447         * tests/test-xfprintf-posix.c: Likewise.
33448         * tests/test-xmemdup0.c: Likewise.
33449         * tests/test-xprintf-posix.c: Likewise.
33450         * tests/test-xvasprintf.c: Likewise.
33451         * tests/unicase/test-locale-language.c: Likewise.
33452         * tests/unicase/test-mapping-part1.h: Likewise.
33453         * tests/unicase/test-predicate-part1.h: Likewise.
33454         * tests/unicase/test-u8-casecmp.c: Likewise.
33455         * tests/unicase/test-u8-casecoll.c: Likewise.
33456         * tests/unicase/test-u8-casefold.c: Likewise.
33457         * tests/unicase/test-u8-is-cased.c: Likewise.
33458         * tests/unicase/test-u8-is-casefolded.c: Likewise.
33459         * tests/unicase/test-u8-is-lowercase.c: Likewise.
33460         * tests/unicase/test-u8-is-titlecase.c: Likewise.
33461         * tests/unicase/test-u8-is-uppercase.c: Likewise.
33462         * tests/unicase/test-u8-tolower.c: Likewise.
33463         * tests/unicase/test-u8-totitle.c: Likewise.
33464         * tests/unicase/test-u8-toupper.c: Likewise.
33465         * tests/unicase/test-u16-casecmp.c: Likewise.
33466         * tests/unicase/test-u16-casecoll.c: Likewise.
33467         * tests/unicase/test-u16-casefold.c: Likewise.
33468         * tests/unicase/test-u16-is-cased.c: Likewise.
33469         * tests/unicase/test-u16-is-casefolded.c: Likewise.
33470         * tests/unicase/test-u16-is-lowercase.c: Likewise.
33471         * tests/unicase/test-u16-is-titlecase.c: Likewise.
33472         * tests/unicase/test-u16-is-uppercase.c: Likewise.
33473         * tests/unicase/test-u16-tolower.c: Likewise.
33474         * tests/unicase/test-u16-totitle.c: Likewise.
33475         * tests/unicase/test-u16-toupper.c: Likewise.
33476         * tests/unicase/test-u32-casecmp.c: Likewise.
33477         * tests/unicase/test-u32-casecoll.c: Likewise.
33478         * tests/unicase/test-u32-casefold.c: Likewise.
33479         * tests/unicase/test-u32-is-cased.c: Likewise.
33480         * tests/unicase/test-u32-is-casefolded.c: Likewise.
33481         * tests/unicase/test-u32-is-lowercase.c: Likewise.
33482         * tests/unicase/test-u32-is-titlecase.c: Likewise.
33483         * tests/unicase/test-u32-is-uppercase.c: Likewise.
33484         * tests/unicase/test-u32-tolower.c: Likewise.
33485         * tests/unicase/test-u32-totitle.c: Likewise.
33486         * tests/unicase/test-u32-toupper.c: Likewise.
33487         * tests/unicase/test-ulc-casecmp.c: Likewise.
33488         * tests/unicase/test-ulc-casecoll.c: Likewise.
33489         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
33490         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
33491         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
33492         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
33493         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
33494         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
33495         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
33496         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
33497         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
33498         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
33499         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
33500         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
33501         * tests/unictype/test-bidi_byname.c: Likewise.
33502         * tests/unictype/test-bidi_name.c: Likewise.
33503         * tests/unictype/test-bidi_of.c: Likewise.
33504         * tests/unictype/test-bidi_test.c: Likewise.
33505         * tests/unictype/test-block_list.c: Likewise.
33506         * tests/unictype/test-block_of.c: Likewise.
33507         * tests/unictype/test-block_test.c: Likewise.
33508         * tests/unictype/test-categ_and.c: Likewise.
33509         * tests/unictype/test-categ_and_not.c: Likewise.
33510         * tests/unictype/test-categ_byname.c: Likewise.
33511         * tests/unictype/test-categ_name.c: Likewise.
33512         * tests/unictype/test-categ_none.c: Likewise.
33513         * tests/unictype/test-categ_of.c: Likewise.
33514         * tests/unictype/test-categ_or.c: Likewise.
33515         * tests/unictype/test-categ_test_withtable.c: Likewise.
33516         * tests/unictype/test-combining.c: Likewise.
33517         * tests/unictype/test-decdigit.c: Likewise.
33518         * tests/unictype/test-digit.c: Likewise.
33519         * tests/unictype/test-mirror.c: Likewise.
33520         * tests/unictype/test-numeric.c: Likewise.
33521         * tests/unictype/test-pr_byname.c: Likewise.
33522         * tests/unictype/test-pr_test.c: Likewise.
33523         * tests/unictype/test-predicate-part1.h: Likewise.
33524         * tests/unictype/test-scripts.c: Likewise.
33525         * tests/unictype/test-sy_c_ident.c: Likewise.
33526         * tests/unictype/test-sy_java_ident.c: Likewise.
33527         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
33528         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
33529         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
33530         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
33531         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
33532         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
33533         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
33534         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
33535         * tests/uninorm/test-canonical-decomposition.c: Likewise.
33536         * tests/uninorm/test-compat-decomposition.c: Likewise.
33537         * tests/uninorm/test-composition.c: Likewise.
33538         * tests/uninorm/test-decomposing-form.c: Likewise.
33539         * tests/uninorm/test-decomposition.c: Likewise.
33540         * tests/uninorm/test-u8-nfc.c: Likewise.
33541         * tests/uninorm/test-u8-nfd.c: Likewise.
33542         * tests/uninorm/test-u8-nfkc.c: Likewise.
33543         * tests/uninorm/test-u8-nfkd.c: Likewise.
33544         * tests/uninorm/test-u8-normcmp.c: Likewise.
33545         * tests/uninorm/test-u8-normcoll.c: Likewise.
33546         * tests/uninorm/test-u16-nfc.c: Likewise.
33547         * tests/uninorm/test-u16-nfd.c: Likewise.
33548         * tests/uninorm/test-u16-nfkc.c: Likewise.
33549         * tests/uninorm/test-u16-nfkd.c: Likewise.
33550         * tests/uninorm/test-u16-normcmp.c: Likewise.
33551         * tests/uninorm/test-u16-normcoll.c: Likewise.
33552         * tests/uninorm/test-u32-nfc.c: Likewise.
33553         * tests/uninorm/test-u32-nfd.c: Likewise.
33554         * tests/uninorm/test-u32-nfkc.c: Likewise.
33555         * tests/uninorm/test-u32-nfkd.c: Likewise.
33556         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33557         * tests/uninorm/test-u32-normcmp.c: Likewise.
33558         * tests/uninorm/test-u32-normcoll.c: Likewise.
33559         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
33560         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
33561         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
33562         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
33563         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
33564         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
33565         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
33566         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
33567         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
33568         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
33569         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
33570         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
33571         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
33572         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
33573         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
33574         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
33575         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
33576         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
33577         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
33578         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
33579         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
33580         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
33581         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
33582         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
33583         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
33584         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
33585         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
33586         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
33587         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
33588         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
33589         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
33590         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
33591         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
33592         * tests/uniwidth/test-u8-strwidth.c: Likewise.
33593         * tests/uniwidth/test-u8-width.c: Likewise.
33594         * tests/uniwidth/test-u16-strwidth.c: Likewise.
33595         * tests/uniwidth/test-u16-width.c: Likewise.
33596         * tests/uniwidth/test-u32-strwidth.c: Likewise.
33597         * tests/uniwidth/test-u32-width.c: Likewise.
33598         * tests/uniwidth/test-uc_width.c: Likewise.
33599         * tests/uniwidth/test-uc_width2.c: Likewise.
33600         * modules/acl-tests (Files): Add tests/macros.h.
33601         * modules/areadlink-tests (Files): Likewise.
33602         * modules/areadlink-with-size-tests (Files): Likewise.
33603         * modules/areadlinkat-tests (Files): Likewise.
33604         * modules/areadlinkat-with-size-tests (Files): Likewise.
33605         * modules/argmatch-tests (Files): Likewise.
33606         * modules/argv-iter-tests (Files): Likewise.
33607         * modules/array-list-tests (Files): Likewise.
33608         * modules/array-mergesort-tests (Files): Likewise.
33609         * modules/array-oset-tests (Files): Likewise.
33610         * modules/avltree-list-tests (Files): Likewise.
33611         * modules/avltree-oset-tests (Files): Likewise.
33612         * modules/avltreehash-list-tests (Files): Likewise.
33613         * modules/base64-tests (Files): Likewise.
33614         * modules/binary-io-tests (Files): Likewise.
33615         * modules/bitrotate-tests (Files): Likewise.
33616         * modules/btowc-tests (Files): Likewise.
33617         * modules/byteswap-tests (Files): Likewise.
33618         * modules/c-ctype-tests (Files): Likewise.
33619         * modules/c-stack-tests (Files): Likewise.
33620         * modules/c-strcase-tests (Files): Likewise.
33621         * modules/c-strcasestr-tests (Files): Likewise.
33622         * modules/c-strstr-tests (Files): Likewise.
33623         * modules/canonicalize-lgpl-tests (Files): Likewise.
33624         * modules/canonicalize-tests (Files): Likewise.
33625         * modules/carray-list-tests (Files): Likewise.
33626         * modules/ceilf-tests (Files): Likewise.
33627         * modules/ceill-tests (Files): Likewise.
33628         * modules/chown-tests (Files): Likewise.
33629         * modules/cloexec-tests (Files): Likewise.
33630         * modules/copy-file-tests (Files): Likewise.
33631         * modules/count-one-bits-tests (Files): Likewise.
33632         * modules/dprintf-posix-tests (Files): Likewise.
33633         * modules/dup2-tests (Files): Likewise.
33634         * modules/dup3-tests (Files): Likewise.
33635         * modules/duplocale-tests (Files): Likewise.
33636         * modules/fbufmode-tests (Files): Likewise.
33637         * modules/fchdir-tests (Files): Likewise.
33638         * modules/fcntl-safer-tests (Files): Likewise.
33639         * modules/fcntl-tests (Files): Likewise.
33640         * modules/fdopendir-tests (Files): Likewise.
33641         * modules/fdutimensat-tests (Files): Likewise.
33642         * modules/fflush-tests (Files): Likewise.
33643         * modules/filevercmp-tests (Files): Likewise.
33644         * modules/flock-tests (Files): Likewise.
33645         * modules/floorf-tests (Files): Likewise.
33646         * modules/floorl-tests (Files): Likewise.
33647         * modules/fnmatch-tests (Files): Likewise.
33648         * modules/fopen-safer-tests (Files): Likewise.
33649         * modules/fopen-tests (Files): Likewise.
33650         * modules/fpending-tests (Files): Likewise.
33651         * modules/fprintf-posix-tests (Files): Likewise.
33652         * modules/fpurge-tests (Files): Likewise.
33653         * modules/freadable-tests (Files): Likewise.
33654         * modules/freadahead-tests (Files): Likewise.
33655         * modules/freading-tests (Files): Likewise.
33656         * modules/freadptr-tests (Files): Likewise.
33657         * modules/freadseek-tests (Files): Likewise.
33658         * modules/freopen-tests (Files): Likewise.
33659         * modules/frexp-nolibm-tests (Files): Likewise.
33660         * modules/frexp-tests (Files): Likewise.
33661         * modules/frexpl-nolibm-tests (Files): Likewise.
33662         * modules/frexpl-tests (Files): Likewise.
33663         * modules/fseek-tests (Files): Likewise.
33664         * modules/fseeko-tests (Files): Likewise.
33665         * modules/fstrcmp-tests (Files): Likewise.
33666         * modules/fsync-tests (Files): Likewise.
33667         * modules/ftell-tests (Files): Likewise.
33668         * modules/ftello-tests (Files): Likewise.
33669         * modules/func-tests (Files): Likewise.
33670         * modules/futimens-tests (Files): Likewise.
33671         * modules/fwritable-tests (Files): Likewise.
33672         * modules/fwriting-tests (Files): Likewise.
33673         * modules/getcwd-tests (Files): Likewise.
33674         * modules/getdate-tests (Files): Likewise.
33675         * modules/getdelim-tests (Files): Likewise.
33676         * modules/getdtablesize-tests (Files): Likewise.
33677         * modules/getgroups-tests (Files): Likewise.
33678         * modules/getline-tests (Files): Likewise.
33679         * modules/getndelim2-tests (Files): Likewise.
33680         * modules/glob-tests (Files): Likewise.
33681         * modules/hash-tests (Files): Likewise.
33682         * modules/i-ring-tests (Files): Likewise.
33683         * modules/iconv-tests (Files): Likewise.
33684         * modules/iconv_open-utf-tests (Files): Likewise.
33685         * modules/idpriv-drop-tests (Files): Likewise.
33686         * modules/idpriv-droptemp-tests (Files): Likewise.
33687         * modules/inet_ntop-tests (Files): Likewise.
33688         * modules/inet_pton-tests (Files): Likewise.
33689         * modules/isblank-tests (Files): Likewise.
33690         * modules/isfinite-tests (Files): Likewise.
33691         * modules/isinf-tests (Files): Likewise.
33692         * modules/isnan-tests (Files): Likewise.
33693         * modules/isnand-nolibm-tests (Files): Likewise.
33694         * modules/isnand-tests (Files): Likewise.
33695         * modules/isnanf-nolibm-tests (Files): Likewise.
33696         * modules/isnanf-tests (Files): Likewise.
33697         * modules/isnanl-nolibm-tests (Files): Likewise.
33698         * modules/isnanl-tests (Files): Likewise.
33699         * modules/lchown-tests (Files): Likewise.
33700         * modules/ldexpl-tests (Files): Likewise.
33701         * modules/link-tests (Files): Likewise.
33702         * modules/linkat-tests (Files): Likewise.
33703         * modules/linked-list-tests (Files): Likewise.
33704         * modules/linkedhash-list-tests (Files): Likewise.
33705         * modules/localename-tests (Files): Likewise.
33706         * modules/lseek-tests (Files): Likewise.
33707         * modules/lstat-tests (Files): Likewise.
33708         * modules/mbmemcasecmp-tests (Files): Likewise.
33709         * modules/mbmemcasecoll-tests (Files): Likewise.
33710         * modules/mbrtowc-tests (Files): Likewise.
33711         * modules/mbscasecmp-tests (Files): Likewise.
33712         * modules/mbscasestr-tests (Files): Likewise.
33713         * modules/mbschr-tests (Files): Likewise.
33714         * modules/mbscspn-tests (Files): Likewise.
33715         * modules/mbsinit-tests (Files): Likewise.
33716         * modules/mbsncasecmp-tests (Files): Likewise.
33717         * modules/mbsnrtowcs-tests (Files): Likewise.
33718         * modules/mbspbrk-tests (Files): Likewise.
33719         * modules/mbspcasecmp-tests (Files): Likewise.
33720         * modules/mbsrchr-tests (Files): Likewise.
33721         * modules/mbsrtowcs-tests (Files): Likewise.
33722         * modules/mbsspn-tests (Files): Likewise.
33723         * modules/mbsstr-tests (Files): Likewise.
33724         * modules/memchr-tests (Files): Likewise.
33725         * modules/memchr2-tests (Files): Likewise.
33726         * modules/memcmp-tests (Files): Likewise.
33727         * modules/memmem-tests (Files): Likewise.
33728         * modules/memrchr-tests (Files): Likewise.
33729         * modules/mkdir-tests (Files): Likewise.
33730         * modules/mkfifo-tests (Files): Likewise.
33731         * modules/mkfifoat-tests (Files): Likewise.
33732         * modules/mknod-tests (Files): Likewise.
33733         * modules/nanosleep-tests (Files): Likewise.
33734         * modules/nl_langinfo-tests (Files): Likewise.
33735         * modules/obstack-printf-tests (Files): Likewise.
33736         * modules/open-tests (Files): Likewise.
33737         * modules/openat-tests (Files): Likewise.
33738         * modules/pipe-filter-gi-tests (Files): Likewise.
33739         * modules/pipe-filter-ii-tests (Files): Likewise.
33740         * modules/pipe2-tests (Files): Likewise.
33741         * modules/popen-safer-tests (Files): Likewise.
33742         * modules/popen-tests (Files): Likewise.
33743         * modules/posixtm-tests (Files): Likewise.
33744         * modules/pread-tests (Files): Likewise.
33745         * modules/printf-frexp-tests (Files): Likewise.
33746         * modules/printf-frexpl-tests (Files): Likewise.
33747         * modules/printf-posix-tests (Files): Likewise.
33748         * modules/priv-set-tests (Files): Likewise.
33749         * modules/quotearg-tests (Files): Likewise.
33750         * modules/random_r-tests (Files): Likewise.
33751         * modules/rawmemchr-tests (Files): Likewise.
33752         * modules/rbtree-list-tests (Files): Likewise.
33753         * modules/rbtree-oset-tests (Files): Likewise.
33754         * modules/rbtreehash-list-tests (Files): Likewise.
33755         * modules/readlink-tests (Files): Likewise.
33756         * modules/remove-tests (Files): Likewise.
33757         * modules/rename-tests (Files): Likewise.
33758         * modules/renameat-tests (Files): Likewise.
33759         * modules/rmdir-tests (Files): Likewise.
33760         * modules/round-tests (Files): Likewise.
33761         * modules/roundf-tests (Files): Likewise.
33762         * modules/roundl-tests (Files): Likewise.
33763         * modules/safe-alloc-tests (Files): Likewise.
33764         * modules/setenv-tests (Files): Likewise.
33765         * modules/sigaction-tests (Files): Likewise.
33766         * modules/signbit-tests (Files): Likewise.
33767         * modules/sleep-tests (Files): Likewise.
33768         * modules/snprintf-posix-tests (Files): Likewise.
33769         * modules/snprintf-tests (Files): Likewise.
33770         * modules/sprintf-posix-tests (Files): Likewise.
33771         * modules/stat-tests (Files): Likewise.
33772         * modules/stat-time-tests (Files): Likewise.
33773         * modules/strcasestr-tests (Files): Likewise.
33774         * modules/strchrnul-tests (Files): Likewise.
33775         * modules/strerror-tests (Files): Likewise.
33776         * modules/striconv-tests (Files): Likewise.
33777         * modules/striconveh-tests (Files): Likewise.
33778         * modules/striconveha-tests (Files): Likewise.
33779         * modules/strsignal-tests (Files): Likewise.
33780         * modules/strstr-tests (Files): Likewise.
33781         * modules/strtod-tests (Files): Likewise.
33782         * modules/strverscmp-tests (Files): Likewise.
33783         * modules/symlink-tests (Files): Likewise.
33784         * modules/symlinkat-tests (Files): Likewise.
33785         * modules/trunc-tests (Files): Likewise.
33786         * modules/truncf-tests (Files): Likewise.
33787         * modules/truncl-tests (Files): Likewise.
33788         * modules/uname-tests (Files): Likewise.
33789         * modules/unicase/cased-tests (Files): Likewise.
33790         * modules/unicase/ignorable-tests (Files): Likewise.
33791         * modules/unicase/locale-language-tests (Files): Likewise.
33792         * modules/unicase/tolower-tests (Files): Likewise.
33793         * modules/unicase/totitle-tests (Files): Likewise.
33794         * modules/unicase/toupper-tests (Files): Likewise.
33795         * modules/unicase/u8-casecmp-tests (Files): Likewise.
33796         * modules/unicase/u8-casecoll-tests (Files): Likewise.
33797         * modules/unicase/u8-casefold-tests (Files): Likewise.
33798         * modules/unicase/u8-is-cased-tests (Files): Likewise.
33799         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
33800         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
33801         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
33802         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
33803         * modules/unicase/u8-tolower-tests (Files): Likewise.
33804         * modules/unicase/u8-totitle-tests (Files): Likewise.
33805         * modules/unicase/u8-toupper-tests (Files): Likewise.
33806         * modules/unicase/u16-casecmp-tests (Files): Likewise.
33807         * modules/unicase/u16-casecoll-tests (Files): Likewise.
33808         * modules/unicase/u16-casefold-tests (Files): Likewise.
33809         * modules/unicase/u16-is-cased-tests (Files): Likewise.
33810         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
33811         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
33812         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
33813         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
33814         * modules/unicase/u16-tolower-tests (Files): Likewise.
33815         * modules/unicase/u16-totitle-tests (Files): Likewise.
33816         * modules/unicase/u16-toupper-tests (Files): Likewise.
33817         * modules/unicase/u32-casecmp-tests (Files): Likewise.
33818         * modules/unicase/u32-casecoll-tests (Files): Likewise.
33819         * modules/unicase/u32-casefold-tests (Files): Likewise.
33820         * modules/unicase/u32-is-cased-tests (Files): Likewise.
33821         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
33822         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
33823         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
33824         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
33825         * modules/unicase/u32-tolower-tests (Files): Likewise.
33826         * modules/unicase/u32-totitle-tests (Files): Likewise.
33827         * modules/unicase/u32-toupper-tests (Files): Likewise.
33828         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
33829         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
33830         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
33831         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
33832         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
33833         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
33834         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
33835         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
33836         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
33837         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
33838         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
33839         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
33840         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
33841         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
33842         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
33843         * modules/unictype/bidicategory-name-tests (Files): Likewise.
33844         * modules/unictype/bidicategory-of-tests (Files): Likewise.
33845         * modules/unictype/bidicategory-test-tests (Files): Likewise.
33846         * modules/unictype/block-list-tests (Files): Likewise.
33847         * modules/unictype/block-of-tests (Files): Likewise.
33848         * modules/unictype/block-test-tests (Files): Likewise.
33849         * modules/unictype/category-C-tests (Files): Likewise.
33850         * modules/unictype/category-Cc-tests (Files): Likewise.
33851         * modules/unictype/category-Cf-tests (Files): Likewise.
33852         * modules/unictype/category-Cn-tests (Files): Likewise.
33853         * modules/unictype/category-Co-tests (Files): Likewise.
33854         * modules/unictype/category-Cs-tests (Files): Likewise.
33855         * modules/unictype/category-L-tests (Files): Likewise.
33856         * modules/unictype/category-Ll-tests (Files): Likewise.
33857         * modules/unictype/category-Lm-tests (Files): Likewise.
33858         * modules/unictype/category-Lo-tests (Files): Likewise.
33859         * modules/unictype/category-Lt-tests (Files): Likewise.
33860         * modules/unictype/category-Lu-tests (Files): Likewise.
33861         * modules/unictype/category-M-tests (Files): Likewise.
33862         * modules/unictype/category-Mc-tests (Files): Likewise.
33863         * modules/unictype/category-Me-tests (Files): Likewise.
33864         * modules/unictype/category-Mn-tests (Files): Likewise.
33865         * modules/unictype/category-N-tests (Files): Likewise.
33866         * modules/unictype/category-Nd-tests (Files): Likewise.
33867         * modules/unictype/category-Nl-tests (Files): Likewise.
33868         * modules/unictype/category-No-tests (Files): Likewise.
33869         * modules/unictype/category-P-tests (Files): Likewise.
33870         * modules/unictype/category-Pc-tests (Files): Likewise.
33871         * modules/unictype/category-Pd-tests (Files): Likewise.
33872         * modules/unictype/category-Pe-tests (Files): Likewise.
33873         * modules/unictype/category-Pf-tests (Files): Likewise.
33874         * modules/unictype/category-Pi-tests (Files): Likewise.
33875         * modules/unictype/category-Po-tests (Files): Likewise.
33876         * modules/unictype/category-Ps-tests (Files): Likewise.
33877         * modules/unictype/category-S-tests (Files): Likewise.
33878         * modules/unictype/category-Sc-tests (Files): Likewise.
33879         * modules/unictype/category-Sk-tests (Files): Likewise.
33880         * modules/unictype/category-Sm-tests (Files): Likewise.
33881         * modules/unictype/category-So-tests (Files): Likewise.
33882         * modules/unictype/category-Z-tests (Files): Likewise.
33883         * modules/unictype/category-Zl-tests (Files): Likewise.
33884         * modules/unictype/category-Zp-tests (Files): Likewise.
33885         * modules/unictype/category-Zs-tests (Files): Likewise.
33886         * modules/unictype/category-and-not-tests (Files): Likewise.
33887         * modules/unictype/category-and-tests (Files): Likewise.
33888         * modules/unictype/category-byname-tests (Files): Likewise.
33889         * modules/unictype/category-name-tests (Files): Likewise.
33890         * modules/unictype/category-none-tests (Files): Likewise.
33891         * modules/unictype/category-of-tests (Files): Likewise.
33892         * modules/unictype/category-or-tests (Files): Likewise.
33893         * modules/unictype/category-test-withtable-tests (Files): Likewise.
33894         * modules/unictype/combining-class-tests (Files): Likewise.
33895         * modules/unictype/ctype-alnum-tests (Files): Likewise.
33896         * modules/unictype/ctype-alpha-tests (Files): Likewise.
33897         * modules/unictype/ctype-blank-tests (Files): Likewise.
33898         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
33899         * modules/unictype/ctype-digit-tests (Files): Likewise.
33900         * modules/unictype/ctype-graph-tests (Files): Likewise.
33901         * modules/unictype/ctype-lower-tests (Files): Likewise.
33902         * modules/unictype/ctype-print-tests (Files): Likewise.
33903         * modules/unictype/ctype-punct-tests (Files): Likewise.
33904         * modules/unictype/ctype-space-tests (Files): Likewise.
33905         * modules/unictype/ctype-upper-tests (Files): Likewise.
33906         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
33907         * modules/unictype/decimal-digit-tests (Files): Likewise.
33908         * modules/unictype/digit-tests (Files): Likewise.
33909         * modules/unictype/mirror-tests (Files): Likewise.
33910         * modules/unictype/numeric-tests (Files): Likewise.
33911         * modules/unictype/property-alphabetic-tests (Files): Likewise.
33912         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
33913         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
33914         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
33915         Likewise.
33916         * modules/unictype/property-bidi-block-separator-tests (Files):
33917         Likewise.
33918         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
33919         Likewise.
33920         * modules/unictype/property-bidi-common-separator-tests (Files):
33921         Likewise.
33922         * modules/unictype/property-bidi-control-tests (Files): Likewise.
33923         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
33924         Likewise.
33925         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
33926         Likewise.
33927         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
33928         Likewise.
33929         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
33930         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
33931         Likewise.
33932         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
33933         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
33934         Likewise.
33935         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
33936         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
33937         * modules/unictype/property-bidi-segment-separator-tests (Files):
33938         Likewise.
33939         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
33940         * modules/unictype/property-byname-tests (Files): Likewise.
33941         * modules/unictype/property-combining-tests (Files): Likewise.
33942         * modules/unictype/property-composite-tests (Files): Likewise.
33943         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
33944         * modules/unictype/property-dash-tests (Files): Likewise.
33945         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
33946         * modules/unictype/property-default-ignorable-code-point-tests (Files):
33947         Likewise.
33948         * modules/unictype/property-deprecated-tests (Files): Likewise.
33949         * modules/unictype/property-diacritic-tests (Files): Likewise.
33950         * modules/unictype/property-extender-tests (Files): Likewise.
33951         * modules/unictype/property-format-control-tests (Files): Likewise.
33952         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
33953         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
33954         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
33955         * modules/unictype/property-hex-digit-tests (Files): Likewise.
33956         * modules/unictype/property-hyphen-tests (Files): Likewise.
33957         * modules/unictype/property-id-continue-tests (Files): Likewise.
33958         * modules/unictype/property-id-start-tests (Files): Likewise.
33959         * modules/unictype/property-ideographic-tests (Files): Likewise.
33960         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
33961         * modules/unictype/property-ids-trinary-operator-tests (Files):
33962         Likewise.
33963         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
33964         * modules/unictype/property-iso-control-tests (Files): Likewise.
33965         * modules/unictype/property-join-control-tests (Files): Likewise.
33966         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33967         * modules/unictype/property-line-separator-tests (Files): Likewise.
33968         * modules/unictype/property-logical-order-exception-tests (Files):
33969         Likewise.
33970         * modules/unictype/property-lowercase-tests (Files): Likewise.
33971         * modules/unictype/property-math-tests (Files): Likewise.
33972         * modules/unictype/property-non-break-tests (Files): Likewise.
33973         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33974         * modules/unictype/property-numeric-tests (Files): Likewise.
33975         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33976         * modules/unictype/property-other-default-ignorable-code-point-tests
33977         (Files): Likewise.
33978         * modules/unictype/property-other-grapheme-extend-tests (Files):
33979         Likewise.
33980         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33981         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33982         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33983         * modules/unictype/property-other-math-tests (Files): Likewise.
33984         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33985         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33986         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33987         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33988         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33989         * modules/unictype/property-private-use-tests (Files): Likewise.
33990         * modules/unictype/property-punctuation-tests (Files): Likewise.
33991         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33992         * modules/unictype/property-radical-tests (Files): Likewise.
33993         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33994         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33995         * modules/unictype/property-space-tests (Files): Likewise.
33996         * modules/unictype/property-terminal-punctuation-tests (Files):
33997         Likewise.
33998         * modules/unictype/property-test-tests (Files): Likewise.
33999         * modules/unictype/property-titlecase-tests (Files): Likewise.
34000         * modules/unictype/property-unassigned-code-value-tests (Files):
34001         Likewise.
34002         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34003         * modules/unictype/property-uppercase-tests (Files): Likewise.
34004         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34005         * modules/unictype/property-white-space-tests (Files): Likewise.
34006         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34007         * modules/unictype/property-xid-start-tests (Files): Likewise.
34008         * modules/unictype/property-zero-width-tests (Files): Likewise.
34009         * modules/unictype/scripts-tests (Files): Likewise.
34010         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34011         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34012         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34013         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34014         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34015         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34016         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34017         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34018         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34019         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34020         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34021         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34022         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34023         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34024         * modules/uninorm/composition-tests (Files): Likewise.
34025         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34026         * modules/uninorm/decomposition-tests (Files): Likewise.
34027         * modules/uninorm/filter-tests (Files): Likewise.
34028         * modules/uninorm/nfc-tests (Files): Likewise.
34029         * modules/uninorm/nfd-tests (Files): Likewise.
34030         * modules/uninorm/nfkc-tests (Files): Likewise.
34031         * modules/uninorm/nfkd-tests (Files): Likewise.
34032         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34033         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34034         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34035         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34036         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34037         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34038         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34039         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34040         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34041         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34042         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34043         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34044         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34045         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34046         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34047         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34048         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34049         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34050         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34051         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34052         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34053         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34054         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34055         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34056         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34057         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34058         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34059         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34060         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34061         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34062         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34063         * modules/uniwidth/u8-width-tests (Files): Likewise.
34064         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34065         * modules/uniwidth/u16-width-tests (Files): Likewise.
34066         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34067         * modules/uniwidth/u32-width-tests (Files): Likewise.
34068         * modules/uniwidth/width-tests (Files): Likewise.
34069         * modules/unlink-tests (Files): Likewise.
34070         * modules/unsetenv-tests (Files): Likewise.
34071         * modules/usleep-tests (Files): Likewise.
34072         * modules/utimens-tests (Files): Likewise.
34073         * modules/utimensat-tests (Files): Likewise.
34074         * modules/vasnprintf-posix-tests (Files): Likewise.
34075         * modules/vasnprintf-tests (Files): Likewise.
34076         * modules/vasprintf-posix-tests (Files): Likewise.
34077         * modules/vasprintf-tests (Files): Likewise.
34078         * modules/vdprintf-posix-tests (Files): Likewise.
34079         * modules/vfprintf-posix-tests (Files): Likewise.
34080         * modules/vprintf-posix-tests (Files): Likewise.
34081         * modules/vsnprintf-posix-tests (Files): Likewise.
34082         * modules/vsnprintf-tests (Files): Likewise.
34083         * modules/vsprintf-posix-tests (Files): Likewise.
34084         * modules/wcrtomb-tests (Files): Likewise.
34085         * modules/wcsnrtombs-tests (Files): Likewise.
34086         * modules/wcsrtombs-tests (Files): Likewise.
34087         * modules/wctype-tests (Files): Likewise.
34088         * modules/wcwidth-tests (Files): Likewise.
34089         * modules/xmemdup0-tests (Files): Likewise.
34090         * modules/xprintf-posix-tests (Files): Likewise.
34091         * modules/xvasprintf-tests (Files): Likewise.
34092
34093 2009-12-24  Eric Blake  <ebb9@byu.net>
34094
34095         test-nanosleep: fix typo
34096         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34097         patch.
34098         Reported by Bruno Haible.
34099
34100 2009-12-24  Bruno Haible  <bruno@clisp.org>
34101
34102         Reduce namespace pollution on glibc systems.
34103         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34104         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34105         systems.
34106         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34107         <getopt.h> on glibc systems.
34108         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34109         systems.
34110         * lib/fcntl.c: Include <unistd.h> here instead.
34111
34112 2009-12-24  Bruno Haible  <bruno@clisp.org>
34113
34114         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34115
34116 2009-12-24  Eric Blake  <ebb9@byu.net>
34117
34118         tests: add signature checks
34119         * tests/signature.h (SIGNATURE_CHECK): New file.
34120         * modules/atexit-tests (Files): Use it.
34121         * modules/btowc-tests (Files): Likewise.
34122         * modules/canonicalize-lgpl-tests (Files): Likewise.
34123         * modules/ceilf-tests (Files): Likewise.
34124         * modules/ceill-tests (Files): Likewise.
34125         * modules/chown-tests (Files): Likewise.
34126         * modules/dprintf-posix-tests (Files): Likewise.
34127         * modules/dup2-tests (Files): Likewise.
34128         * modules/dup3-tests (Files): Likewise.
34129         * modules/duplocale-tests (Files): Likewise.
34130         * modules/fchdir-tests (Files): Likewise.
34131         * modules/fcntl-tests (Files): Likewise.
34132         * modules/fdopendir-tests (Files): Likewise.
34133         * modules/fflush-tests (Files): Likewise.
34134         * modules/flock-tests (Files): Likewise.
34135         * modules/floorf-tests (Files): Likewise.
34136         * modules/floorl-tests (Files): Likewise.
34137         * modules/fnmatch-tests (Files): Likewise.
34138         * modules/fopen-tests (Files): Likewise.
34139         * modules/fprintf-posix-tests (Files): Likewise.
34140         * modules/freopen-tests (Files): Likewise.
34141         * modules/frexp-nolibm-tests (Files): Likewise.
34142         * modules/frexp-tests (Files): Likewise.
34143         * modules/frexpl-nolibm-tests (Files): Likewise.
34144         * modules/frexpl-tests (Files): Likewise.
34145         * modules/fseek-tests (Files): Likewise.
34146         * modules/fseeko-tests (Files): Likewise.
34147         * modules/fsync-tests (Files): Likewise.
34148         * modules/ftell-tests (Files): Likewise.
34149         * modules/ftello-tests (Files): Likewise.
34150         * modules/futimens-tests (Files): Likewise.
34151         * modules/getaddrinfo-tests (Files): Likewise.
34152         * modules/getcwd-tests (Files): Likewise.
34153         * modules/getdelim-tests (Files): Likewise.
34154         * modules/getdtablesize-tests (Files): Likewise.
34155         * modules/getgroups-tests (Files): Likewise.
34156         * modules/gethostname-tests (Files): Likewise.
34157         * modules/getline-tests (Files): Likewise.
34158         * modules/getopt-posix-tests (Files): Likewise.
34159         * modules/gettimeofday-tests (Files): Likewise.
34160         * modules/glob-tests (Files): Likewise.
34161         * modules/iconv-tests (Files): Likewise.
34162         * modules/inet_ntop-tests (Files): Likewise.
34163         * modules/inet_pton-tests (Files): Likewise.
34164         * modules/isblank-tests (Files): Likewise.
34165         * modules/lchown-tests (Files): Likewise.
34166         * modules/ldexpl-tests (Files): Likewise.
34167         * modules/link-tests (Files): Likewise.
34168         * modules/linkat-tests (Files): Likewise.
34169         * modules/lseek-tests (Files): Likewise.
34170         * modules/lstat-tests (Files): Likewise.
34171         * modules/mbrtowc-tests (Files): Likewise.
34172         * modules/mbsinit-tests (Files): Likewise.
34173         * modules/mbsnrtowcs-tests (Files): Likewise.
34174         * modules/mbsrtowcs-tests (Files): Likewise.
34175         * modules/memchr-tests (Files): Likewise.
34176         * modules/memcmp-tests (Files): Likewise.
34177         * modules/memmem-tests (Files): Likewise.
34178         * modules/memrchr-tests (Files): Likewise.
34179         * modules/mkdir-tests (Files): Likewise.
34180         * modules/mkfifo-tests (Files): Likewise.
34181         * modules/mkfifoat-tests (Files): Likewise.
34182         * modules/mknod-tests (Files): Likewise.
34183         * modules/nanosleep-tests (Files): Likewise.
34184         * modules/nl_langinfo-tests (Files): Likewise.
34185         * modules/obstack-printf-tests (Files): Likewise.
34186         * modules/open-tests (Files): Likewise.
34187         * modules/openat-tests (Files): Likewise.
34188         * modules/perror-tests (Files): Likewise.
34189         * modules/pipe2-tests (Files): Likewise.
34190         * modules/poll-tests (Files): Likewise.
34191         * modules/popen-tests (Files): Likewise.
34192         * modules/posix_spawn-tests (Files): Likewise.
34193         * modules/posix_spawnp-tests (Files): Likewise.
34194         * modules/pread-tests (Files): Likewise.
34195         * modules/printf-posix-tests (Files): Likewise.
34196         * modules/pty-tests (Files): Likewise.
34197         * modules/random_r-tests (Files): Likewise.
34198         * modules/rawmemchr-tests (Files): Likewise.
34199         * modules/readlink-tests (Files): Likewise.
34200         * modules/remove-tests (Files): Likewise.
34201         * modules/rename-tests (Files): Likewise.
34202         * modules/renameat-tests (Files): Likewise.
34203         * modules/rmdir-tests (Files): Likewise.
34204         * modules/round-tests (Files): Likewise.
34205         * modules/roundf-tests (Files): Likewise.
34206         * modules/roundl-tests (Files): Likewise.
34207         * modules/select-tests (Files): Likewise.
34208         * modules/setenv-tests (Files): Likewise.
34209         * modules/sigaction-tests (Files): Likewise.
34210         * modules/sleep-tests (Files): Likewise.
34211         * modules/snprintf-posix-tests (Files): Likewise.
34212         * modules/snprintf-tests (Files): Likewise.
34213         * modules/sprintf-posix-tests (Files): Likewise.
34214         * modules/stat-tests (Files): Likewise.
34215         * modules/strcasestr-tests (Files): Likewise.
34216         * modules/strchrnul-tests (Files): Likewise.
34217         * modules/strerror-tests (Files): Likewise.
34218         * modules/strsignal-tests (Files): Likewise.
34219         * modules/strstr-tests (Files): Likewise.
34220         * modules/strtod-tests (Files): Likewise.
34221         * modules/strverscmp-tests (Files): Likewise.
34222         * modules/symlink-tests (Files): Likewise.
34223         * modules/symlinkat-tests (Files): Likewise.
34224         * modules/times-tests (Files): Likewise.
34225         * modules/trunc-tests (Files): Likewise.
34226         * modules/truncf-tests (Files): Likewise.
34227         * modules/truncl-tests (Files): Likewise.
34228         * modules/tsearch-tests (Files): Likewise.
34229         * modules/uname-tests (Files): Likewise.
34230         * modules/unlink-tests (Files): Likewise.
34231         * modules/unsetenv-tests (Files): Likewise.
34232         * modules/usleep-tests (Files): Likewise.
34233         * modules/utimensat-tests (Files): Likewise.
34234         * modules/vasprintf-tests (Files): Likewise.
34235         * modules/vdprintf-posix-tests (Files): Likewise.
34236         * modules/vfprintf-posix-tests (Files): Likewise.
34237         * modules/vprintf-posix-tests (Files): Likewise.
34238         * modules/vsnprintf-posix-tests (Files): Likewise.
34239         * modules/vsnprintf-tests (Files): Likewise.
34240         * modules/vsprintf-posix-tests (Files): Likewise.
34241         * modules/wcrtomb-tests (Files): Likewise.
34242         * modules/wcsnrtombs-tests (Files): Likewise.
34243         * modules/wcsrtombs-tests (Files): Likewise.
34244         * modules/wcwidth-tests (Files): Likewise.
34245         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34246         * tests/test-isinf.c (isinf): Likewise.
34247         * tests/test-isnan.c (isnan): Likewise.
34248         * tests/test-signbit.c (signbit): Likewise.
34249         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34250         declaration, either as macro or with correct signature.
34251         (select): Ensure function under test is declared with correct
34252         signature in correct header.
34253         * tests/test-atexit.c (atexit): Likewise.
34254         * tests/test-btowc.c (btowc): Likewise.
34255         * tests/test-canonicalize-lgpl.c (realpath)
34256         (canonicalize_file_name): Likewise.
34257         * tests/test-ceilf1.c (ceilf): Likewise.
34258         * tests/test-ceill.c (ceill): Likewise.
34259         * tests/test-chown.c (chown): Likewise.
34260         * tests/test-dprintf-posix.c (dprintf): Likewise.
34261         * tests/test-dup2.c (dup2): Likewise.
34262         * tests/test-dup3.c (dup3): Likewise.
34263         * tests/test-duplocale.c (duplocale): Likewise.
34264         * tests/test-fchdir.c (fchdir): Likewise.
34265         * tests/test-fchownat.c (fchownat): Likewise.
34266         * tests/test-fcntl.c (fcntl): Likewise.
34267         * tests/test-fdopendir.c (fdopendir): Likewise.
34268         * tests/test-fflush.c (fflush): Likewise.
34269         * tests/test-flock.c (flock): Likewise.
34270         * tests/test-floorf1.c (floorf): Likewise.
34271         * tests/test-floorl.c (floorl): Likewise.
34272         * tests/test-fnmatch.c (fnmatch): Likewise.
34273         * tests/test-fopen.c (fopen): Likewise.
34274         * tests/test-fprintf-posix.c (fprintf): Likewise.
34275         * tests/test-freopen.c (freopen): Likewise.
34276         * tests/test-frexp.c (frexp): Likewise.
34277         * tests/test-frexpl.c (frexpl): Likewise.
34278         * tests/test-fseek.c (fseek): Likewise.
34279         * tests/test-fseeko.c (fseeko): Likewise.
34280         * tests/test-fstatat.c (fstatat): Likewise.
34281         * tests/test-fsync.c (fsync): Likewise.
34282         * tests/test-ftell.c (ftell): Likewise.
34283         * tests/test-ftello.c (ftello): Likewise.
34284         * tests/test-futimens.c (futimens): Likewise.
34285         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34286         (gai_strerror): Likewise.
34287         * tests/test-getcwd.c (getcwd): Likewise.
34288         * tests/test-getdelim.c (getdelim): Likewise.
34289         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34290         * tests/test-getgroups.c (getgroups): Likewise.
34291         * tests/test-gethostname.c (gethostname): Likewise.
34292         * tests/test-getline.c (getline): Likewise.
34293         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34294         Likewise.
34295         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34296         * tests/test-glob.c (glob, globfree): Likewise.
34297         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34298         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34299         * tests/test-inet_pton.c (inet_pton): Likewise.
34300         * tests/test-isblank.c (isblank): Likewise.
34301         * tests/test-lchown.c (lchown): Likewise.
34302         * tests/test-ldexpl.c (ldexpl): Likewise.
34303         * tests/test-link.c (link): Likewise.
34304         * tests/test-linkat.c (linkat): Likewise.
34305         * tests/test-lseek.c (lseek): Likewise.
34306         * tests/test-lstat.c (lstat): Likewise.
34307         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34308         * tests/test-mbsinit.c (mbsinit): Likewise.
34309         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34310         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34311         * tests/test-memchr.c (memchr): Likewise.
34312         * tests/test-memcmp.c (memcmp): Likewise.
34313         * tests/test-memmem.c (memmem): Likewise.
34314         * tests/test-memrchr.c (memrchr): Likewise.
34315         * tests/test-mkdir.c (mkdir): Likewise.
34316         * tests/test-mkdirat.c (mkdirat): Likewise.
34317         * tests/test-mkfifo.c (mkfifo): Likewise.
34318         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34319         * tests/test-mknod.c (mknod): Likewise.
34320         * tests/test-nanosleep.c (nanosleep): Likewise.
34321         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34322         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34323         Likewise.
34324         * tests/test-open.c (open): Likewise.
34325         * tests/test-openat.c (openat): Likewise.
34326         * tests/test-perror.c (perror): Likewise.
34327         * tests/test-pipe2.c (pipe2): Likewise.
34328         * tests/test-poll.c (poll): Likewise.
34329         * tests/test-popen.c (popen, pclose): Likewise.
34330         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
34331         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
34332         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
34333         (posix_spawn_file_actions_destroy)
34334         (posix_spawn_file_actions_addclose)
34335         (posix_spawn_file_actions_addopen)
34336         (posix_spawn_file_actions_adddup2): Likewise.
34337         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
34338         * tests/test-pread.c (pread): Likewise.
34339         * tests/test-printf-posix.c (printf): Likewise.
34340         * tests/test-pty.c (openpty, forkpty): Likewise.
34341         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
34342         (random_r): Likewise.
34343         * tests/test-rawmemchr.c (rawmemchr): Likewise.
34344         * tests/test-readlink.c (readlink): Likewise.
34345         * tests/test-remove.c (remove): Likewise.
34346         * tests/test-rename.c (rename): Likewise.
34347         * tests/test-renameat.c (renameat): Likewise.
34348         * tests/test-rmdir.c (rmdir): Likewise.
34349         * tests/test-round1.c (round): Likewise.
34350         * tests/test-roundf1.c (roundf): Likewise.
34351         * tests/test-roundl.c (roundl): Likewise.
34352         * tests/test-setenv.c (setenv): Likewise.
34353         * tests/test-sigaction.c (sigaction): Likewise.
34354         * tests/test-sleep.c (sleep): Likewise.
34355         * tests/test-snprintf.c (snprintf): Likewise.
34356         * tests/test-sprintf-posix.c (sprintf): Likewise.
34357         * tests/test-stat.c (stat): Likewise.
34358         * tests/test-stpncpy.c (stpncpy): Likewise.
34359         * tests/test-strcasestr.c (strcasestr): Likewise.
34360         * tests/test-strchrnul.c (strchrnul): Likewise.
34361         * tests/test-strerror.c (strerror): Likewise.
34362         * tests/test-strsignal.c (strsignal): Likewise.
34363         * tests/test-strstr.c (strstr): Likewise.
34364         * tests/test-strtod.c (strtod): Likewise.
34365         * tests/test-strverscmp.c (strverscmp): Likewise.
34366         * tests/test-symlink.c (symlink): Likewise.
34367         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
34368         * tests/test-times.c (times): Likewise.
34369         * tests/test-trunc1.c (trunc): Likewise.
34370         * tests/test-truncf1.c (truncf): Likewise.
34371         * tests/test-truncl.c (truncl): Likewise.
34372         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
34373         Likewise.
34374         * tests/test-uname.c (uname): Likewise.
34375         * tests/test-unlink.c (unlink): Likewise.
34376         * tests/test-unlinkat.c (unlinkat): Likewise.
34377         * tests/test-unsetenv.c (unsetenv): Likewise.
34378         * tests/test-usleep.c (usleep): Likewise.
34379         * tests/test-utimensat.c (utimensat): Likewise.
34380         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
34381         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
34382         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
34383         * tests/test-vprintf-posix.c (vprintf): Likewise.
34384         * tests/test-vsnprintf.c (vsnprintf): Likewise.
34385         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
34386         * tests/test-wcrtomb.c (wcrtomb): Likewise.
34387         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
34388         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
34389         * tests/test-wcwidth.c (wcwidth): Likewise.
34390
34391         build: pull in conditional headers during GNULIB_POSIXCHECK
34392         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
34393         definitions from any conditionally-included headers.
34394         * lib/stdlib.in.h (includes): Likewise.
34395         * lib/unistd.in.h (includes): Likewise.
34396
34397 2009-12-24  Bruno Haible  <bruno@clisp.org>
34398
34399         * tests/test-argv-iter.c: Include header file being tested immediately
34400         after config.h.
34401         * tests/test-base64.c: Likewise.
34402         * tests/test-flock.c: Likewise.
34403         * tests/test-fsync.c: Likewise.
34404         * tests/test-getdate.c: Likewise.
34405         * tests/test-getndelim2.c: Likewise.
34406         * tests/test-isfinite.c: Likewise.
34407         * tests/test-isinf.c: Likewise.
34408         * tests/test-strerror.c: Likewise.
34409         * tests/test-strsignal.c: Likewise.
34410
34411 2009-12-23  Eric Blake  <ebb9@byu.net>
34412
34413         unistd: work around cygwin bug
34414         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
34415         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
34416         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
34417
34418 2009-12-23  Bruno Haible  <bruno@clisp.org>
34419
34420         localename: More tests.
34421         * tests/test-localename.c (SIZEOF): New macro.
34422         (categories): New variable.
34423         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
34424         test_locale_name_default): Add test w.r.t. thread locale.
34425         (test_locale_name_thread): New function.
34426         (main): Invoke it.
34427
34428         localename: Make aware of thread locale.
34429         * lib/localename.h (gl_locale_name_thread): New declaration.
34430         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
34431         behaviour with respect to thread locale.
34432         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
34433         <langinfo.h>, glthread/lock.h.
34434         (SIZE_BITS): New macro.
34435         (string_hash): New function.
34436         (struct hash_node): New type.
34437         (HASH_TABLE_SIZE): New macro.
34438         (struniq_hash_table, struniq_lock): New variables.
34439         (struniq): New function.
34440         (gl_locale_name_thread): New function.
34441         (gl_locale_name): Invoke it.
34442         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
34443         * modules/localename (Depends-on): Add lock.
34444         Reported by Mike Gran <spk121@yahoo.com>.
34445
34446 2009-12-23  Eric Blake  <ebb9@byu.net>
34447
34448         va-args: new module
34449         * modules/va-args: New file.
34450         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
34451         * MODULES.html.sh (Core language properties): Mention it.
34452
34453         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
34454         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
34455         named alias for __attribute__((__unused__)).
34456         * lib/chown.c: Update client.
34457         * lib/fchmodat.c: Likewise.
34458         * lib/fts.c: Likewise.
34459         * lib/getdate.y: Likewise.
34460         * lib/getgroups.c: Likewise.
34461         * lib/getopt.c: Likewise.
34462         * lib/getugroups.c: Likewise.
34463         * lib/mkdir.c: Likewise.
34464         * lib/mkfifo.c: Likewise.
34465         * lib/mkfifoat.c: Likewise.
34466         * lib/mknod.c: Likewise.
34467         * lib/mknodat.c: Likewise.
34468         * lib/readlink.c: Likewise.
34469         * lib/se-context.in.h: Likewise.
34470         * lib/se-selinux.in.h: Likewise.
34471         * lib/sockets.c: Likewise.
34472         * lib/symlink.c: Likewise.
34473         * lib/symlinkat.c: Likewise.
34474         * lib/unicodeio.c: Likewise.
34475         * lib/unistr.h: Likewise.
34476         * tests/test-areadlink.c: Likewise.
34477         * tests/test-areadlinkat.c: Likewise.
34478         * tests/test-filenamecat.c: Likewise.
34479         * tests/test-fseeko.c: Likewise.
34480         * tests/test-ftello.c: Likewise.
34481         * tests/test-getdate.c: Likewise.
34482         * tests/test-getgroups.c: Likewise.
34483         * tests/test-gethostname.c: Likewise.
34484         * tests/test-quotearg.c: Likewise.
34485         * tests/test-version-etc.c: Likewise.
34486         * tests/test-xalloc-die.c: Likewise.
34487         * tests/test-xfprintf-posix.c: Likewise.
34488         * tests/test-xprintf-posix.c: Likewise.
34489         * tests/test-xvasprintf.c: Likewise.
34490
34491         tests: avoid compiler warnings
34492         * tests/test-fcntl.c (main): Delete unused parameters.
34493         * tests/test-freopen-safer.c (main): Likewise.
34494         * tests/test-xalloc-die.c (main): Mark unused parameters.
34495         * tests/test-fseeko.c (main): Likewise.
34496         * tests/test-ftello.c (main): Likewise.
34497         * tests/test-nanosleep.c (main): Avoid declaration warning.
34498         * tests/test-sleep.c (main): Likewise.
34499         * tests/test-unsetenv.c (main): Silence warning about string
34500         literal.
34501         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
34502
34503 2009-12-23  Bruno Haible  <bruno@clisp.org>
34504
34505         * tests/test-localename.c (test_locale_name): New function, extracted
34506         from main. Also test mixed situations.
34507         (test_locale_name_posix, test_locale_name_environ,
34508         test_locale_name_default): New functions.
34509         (main): Invoke them all.
34510         * modules/localename-tests (configure.ac): Test for newlocale.
34511
34512 2009-12-23  Bruno Haible  <bruno@clisp.org>
34513
34514         unistd: Ensure getcwd gets declared before being overridden.
34515         * lib/unistd.in.h: Conditionally include <io.h>.
34516
34517 2009-12-22  Bruno Haible  <bruno@clisp.org>
34518
34519         wchar: Diagnose broken combination of glibc and gcc versions and flags.
34520         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
34521         (gl_WCHAR_H): Invoke it.
34522         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
34523         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
34524         Reported by Karl Berry <karl@freefriends.org>.
34525
34526 2009-12-22  Eric Blake  <ebb9@byu.net>
34527
34528         math, unistd: avoid redundant includes
34529         * lib/math.in.h (isnan): No need to re-include <math.h>.
34530         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
34531
34532         getsubopt: work around cygwin bug
34533         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
34534         avoid conflicting with system getsubopt.
34535         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
34536         bug.
34537
34538         getopt: synchronize from glibc
34539         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
34540         parameter order.  Adjust all callers.
34541         (_getopt_internal_r, main): Adjust quoting in error messages.
34542         Drop considerations for outdated POSIX 1003.2 error message.
34543         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
34544         callers.
34545         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
34546
34547         test-getopt: test stderr behavior
34548         * modules/getopt-posix-tests (Depends-on): Add dup2.
34549         * tests/test-getopt.c (ASSERT): Avoid stderr.
34550         (main): Move stderr to a temporary file.
34551         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
34552         Instead, add parameter to inform caller if output occurred.
34553         (test_getopt): Adjust all existing tests to expect silence, and
34554         add new tests of leading ":".
34555         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34556         glibc shortcomings with leading "-:" or "+:" in optstring.
34557         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34558         Likewise.
34559         * doc/posix-functions/getopt.texi (getopt): Likewise.
34560
34561         test-getopt: enhance test
34562         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
34563         supports optind=0.
34564         * tests/test-getopt.c (OPTIND_MIN): Move...
34565         * tests/test-getopt.h (OPTIND_MIN): ...here.
34566         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
34567         Require that optind=0 works, since modern BSD supports it in
34568         addition to optreset, and since coreutils expects it.
34569         (test_getopt_long_only): New test.
34570         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
34571         glibc shortcomings with 'W;', and enforcement of optind=0.
34572         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34573         Likewise.
34574
34575 2009-12-21  Bruno Haible  <bruno@clisp.org>
34576
34577         localename: Improvements for MacOS X and Cygwin.
34578         * lib/localename.h (gl_locale_name_environ): New declaration.
34579         * lib/localename.c (gl_locale_name_environ): New function, extracted from
34580         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
34581         (gl_locale_name_posix): Invoke it.
34582         (gl_locale_name_default): Add comments. Use Windows native API also on
34583         Cygwin.
34584
34585 2009-12-21  Bruno Haible  <bruno@clisp.org>
34586
34587         Update list of Win32 locale ids.
34588         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
34589         (LANG_SAMI): Renamed from LANG_SAAMI.
34590         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
34591         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
34592         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
34593         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
34594         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
34595         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
34596         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
34597         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
34598         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
34599         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
34600         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
34601         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
34602         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
34603         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
34604         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
34605         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
34606         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
34607         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
34608         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
34609         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
34610         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
34611         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
34612         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
34613         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
34614         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
34615         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
34616         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
34617         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
34618         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
34619         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
34620         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
34621         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
34622         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
34623         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
34624         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
34625         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
34626         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
34627         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
34628         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
34629         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
34630         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
34631         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
34632         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
34633         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
34634         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
34635         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
34636         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
34637         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
34638         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
34639         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
34640         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
34641         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
34642         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
34643         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
34644         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
34645         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
34646         Add more languages and countries for Sami, Sorbian. Add more countries
34647         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
34648         for Pashto. Change country for Syriac, Tswana.
34649
34650 2009-12-21  Eric Blake  <ebb9@byu.net>
34651
34652         test-utimens: avoid spurious failure
34653         * tests/test-chown.h (nap): Factor...
34654         * tests/nap.h: ...into new file.
34655         * tests/test-lchown.h (nap): Avoid duplication.
34656         * tests/test-utimens-common.h (nap): Use shared implementation,
34657         necessary on file systems with 1-second resolution.
34658         * modules/chown-tests (Files): Include new file.
34659         * modules/fdutimensat-tests (Files): Likewise.
34660         * modules/futimens-tests (Files): Likewise.
34661         * modules/lchown-tests (Files): Likewise.
34662         * modules/openat-tests (Files): Likewise.
34663         * modules/utimens-tests (Files): Likewise.
34664         * modules/utimensat-tests (Files): Likewise.
34665
34666 2009-12-19  Eric Blake  <ebb9@byu.net>
34667
34668         futimens, utimensat: work around Linux bug
34669         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
34670         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
34671         * lib/utimensat.c (rpl_utimensat): Work around it.
34672         * lib/futimens.c (rpl_futimens): Adjust comment.
34673
34674         utimens: work around Linux ctime bug
34675         * lib/utimens.c (detect_ctime_bug): New helper function.
34676         (update_timespec): Differentiate between workaround needed for
34677         this bug vs. what is needed for systems that lack utimensat.
34678         (fdutimens, lutimens): Work around bug.
34679
34680         utimens: check for ctime update
34681         * tests/test-utimens-common.h (check_ctime): Define.
34682         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
34683         * tests/test-futimens.h (test_futimens): Likewise.
34684         * tests/test-lutimens.h (test_lutimens): Likewise.
34685         * doc/posix-functions/futimens.texi (futimens): Document the bug.
34686         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
34687
34688 2009-12-19  Bruno Haible  <bruno@clisp.org>
34689
34690         dprintf-posix: Check against memory leak fixed on 2009-12-15.
34691         * tests/test-dprintf-posix2.sh: New file.
34692         * tests/test-dprintf-posix2.c: New file.
34693         * modules/dprintf-posix-tests (Files): Add them.
34694         (configure.ac): Check for getrlimit and setrlimit.
34695         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34696
34697 2009-12-19  Bruno Haible  <bruno@clisp.org>
34698
34699         fprintf-posix: Check against memory leak fixed on 2009-12-15.
34700         * tests/test-fprintf-posix3.sh: New file.
34701         * tests/test-fprintf-posix3.c: New file.
34702         * modules/fprintf-posix-tests (Files): Add them.
34703         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
34704
34705 2009-12-19  Eric Blake  <ebb9@byu.net>
34706
34707         dirfd: fix prototype
34708         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
34709         * lib/dirfd.c (dirfd): Likewise.
34710
34711         canonicalize: reduce memory usage
34712         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
34713         allocation to size.
34714         Reported by Solar Designer <solar@openwall.com>.
34715
34716 2009-12-19  Bruno Haible  <bruno@clisp.org>
34717
34718         New module attribute 'Applicability'.
34719         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
34720         * gnulib-tool: New option --extract-applicability.
34721         (func_usage): Document it.
34722         (sed_extract_prog): Recognize it.
34723         (func_get_applicability): New function.
34724         (func_import): Generalize handling of 'link-warning' module.
34725         * modules/link-warning (Applicability): New section.
34726         * modules/arg-nonnull (Applicability): New section.
34727         Repoted by Simon Josefsson <simon@josefsson.org>.
34728
34729 2009-12-19  Bruno Haible  <bruno@clisp.org>
34730
34731         fflush: tweak
34732         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
34733         * lib/fseeko.c (rpl_fseeko): Likewise.
34734
34735 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
34736
34737         * lib/gl_list.h: Fix typo in comment.
34738
34739 2009-12-16  Eric Blake  <ebb9@byu.net>
34740
34741         fcntl: use to simplify other modules
34742         * modules/cloexec (Depends-on): Add fcntl.
34743         * modules/fchdir (Depends-on): Likewise.
34744         * modules/fd-safer-flag (Depends-on): Likewise.
34745         * modules/unistd-safer (Depends-on): Likewise.
34746         * modules/dup3 (configure.ac): Set module indicator.
34747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
34748         missing.
34749         * lib/fchdir.c (_gl_register_dup): Fix comment.
34750         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
34751         * lib/dup-safer.c (dup_safer): Likewise.
34752         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
34753         * lib/dup3.c (dup3): Likewise.
34754         * tests/test-fchdir.c (main): Enhance test.
34755         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
34756
34757         fcntl: port portions of fcntl to mingw
34758         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
34759         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
34760         replacement for mingw.
34761         * modules/fcntl (Description): Update.
34762         (Depends-on): Add dup2.
34763         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
34764         * modules/fcntl-h (Makefile.am): Substitute it.
34765         * lib/fcntl.in.h (fcntl): Update declaration.
34766         (F_DUPFD, F_GETFD): New macros, when needed.
34767         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34768         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
34769         * tests/test-fcntl.c (check_flags, main): Enhance test for items
34770         we now guarantee.
34771
34772         fcntl: work around cygwin bug in F_DUPFD
34773         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
34774         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
34775         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
34776         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
34777         * doc/posix-functions/fcntl.texi (fcntl): Document it.
34778
34779         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
34780         * modules/fcntl (Files): List new files.
34781         (configure.ac): Run a test.
34782         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
34783         * lib/fcntl.c (rpl_fcntl): Likewise.
34784         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
34785         (gl_FCNTL_H): Always replace fcntl.h.
34786         * modules/fcntl-h (Makefile.am): Substitute witnesses.
34787         * lib/fcntl.in.h (fcntl): Declare replacement.
34788         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
34789         needed, plus a witness.
34790         * doc/posix-functions/fcntl.texi (fcntl): Document this.
34791         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
34792         * tests/test-fcntl.c: New file.
34793         * modules/fcntl-tests: Likewise.
34794
34795         binary-io: avoid potential compilation warning
34796         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
34797         directives.
34798
34799         fflush: avoid compilation error on NetBSD
34800         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
34801         between off_t and fpos_t, since the latter is sometimes a struct.
34802         * lib/fseeko.c (rpl_fseeko): Likewise.
34803         Reported by Alexander Nasonov <alnsn@yandex.ru>.
34804
34805 2009-12-15  Eric Blake  <ebb9@byu.net>
34806
34807         fcntl-h, stdio, sys_ioctl: fix declarations
34808         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
34809         function must not take arguments.
34810         * lib/sys_ioctl.in.h (ioctl): Likewise.
34811         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
34812         (open): Add a link warning.
34813
34814 2009-12-15  Jim Meyering  <meyering@redhat.com>
34815
34816         areadlink, areadlink-with-size: relax license to LGPLv2+
34817         * modules/areadlink (License): Relax to LGPLv2+.
34818         * modules/areadlink-with-size (License): Likewise.
34819
34820 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
34821             Bruno Haible  <bruno@clisp.org>
34822
34823         *printf: Fix memory leak.
34824         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
34825         * lib/vfprintf.c (vfprintf): Likewise.
34826         * lib/dprintf.c (dprintf): Likewise.
34827         * lib/vdprintf.c (vdprintf): Likewise.
34828
34829 2009-12-14  Eric Blake  <ebb9@byu.net>
34830
34831         accept4: adjust module dependencies
34832         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
34833
34834         utimens: one more try at avoiding compiler warning
34835         * lib/utimens.c (lutimens): Lower scope of result.
34836
34837 2009-12-13  Bruno Haible  <bruno@clisp.org>
34838
34839         Move the malloc checking from module 'list' to new module 'xlist'.
34840         * modules/xlist: New file.
34841         * lib/gl_xlist.h: New file.
34842         * lib/gl_xlist.c: New file.
34843         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
34844         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
34845         gl_list_add_last, gl_list_add_before, gl_list_add_after,
34846         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
34847         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
34848         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
34849         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
34850         gl_sortedlist_nx_add): New declarations.
34851         (struct gl_list_implementation): Rename and change methods accordingly.
34852         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
34853         (gl_list_nx_create): Renamed from gl_list_create.
34854         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34855         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34856         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34857         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34858         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34859         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34860         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34861         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34862         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
34863         gl_list_create_empty.
34864         (gl_list_nx_create): Renamed from gl_list_create.
34865         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
34866         (gl_list_nx_set_at): Renamed from gl_list_set_at.
34867         (gl_list_nx_add_first): Renamed from gl_list_add_first.
34868         (gl_list_nx_add_last): Renamed from gl_list_add_last.
34869         (gl_list_nx_add_before): Renamed from gl_list_add_before.
34870         (gl_list_nx_add_after): Renamed from gl_list_add_after.
34871         (gl_list_nx_add_at): Renamed from gl_list_add_at.
34872         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
34873         * lib/gl_array_list.c: Don't include xalloc.h.
34874         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
34875         NULL upon out-of-memory.
34876         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
34877         out-of-memory.
34878         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
34879         Change return type to 'int'.
34880         (gl_array_nx_set_at): Renamed from gl_array_set_at.
34881         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34882         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
34883         upon out-of-memory.
34884         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
34885         upon out-of-memory.
34886         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
34887         upon out-of-memory.
34888         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
34889         upon out-of-memory.
34890         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
34891         out-of-memory.
34892         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
34893         Update.
34894         (gl_array_list_implementation): Update.
34895         * lib/gl_carray_list.c: Don't include xalloc.h.
34896         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
34897         Return NULL upon out-of-memory.
34898         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
34899         out-of-memory.
34900         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
34901         Change return type to 'int'.
34902         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
34903         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
34904         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
34905         upon out-of-memory.
34906         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
34907         upon out-of-memory.
34908         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
34909         out-of-memory.
34910         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
34911         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
34912         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
34913         Update.
34914         (gl_carray_list_implementation): Update.
34915         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
34916         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
34917         gl_linked_create_empty. Return NULL upon out-of-memory.
34918         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
34919         out-of-memory.
34920         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
34921         Change return type to 'int'. Return -1 upon out-of-memory.
34922         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
34923         out-of-memory.
34924         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
34925         upon out-of-memory.
34926         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
34927         upon out-of-memory.
34928         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
34929         NULL upon out-of-memory.
34930         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
34931         upon out-of-memory.
34932         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
34933         out-of-memory.
34934         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
34935         Update.
34936         * lib/gl_linked_list.c: Don't include xalloc.h.
34937         (gl_linked_list_implementation): Update.
34938         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
34939         (add_to_bucket): Change return type to 'int'.
34940         (gl_linkedhash_list_implementation): Update.
34941         * lib/gl_anytree_list1.h (free_subtree): New function.
34942         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
34943         gl_tree_create_empty. Return NULL upon out-of-memory.
34944         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
34945         Change return type to 'int'. Return -1 upon out-of-memory.
34946         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
34947         out-of-memory.
34948         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
34949         (gl_tree_remove_node): New function, moved here from
34950         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
34951         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
34952         Update.
34953         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
34954         malloc, not xmalloc. Return NULL upon out-of-memory.
34955         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34956         out-of-memory.
34957         (gl_tree_remove_node_from_tree): New function, extracted from
34958         gl_tree_remove_node.
34959         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34960         upon out-of-memory.
34961         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34962         out-of-memory.
34963         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34964         upon out-of-memory.
34965         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34966         upon out-of-memory.
34967         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34968         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34969         not xmalloc. Return NULL upon out-of-memory.
34970         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34971         out-of-memory.
34972         (gl_tree_remove_node_from_tree): New function, extracted from
34973         gl_tree_remove_node.
34974         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34975         upon out-of-memory.
34976         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34977         out-of-memory.
34978         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34979         upon out-of-memory.
34980         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34981         upon out-of-memory.
34982         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34983         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34984         gl_anytree_list1.h before gl_anyavltree_list2.h.
34985         (gl_avltree_list_implementation): Update.
34986         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34987         gl_anytree_list1.h before gl_anyavltree_list2.h.
34988         (gl_rbtree_list_implementation): Update.
34989         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34990         Change return type to 'int'. Return -1 upon out-of-memory. Use
34991         __builtin_expect.
34992         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34993         (gl_avltreehash_list_implementation): Update.
34994         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34995         (gl_rbtreehash_list_implementation): Update.
34996         * modules/array-list (Depends-on): Remove xalloc.
34997         * modules/carray-list (Depends-on): Likewise.
34998         * modules/linked-list (Depends-on): Likewise.
34999         * modules/linkedhash-list (Depends-on): Likewise.
35000         * modules/avltree-list (Depends-on): Likewise.
35001         * modules/rbtree-list (Depends-on): Likewise.
35002         * modules/avltreehash-list (Depends-on): Likewise.
35003         * modules/rbtreehash-list (Depends-on): Likewise.
35004
35005         * modules/xsublist: New file.
35006         * lib/gl_xsublist.h: New file.
35007         * lib/gl_xsublist.c: New file.
35008         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35009         (gl_sublist_nx_create): New declaration.
35010         * lib/gl_sublist.c: Don't include xalloc.h.
35011         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35012         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35013         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35014         Change return type to 'int'. Return -1 upon out-of-memory.
35015         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35016         upon out-of-memory.
35017         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35018         NULL upon out-of-memory.
35019         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35020         upon out-of-memory.
35021         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35022         NULL upon out-of-memory.
35023         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35024         NULL upon out-of-memory.
35025         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35026         upon out-of-memory.
35027         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35028         (gl_sublist_list_implementation): Update.
35029         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35030         upon out-of-memory.
35031         * modules/sublist (Depends-on): Remove xalloc.
35032
35033         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35034         * tests/test-carray_list.c: Likewise.
35035         * tests/test-linked_list.c: Likewise.
35036         * tests/test-linkedhash_list.c: Likewise.
35037         * tests/test-avltree_list.c: Likewise.
35038         * tests/test-rbtree_list.c: Likewise.
35039         * tests/test-avltreehash_list.c: Likewise.
35040         * tests/test-rbtreehash_list.c: Likewise.
35041         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35042         * modules/carray-list-tests (Makefile.am): Likewise.
35043         * modules/linked-list-tests (Makefile.am): Likewise.
35044         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35045         * modules/avltree-list-tests (Makefile.am): Likewise.
35046         * modules/rbtree-list-tests (Makefile.am): Likewise.
35047         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35048         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35049
35050         * NEWS: Mention the changes.
35051
35052         * lib/clean-temp.c: Include gl_xlist.h.
35053         * modules/clean-temp (Depends-on): Add xlist.
35054
35055         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35056         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35057
35058         * tests/test-array_oset.c: Include gl_xlist.h.
35059         * modules/array-oset-tests (Depends-on): Add xlist.
35060
35061         Reported by José E. Marchesi <jemarch@gnu.org>.
35062
35063 2009-12-13  Bruno Haible  <bruno@clisp.org>
35064
35065         Move the malloc checking from module 'oset' to new module 'xoset'.
35066         * modules/xoset: New file.
35067         * lib/gl_xoset.h: New file.
35068         * lib/gl_xoset.c: New file.
35069         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35070         declarations.
35071         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35072         (struct gl_oset_implementation): Rename and change methods accordingly.
35073         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35074         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35075         'int'. Mark as __warn_unused_result__.
35076         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35077         gl_oset_create_empty.
35078         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35079         'int'.
35080         * lib/gl_array_oset.c: Don't include xalloc.h.
35081         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35082         malloc, not xmalloc.
35083         (grow): Change return type to 'int'. Don't call xalloc_die.
35084         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35085         to 'int'.
35086         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35087         'int'.
35088         (gl_array_oset_implementation): Update.
35089         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35090         gl_tree_create_empty.
35091         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35092         'int'.
35093         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35094         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35095         xmalloc.
35096         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35097         not xmalloc.
35098         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35099         xmalloc.
35100         (gl_avltree_oset_implementation): Update.
35101         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35102         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35103         xmalloc.
35104         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35105         not xmalloc.
35106         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35107         xmalloc.
35108         (gl_rbtree_oset_implementation): Update.
35109         * modules/array-oset (Depends-on): Remove xalloc.
35110         * modules/avltree-oset (Depends-on): Likewise.
35111         * modules/rbtree-oset (Depends-on): Likewise.
35112         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35113         * tests/test-avltree_oset.c: Likewise.
35114         * tests/test-rbtree_oset.c: Likewise.
35115         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35116         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35117         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35118         * NEWS: Mention the change.
35119
35120 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35121
35122         maint.mk: allow a project to override release-prep commands
35123         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35124         commands into a new rule.
35125         (release-prep): New rule.
35126         (release-prep-hook): New overridable variable.
35127
35128 2009-12-13  Bruno Haible  <bruno@clisp.org>
35129
35130         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35131
35132 2009-12-13  Jim Meyering  <meyering@redhat.com>
35133
35134         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35135         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35136
35137 2009-12-12  Bruno Haible  <bruno@clisp.org>
35138
35139         duplocale: Tweak.
35140         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35141
35142 2009-12-12  Karl Berry  <karl@gnu.org>
35143
35144         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35145
35146 2009-12-12  Bruno Haible  <bruno@clisp.org>
35147
35148         * m4/po.m4: Undo incorrect untabification.
35149
35150 2009-12-12  Bruno Haible  <bruno@clisp.org>
35151
35152         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35153         * modules/c-strtod (Depends-on): Add locale.
35154         * modules/c-strtold (Depends-on): Likewise.
35155
35156 2009-12-12  Bruno Haible  <bruno@clisp.org>
35157
35158         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35159
35160 2009-12-11  Eric Blake  <ebb9@byu.net>
35161
35162         setenv: relax requirement in light of POSIX ruling
35163         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35164         not NULL.
35165         * tests/test-setenv.c (main): Relax test.
35166         * tests/test-unsetenv.c (main): Likewise.
35167         * doc/posix-functions/setenv.texi (setenv): Document this.
35168         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35169
35170 2009-12-11  Bruno Haible  <bruno@clisp.org>
35171
35172         New module 'fd-safer-flag'.
35173         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35174         * lib/dup-safer.c (dup_safer_flag): Remove function.
35175         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35176         * lib/fd-safer.c (fd_safer_flag): Remove function.
35177         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35178         * modules/cloexec (configure.ac): Drop indicator macro.
35179         * modules/fd-safer-flag: New file.
35180         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35181         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35182         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35183
35184 2009-12-11  Bruno Haible  <bruno@clisp.org>
35185
35186         Tests for module 'nl_langinfo'.
35187         * modules/nl_langinfo-tests: New file.
35188         * tests/test-nl_langinfo.sh: New file.
35189         * tests/test-nl_langinfo.c: New file.
35190
35191         New module 'nl_langinfo'.
35192         * lib/nl_langinfo.c: New file.
35193         * m4/nl_langinfo.m4: New file.
35194         * modules/nl_langinfo: New file.
35195         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35196
35197 2009-12-11  Bruno Haible  <bruno@clisp.org>
35198
35199         Tests for module 'langinfo'.
35200         * modules/langinfo-tests: New file.
35201         * tests/test-langinfo.c: New file.
35202
35203         New module 'langinfo'.
35204         * lib/langinfo.in.h: New file.
35205         * m4/langinfo_h.m4: New file.
35206         * modules/langinfo: New file.
35207         * doc/posix-headers/langinfo.texi: Mention the new module.
35208
35209 2009-12-11  Bruno Haible  <bruno@clisp.org>
35210
35211         * lib/config.charset: Untabify.
35212
35213 2009-12-11  Bruno Haible  <bruno@clisp.org>
35214
35215         * modules/unistd-safer (configure.ac): Drop indicator macro.
35216
35217 2009-12-11  Bruno Haible  <bruno@clisp.org>
35218
35219         Move pipe2-safer code to its own file.
35220         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35221         * lib/pipe-safer.c (pipe2_safer): Remove function.
35222         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35223         (Makefile.am): Add it to lib_SOURCES.
35224
35225 2009-12-10  Bruno Haible  <bruno@clisp.org>
35226
35227         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35228
35229 2009-12-10  Bruno Haible  <bruno@clisp.org>
35230
35231         Declare which arguments expect non-NULL values, for GCC and clang.
35232         * build-aux/arg-nonnull.h: New file.
35233         * modules/arg-nonnull: New file.
35234         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35235         (inet_ntop, inet_pton): Use it.
35236         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35237         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35238         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35239         (open, openat): Use it.
35240         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35241         (fnmatch): Use it.
35242         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35243         (getopt, getopt_long, getopt_long_only): Use it.
35244         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35245         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35246         Use it.
35247         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35248         (iconv_open): Use it.
35249         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35250         (strtoimax, strtoumax): Use it.
35251         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35252         (duplocale): Use it.
35253         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35254         (frexp, frexpl): Use it.
35255         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35256         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35257         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35258         (tsearch, tfind, tdelete, twalk): Use it.
35259         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35260         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35261         sigpending): Use it.
35262         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35263         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35264         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35265         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35266         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35267         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35268         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35269         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35270         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35271         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35272         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35273         Use it.
35274         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35275         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35276         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35277         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35278         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35279         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35280         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35281         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35282         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35283         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35284         strtoull, unsetenv): Use it.
35285         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35286         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35287         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35288         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35289         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35290         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35291         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35292         (strcasecmp, strncasecmp): Use it.
35293         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35294         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35295         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35296         rpl_setsockopt): Use it.
35297         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35298         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35299         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35300         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35301         (gettimeofday): Use it.
35302         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35303         (times): Use it.
35304         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35305         (uname): Use it.
35306         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35307         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35308         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35309         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35310         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35311         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35312         unlinkat, write): Use it.
35313         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35314         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35315         * lib/argv-iter.h: Include arg-nonnull.h.
35316         (_ATTRIBUTE_NONNULL_): Remove macro.
35317         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35318         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35319         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35320         optimization.
35321         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35322         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35323         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35324         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35325         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35326         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35327         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35328         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35329         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35330         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
35331         * modules/dirent (Depends-on): Add arg-nonnull.
35332         (Makefile.am): Insert arg-nonnull.h into dirent.h.
35333         * modules/fcntl-h (Depends-on): Add arg-nonnull.
35334         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
35335         * modules/fnmatch (Depends-on): Add arg-nonnull.
35336         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
35337         * modules/getopt-posix (Depends-on): Add arg-nonnull.
35338         (Makefile.am): Insert arg-nonnull.h into getopt.h.
35339         * modules/glob (Depends-on): Add arg-nonnull.
35340         (Makefile.am): Insert arg-nonnull.h into glob.h.
35341         * modules/iconv_open (Depends-on): Add arg-nonnull.
35342         (Makefile.am): Insert arg-nonnull.h into iconv.h.
35343         * modules/inttypes (Depends-on): Add arg-nonnull.
35344         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
35345         * modules/locale (Depends-on): Add arg-nonnull.
35346         (Makefile.am): Insert arg-nonnull.h into locale.h.
35347         * modules/math (Depends-on): Add arg-nonnull.
35348         (Makefile.am): Insert arg-nonnull.h into math.h.
35349         * modules/netdb (Depends-on): Add arg-nonnull.
35350         (Makefile.am): Insert arg-nonnull.h into netdb.h.
35351         * modules/search (Depends-on): Add arg-nonnull.
35352         (Makefile.am): Insert arg-nonnull.h into search.h.
35353         * modules/signal (Depends-on): Add arg-nonnull.
35354         (Makefile.am): Insert arg-nonnull.h into signal.h.
35355         * modules/spawn (Depends-on): Add arg-nonnull.
35356         (Makefile.am): Insert arg-nonnull.h into spawn.h.
35357         * modules/stdio (Depends-on): Add arg-nonnull.
35358         (Makefile.am): Insert arg-nonnull.h into stdio.h.
35359         * modules/stdlib (Depends-on): Add arg-nonnull.
35360         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
35361         * modules/string (Depends-on): Add arg-nonnull.
35362         (Makefile.am): Insert arg-nonnull.h into string.h.
35363         * modules/strings (Depends-on): Add arg-nonnull.
35364         (Makefile.am): Insert arg-nonnull.h into strings.h.
35365         * modules/sys_socket (Depends-on): Add arg-nonnull.
35366         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
35367         * modules/sys_stat (Depends-on): Add arg-nonnull.
35368         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
35369         * modules/sys_time (Depends-on): Add arg-nonnull.
35370         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
35371         * modules/sys_times (Depends-on): Add arg-nonnull.
35372         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
35373         * modules/sys_utsname (Depends-on): Add arg-nonnull.
35374         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
35375         * modules/time (Depends-on): Add arg-nonnull.
35376         (Makefile.am): Insert arg-nonnull.h into time.h.
35377         * modules/unistd (Depends-on): Add arg-nonnull.
35378         (Makefile.am): Insert arg-nonnull.h into unistd.h.
35379         * modules/wchar (Depends-on): Add arg-nonnull.
35380         (Makefile.am): Insert arg-nonnull.h into wchar.h.
35381         * modules/argv-iter (Depends-on): Add arg-nonnull.
35382         * tests/test-canonicalize.c (null_ptr): New function.
35383         (main): Use it.
35384         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
35385         (main): Use it.
35386         * tests/test-memmem.c (null_ptr): New function.
35387         (main): Use it.
35388         Reported by Jim Meyering.
35389
35390 2009-12-10  Bruno Haible  <bruno@clisp.org>
35391
35392         Use spaces for indentation, not tabs.
35393         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
35394         * m4/*.m4: Untabify.
35395         * build-aux/*.h: Untabify.
35396         * tests/**/*.[hc]: Untabify.
35397         * README: New section "Indent with spaces, not TABs", based on
35398         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
35399         * NEWS: Mention the change.
35400
35401 2009-12-10  Bruno Haible  <bruno@clisp.org>
35402
35403         pty test: Fix link error.
35404         * modules/pty-tests (Makefile.am): Add the default LDADD value to
35405         test_pty_LDADD.
35406
35407 2009-12-07  Simon Josefsson  <simon@josefsson.org>
35408
35409         * modules/pty: New file.
35410         * modules/pty-tests: New file.
35411         * m4/pty.m4: New file.
35412         * tests/test-pty.c: New file.
35413         * doc/glibc-headers/pty.texi: Modified.
35414         * doc/glibc-functions/forkpty.texi: Modified.
35415         * doc/glibc-functions/openpty.texi: Modified.
35416
35417 2009-12-10  Bruno Haible  <bruno@clisp.org>
35418
35419         Avoid syntax error in C++ mode.
35420         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
35421
35422 2009-12-10  Bruno Haible  <bruno@clisp.org>
35423
35424         Use sed with option -e.
35425         * gnulib-tool (func_version, func_emit_copyright_notice,
35426         func_emit_initmacro_end, func_import, func_create_testdir): Pass
35427         option -e to sed.
35428         * modules/link-warning (Makefile.am): Likewise.
35429
35430 2009-12-10  Jim Meyering  <meyering@redhat.com>
35431
35432         mgetgroups: do not write bytes beyond end of malloc'd buffer
35433         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
35434         username, we call getgroups with a one-element-shorter buffer,
35435         but still told it the length was original, max_n_groups.
35436
35437 2009-12-09  Eric Blake  <ebb9@byu.net>
35438
35439         cloexec: relax license
35440         * modules/cloexec (Maintainer): Add myself.
35441         (License): Use LGPL, not GPL.
35442
35443         link-warning: optimize generation
35444         * modules/link-warning (Makefile.am): Reduce process usage.
35445
35446 2009-12-09  Bruno Haible  <bruno@clisp.org>
35447
35448         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
35449         workaround was added on 2009-11-17.
35450
35451 2009-12-09  Jim Meyering  <meyering@redhat.com>
35452             Bruno Haible  <bruno@clisp.org>
35453
35454         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
35455         * modules/link-warning (Makefile.am): Make the comment-removing sed
35456         command more robust in the face of bootstrap-prepended comment lines.
35457
35458 2009-12-09  Bruno Haible  <bruno@clisp.org>
35459
35460         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
35461         most one group.
35462
35463 2009-12-09  Simon Josefsson <simon@josefsson.org>
35464             Bruno Haible  <bruno@clisp.org>
35465
35466         * build-aux/link-warning.h: Add copyright notice.
35467         * modules/link-warning (Makefile.am): Generate link-warning.h from
35468         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
35469         * NEWS: Mention change in link-warning module.
35470         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
35471         * modules/dirent (Makefile.am): Add dependency to dirent.h.
35472         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
35473         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
35474         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
35475         * modules/math (Makefile.am): Add dependency to math.h.
35476         * modules/search (Makefile.am): Add dependency to search.h.
35477         * modules/signal (Makefile.am): Add dependency to signal.h.
35478         * modules/spawn (Makefile.am): Add dependency to spawn.h.
35479         * modules/stdio (Makefile.am): Add dependency to stdio.h.
35480         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
35481         * modules/string (Makefile.am): Add dependency to string.h.
35482         * modules/strings (Makefile.am): Add dependency to strings.h.
35483         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
35484         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
35485         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
35486         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
35487         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
35488         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
35489         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
35490         * modules/unistd (Makefile.am): Add dependency to unistd.h.
35491         * modules/wchar (Makefile.am): Add dependency to wchar.h.
35492
35493 2009-12-09  Bruno Haible  <bruno@clisp.org>
35494
35495         fchdir: Optimize away rpl_fstat when possible.
35496         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
35497         REPLACE_OPEN_DIRECTORY.
35498         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
35499
35500 2009-12-09  Bruno Haible  <bruno@clisp.org>
35501
35502         * lib/fchdir.c: Update comment.
35503
35504 2009-12-09  Bruno Haible  <bruno@clisp.org>
35505
35506         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
35507
35508 2009-12-08  Eric Blake  <ebb9@byu.net>
35509
35510         fchdir: avoid memory leak on re-registration.
35511         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
35512
35513 2009-12-08  Jim Meyering  <meyering@redhat.com>
35514
35515         init.sh: avoid Solaris 10 /bin/sh portability problem
35516         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
35517         sourced script:
35518           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
35519           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
35520           bar
35521         tests/init.sh relied on that, accepting a --set-path=DIR argument,
35522         and two tests used that idiom.
35523         * tests/init.sh: Update suggested usage comments.
35524         (path_prepend_): New function, to be used in place
35525         of the --src-path=DIR option.
35526         (setup_): Move PATH-prepending code into path_prepend_.
35527         * tests/test-pread.sh: Adapt to new usage.
35528         * tests/test-xalloc-die.sh: Likewise.
35529
35530 2009-12-08  Simon Josefsson  <simon@josefsson.org>
35531
35532         * doc/gnulib.texi (Glibc pty.h): Add.
35533         * doc/glibc-functions/forkpty.texi: Add.
35534         * doc/glibc-functions/openpty.texi: Add.
35535         Suggested by Bruno Haible.
35536
35537 2009-12-08  Eric Blake  <ebb9@byu.net>
35538
35539         fchdir: fix logic bugs
35540         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
35541         * tests/test-fchdir.c (main): Enhance test.
35542         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
35543         is in use.
35544
35545         dup2: fix logic bugs
35546         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
35547         REPLACE_DUP2 to decide when rpl_dup2 is needed.
35548         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
35549         exists.
35550         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
35551
35552 2009-12-07  Eric Blake  <ebb9@byu.net>
35553
35554         unlink: fix m4 detection
35555         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
35556
35557         unistd-safer: add unit test
35558         * modules/unistd-safer-tests: New file.
35559         * tests/test-dup-safer.c: Likewise.
35560         * tests/test-cloexec.c (setmode): Avoid compiler warning.
35561         * tests/test-dup2.c (setmode): Likewise.
35562         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
35563
35564         cloexec: preserve text vs. binary across dup_cloexec
35565         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
35566         mode.
35567         * modules/dup2-tests (Depends-on): Add binary-io.
35568         * modules/cloexec-tests (Depends-on): Likewise.
35569         * tests/test-dup2.c (setmode, is_mode): New helpers.
35570         (main): Add tests that translation mode is preserved.
35571         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
35572         Reported by Bruno Haible.
35573
35574         mgetgroups: reduce duplicate listings
35575         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
35576         resulting array.
35577         * tests/test-chown.h (test_chown): Simplify client.
35578         * tests/test-lchown.h (test_lchown): Likewise.
35579
35580 2009-12-06  Bruno Haible  <bruno@clisp.org>
35581
35582         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
35583         value.
35584
35585 2009-12-06  Bruno Haible  <bruno@clisp.org>
35586
35587         * lib/progname.c: Include stdio.h, stdlib.h.
35588         (set_program_name): Reject a NULL argument.
35589
35590 2009-12-05  Eric Blake  <ebb9@byu.net>
35591
35592         pipe2-safer: new module
35593         * modules/pipe2-safer: New file.
35594         * lib/unistd-safer.h (pipe2_safer): New prototype.
35595         * lib/unistd--.h (pipe2): New wrapper.
35596         * lib/pipe-safer.c (pipe2_safer): New function.
35597         * modules/pipe (Depends-on): Add pipe2-safer.
35598         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
35599
35600         stdlib-safer: preserve cloexec flag for mkostemp[s]
35601         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
35602         fd_safer_flag.
35603
35604         unistd-safer: allow preservation of cloexec status via flag
35605         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
35606         prototypes.
35607         * lib/dup-safer.c (dup_safer_flag): New function.
35608         * lib/fd-safer.c (fd_safer_flag): Likewise.
35609         * modules/cloexec (configure.ac): Set witness.
35610
35611         test-dup2: enhance test
35612         * modules/dup2-tests (Depends-on): Add cloexec.
35613         * tests/test-dup2.c (main): Enhance test.
35614
35615         cloexec: add dup_cloexec
35616         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
35617         header and comments.
35618         * lib/cloexec.c (set_cloexec_flag): Add comments.
35619         (dup_cloexec): New function, with mingw implementation borrowed
35620         from...
35621         * lib/w32spawn.h (dup_noinherit): ...here.
35622         * modules/execute (Depends-on): Add cloexec.
35623         * modules/pipe (Depends-on): Likewise.
35624         * modules/cloexec (Depends-on): Add dup2.
35625         * modules/cloexec-tests (Files): New file.
35626         * tests/test-cloexec.c: Likewise.
35627
35628         test-xalloc-die: fix test for mingw
35629         * modules/xalloc-die-tests (Files): Add tests/init.sh.
35630         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
35631         directory and .exe suffix off argv[0] output.
35632
35633         test-fseeko: fix test for mingw
35634         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
35635         than undefining fseek, so test will pass on mingw.
35636
35637 2009-12-05  Bruno Haible  <bruno@clisp.org>
35638
35639         * lib/progname.h (set_program_name): Clarify specification.
35640         * lib/progname.c (set_program_name): Likewise.
35641         Reported by Jim Meyering.
35642
35643 2009-12-05  Jim Meyering  <meyering@redhat.com>
35644
35645         maint.mk: backslash-escape parens in default regexp
35646         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
35647         backslash-escape the literal parentheses.
35648
35649         maint.mk: news-date-check: use grep -E
35650         * top/maint.mk (today): Define a Make variable, not a...
35651         (news-date-check): ...shell variable.
35652         (news-date-regexp): Use the Make variable.
35653         Use grep's -E option.  Change the failing diagnostic to mention
35654         the variable, $(news-date-regexp).
35655
35656 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
35657
35658         maintainer-makefile: allow customization of NEWS entry format
35659         * top/maint.mk (news-date-regexp): New overridable variable.
35660         (news-date-check): Use it.
35661
35662 2009-12-04  Eric Blake  <ebb9@byu.net>
35663
35664         mgetgroups: add xgetgroups, and avoid ENOSYS failures
35665         * lib/mgetgroups.h (xgetgroups): New prototype.
35666         * lib/mgetgroups.c (xgetgroups): New wrapper.
35667         (mgetgroups): Handle ENOSYS.
35668         * modules/mgetgroups (Depends-on): Add realloc.
35669         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
35670
35671         mgetgroups: avoid argument promotion issues with -1
35672         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
35673         for invalid gid_t.
35674         * tests/test-chown.h (getegid, test_chown): Likewise.
35675         * tests/test-lchown.h (getegid, test_lchown): Likewise.
35676
35677 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
35678
35679         exclude: Fix header file problems.
35680         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
35681
35682 2009-12-01  Jim Meyering  <meyering@redhat.com>
35683
35684         fts: fts_open: do not let an empty string cause immediate failure
35685         This is required in support of GNU rm, for which the command
35686         "rm A '' B" must process and remove both A and B, in spite of
35687         the empty string argument.
35688         * lib/fts.c (fts_open): Do not let the presence of an empty string
35689         cause fts_open to fail immediately.  Most fts-using tools must be
35690         able to process all arguments, in order, and can be expected to
35691         diagnose such arguments themselves.
35692
35693 2009-11-30  Eric Blake  <ebb9@byu.net>
35694
35695         utimens: fix compilation error
35696         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
35697         Declare variable at right scope.
35698
35699 2009-11-29  Jim Meyering  <meyering@redhat.com>
35700
35701         bootstrap: handle perl-5.11's changed --version output
35702         * build-aux/bootstrap (get_version): Handle perl separately,
35703         since perl-5.11's --version output is different.
35704
35705 2009-11-28  Jim Meyering  <meyering@redhat.com>
35706
35707         userspec: depend on the inttostr module, too
35708         * modules/userspec (Depends-on): Add inttostr.
35709
35710         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
35711         * lib/userspec.c (parse_with_separator): Do not accept a user ID
35712         number of MAXUID when it evaluates to (uid_t) -1.
35713         Likewise for group ID.  Reported by Matt McCutchen in
35714         <http://savannah.gnu.org/bugs/?28113>
35715
35716         userspec: reformat to use spaces, not TABs
35717         * lib/userspec.c: Expand TABs to spaces.
35718         Add Emacs' "indent-tabs-mode: nil" hint.
35719
35720 2009-11-27  Eric Blake  <ebb9@byu.net>
35721
35722         getopt-gnu: flush out another BSD bug
35723         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
35724         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
35725         flush out BSD bug.
35726         * tests/test-getopt.h (test_getopt): End lists with NULL.
35727         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35728         (test_getopt_long_posix): Enhance test.
35729         * modules/getopt-posix-tests (Depends-on): Add stdbool.
35730         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
35731         getopt-gnu.
35732         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35733         Likewise.
35734
35735 2009-11-27  Simon Josefsson  <simon@josefsson.org>
35736
35737         * modules/idpriv-droptemp-tests (Notice): Fix text.
35738
35739 2009-11-27  Jim Meyering  <meyering@redhat.com>
35740
35741         test-xalloc-die: avoid spurious failure due to libtool argv difference
35742         In a libtool-enabled project, this test would fail due to a difference
35743         in the emitted program name, e.g.,
35744         -test-xalloc-die: memory exhausted
35745         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
35746         Use program to avoid that.
35747         * modules/xalloc-die-tests (Depends-on): Add progname.
35748         * tests/test-xalloc-die.c: Include progname.h".
35749         (program_name): Remove decl.
35750         (main): Call set_program_name.
35751         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
35752
35753 2009-11-26  Richard Jones  <rjones@redhat.com>
35754
35755         w32sock: leave win32 error in place.
35756         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
35757
35758 2009-11-26  Eric Blake  <ebb9@byu.net>
35759
35760         init.sh: suggest to use skip_ and fail_ functions in comments
35761         * tests/init.sh: Add a sentence.
35762
35763 2009-11-25  Bruno Haible  <bruno@clisp.org>
35764
35765         init.sh: add documentation in comments
35766         * tests/init.sh: Add some developer and user documentation.
35767
35768 2009-11-26  Jim Meyering  <meyering@redhat.com>
35769
35770         init.sh: accommodate even those who specify bogus srcdir manually
35771         * tests/init.sh: Normally, srcdir is guaranteed by automake and
35772         configure-time tests to be sanitized, so that there is no need to
35773         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
35774         (with no double quotes) suffices.  However, since tests may be
35775         invoked manually, and since you may explicitly set srcdir to the
35776         name of a directory containing spaces, do quote its uses here.
35777         * tests/test-pread.sh: Likewise.
35778         Suggested by Bruno Haible.
35779
35780         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
35781         * tests/test-pread.sh: Write no data into the pipe, because
35782         test-pread actually reads none.  This avoids a diagnostic,
35783         "bash: echo: write error: Broken pipe", that arises in the unusual
35784         event something is ignoring SIGPIPE, and might be interpreted
35785         as some sort of failure.  Reported by Bruno Haible.
35786
35787 2009-11-25  Jim Meyering  <meyering@redhat.com>
35788
35789         test-pread: cover failure with ESPIPE and EINVAL
35790         * tests/test-pread.c (main): Test for failure, too.
35791         * tests/test-pread.sh: Invoke with stdin on a pipe.
35792         Suggested by Eric Blake.
35793
35794         pread: improvement and fix
35795         * modules/pread (Depends-on): Depend on lseek, for portability to
35796         e.g., mingw.  Suggested by Eric Blake.
35797         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
35798
35799         unistd.in.h: correct declaration of pread
35800         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
35801         Reported by Richard W.M. Jones.
35802
35803         test-pread.sh: distribute the test script
35804         * modules/pread-tests (Files): Include test-pread.sh.
35805
35806         test-pread.sh: clean up
35807         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
35808         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
35809         That is unnecessary, since it's always ".".
35810         Suggestion from Eric Blake.
35811
35812         test-pread.sh: make executable
35813         * tests/test-pread.sh: Set executable bit.
35814         Reported by Eric Blake.
35815
35816         correct typo in test-pread.sh
35817         * tests/test-pread.sh: Add #! line.
35818
35819         test pread
35820         * tests/test-pread.c: New file.
35821         * tests/test-pread.sh: Likewise.
35822         * modules/pread-tests: Likewise.
35823
35824         pread: new module
35825         * modules/pread: New file.
35826         * lib/unistd.in.h (pread): Define/declare.
35827         * lib/pread.c (pread): New file.
35828         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
35829         * modules/unistd (Makefile.am): Substitute witnesses.
35830         * doc/posix-functions/pread.texi (pread): Update.
35831         * MODULES.html.sh: Add pread.
35832
35833 2009-11-25  Jim Meyering  <meyering@redhat.com>
35834
35835         tests/init.sh: new file to be used via most *.sh tests
35836         * tests/init.sh: New file.
35837
35838 2009-11-25  Eric Blake  <ebb9@byu.net>
35839
35840         utimens: work around older Linux failure with symlinks
35841         * lib/utimens.c (lutimensat_works_really): New variable.
35842         (fdutimens, lutimens): Use it to manage kernels that support
35843         nanosecond times on files, but not on symlinks.
35844         Reported by OndÅ™ej Vašík.
35845
35846         utimes: fix configure grammar
35847         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
35848
35849 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
35850
35851         regex: Fix fastmap for multibyte character ranges.
35852         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
35853         characters when a multibyte character range is included.
35854
35855 2009-11-22  Andy Wingo  <wingo@pobox.com>
35856
35857         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
35858         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
35859
35860 2009-11-24  Bruno Haible  <bruno@clisp.org>
35861
35862         doc: Most *_l functions exist in MacOS X 10.5.
35863         * doc/posix-functions/duplocale.texi: Update platforms list.
35864         * doc/posix-functions/freelocale.texi: Likewise.
35865         * doc/posix-functions/newlocale.texi: Likewise.
35866         * doc/posix-functions/uselocale.texi: Likewise.
35867         * doc/posix-functions/isalnum_l.texi: Likewise.
35868         * doc/posix-functions/isalpha_l.texi: Likewise.
35869         * doc/posix-functions/isblank_l.texi: Likewise.
35870         * doc/posix-functions/iscntrl_l.texi: Likewise.
35871         * doc/posix-functions/isdigit_l.texi: Likewise.
35872         * doc/posix-functions/isgraph_l.texi: Likewise.
35873         * doc/posix-functions/islower_l.texi: Likewise.
35874         * doc/posix-functions/isprint_l.texi: Likewise.
35875         * doc/posix-functions/ispunct_l.texi: Likewise.
35876         * doc/posix-functions/isspace_l.texi: Likewise.
35877         * doc/posix-functions/isupper_l.texi: Likewise.
35878         * doc/posix-functions/iswalnum_l.texi: Likewise.
35879         * doc/posix-functions/iswalpha_l.texi: Likewise.
35880         * doc/posix-functions/iswblank_l.texi: Likewise.
35881         * doc/posix-functions/iswcntrl_l.texi: Likewise.
35882         * doc/posix-functions/iswctype_l.texi: Likewise.
35883         * doc/posix-functions/iswdigit_l.texi: Likewise.
35884         * doc/posix-functions/iswgraph_l.texi: Likewise.
35885         * doc/posix-functions/iswlower_l.texi: Likewise.
35886         * doc/posix-functions/iswprint_l.texi: Likewise.
35887         * doc/posix-functions/iswpunct_l.texi: Likewise.
35888         * doc/posix-functions/iswspace_l.texi: Likewise.
35889         * doc/posix-functions/iswupper_l.texi: Likewise.
35890         * doc/posix-functions/iswxdigit_l.texi: Likewise.
35891         * doc/posix-functions/isxdigit_l.texi: Likewise.
35892         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
35893         * doc/posix-functions/strcasecmp_l.texi: Likewise.
35894         * doc/posix-functions/strcoll_l.texi: Likewise.
35895         * doc/posix-functions/strfmon_l.texi: Likewise.
35896         * doc/posix-functions/strftime_l.texi: Likewise.
35897         * doc/posix-functions/strncasecmp_l.texi: Likewise.
35898         * doc/posix-functions/strxfrm_l.texi: Likewise.
35899         * doc/posix-functions/tolower_l.texi: Likewise.
35900         * doc/posix-functions/toupper_l.texi: Likewise.
35901         * doc/posix-functions/towctrans_l.texi: Likewise.
35902         * doc/posix-functions/towlower_l.texi: Likewise.
35903         * doc/posix-functions/towupper_l.texi: Likewise.
35904         * doc/posix-functions/wcscoll_l.texi: Likewise.
35905         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
35906         * doc/posix-functions/wctrans_l.texi: Likewise.
35907         * doc/posix-functions/wctype_l.texi: Likewise.
35908         * doc/glibc-functions/strptime_l.texi: Likewise.
35909         * doc/glibc-functions/strtod_l.texi: Likewise.
35910         * doc/glibc-functions/strtof_l.texi: Likewise.
35911         * doc/glibc-functions/strtol_l.texi: Likewise.
35912         * doc/glibc-functions/strtold_l.texi: Likewise.
35913         * doc/glibc-functions/strtoll_l.texi: Likewise.
35914         * doc/glibc-functions/strtoul_l.texi: Likewise.
35915         * doc/glibc-functions/strtoull_l.texi: Likewise.
35916         * doc/glibc-functions/wcsftime_l.texi: Likewise.
35917         * doc/glibc-functions/wcstod_l.texi: Likewise.
35918         * doc/glibc-functions/wcstof_l.texi: Likewise.
35919         * doc/glibc-functions/wcstol_l.texi: Likewise.
35920         * doc/glibc-functions/wcstold_l.texi: Likewise.
35921         * doc/glibc-functions/wcstoll_l.texi: Likewise.
35922         * doc/glibc-functions/wcstoul_l.texi: Likewise.
35923         * doc/glibc-functions/wcstoull_l.texi: Likewise.
35924
35925 2009-11-24  Bruno Haible  <bruno@clisp.org>
35926
35927         duplocale: Fix logic bug.
35928         * lib/duplocale.c: Don't include <langinfo.h>.
35929         (_NL_LOCALE_NAME): Remove macro.
35930         (rpl_duplocale): Use setlocale instead of nl_langinfo.
35931         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
35932
35933 2009-11-23  Jim Meyering  <meyering@redhat.com>
35934
35935         test-update-copyright: don't hard-code /usr/bin/perl
35936         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
35937         perl to print the current year.  Gilles Espinasse reported that
35938         the replaced use of perl was hard-coded as /usr/bin/perl.
35939
35940 2009-11-23  Bruno Haible  <bruno@clisp.org>
35941
35942         duplocale: Add support for glibc 2.3.x.
35943         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
35944
35945 2009-11-22  Bruno Haible  <bruno@clisp.org>
35946
35947         vasnprintf: Tiny optimization.
35948         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
35949         MacOS X.
35950
35951 2009-11-22  Bruno Haible  <bruno@clisp.org>
35952
35953         Tests for module 'duplocale'.
35954         * modules/duplocale-tests: New file.
35955         * tests/test-duplocale.c: New file.
35956
35957         New module 'duplocale'.
35958         * m4/duplocale.m4: New file.
35959         * lib/locale.in.h (duplocale): New declaration.
35960         * lib/duplocale.c: New file.
35961         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
35962         gl_LOCALE_H_DEFAULTS): New macros.
35963         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
35964         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35965         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35966         REPLACE_DUPLOCALE.
35967         * modules/duplocale: New file.
35968         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35969
35970 2009-11-22  Bruno Haible  <bruno@clisp.org>
35971
35972         * modules/locale-tests (configure.ac): Test for newlocale function.
35973         * tests/test-locale.c: When the system has extended locale functions,
35974         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35975
35976         locale: Make locale_t available when possible.
35977         * lib/locale.in.h: Include <xlocale.h> when it exists.
35978         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35979         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35980         * modules/locale (Depends-on): Add extensions.
35981         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35982         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35983
35984 2009-11-22  Bruno Haible  <bruno@clisp.org>
35985
35986         Add comments.
35987         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35988         invocation.
35989         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35990         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35991         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35992
35993 2009-11-22  Bruno Haible  <bruno@clisp.org>
35994
35995         error: account for the possibility of freopen (stdout).
35996         * lib/error.c: Include <unistd.h>.
35997         (flush_stdout): New function, extracted from error and error_at_line.
35998         Determine stdout's fd dynamically.
35999         (error, error_at_line): Invoke flush_stdout.
36000         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36001         * modules/error (Depends-on): Add unistd.
36002
36003 2009-11-22  Bruno Haible  <bruno@clisp.org>
36004
36005         diffseq: Add comment.
36006         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36007
36008 2009-11-22  Jim Meyering  <meyering@redhat.com>
36009
36010         c-stack: avoid defining an unused static function
36011         * lib/c-stack.c (find_stack_direction): Do not define this function
36012         when it will not be used.
36013
36014         diffseq: avoid spurious gcc warnings
36015         * lib/diffseq.h (IF_LINT2): Define.
36016         (compareseq): Use it to initialize two members of "part".
36017         This avoids two used-uninitialized warnings.
36018
36019 2009-11-21  Jim Meyering  <meyering@redhat.com>
36020
36021         c-stack: avoid "ignoring return value of `write'" warning
36022         * lib/c-stack.c: Include "ignore-value.h".
36023         (die): Explicitly ignore each write return value.
36024         * modules/c-stack (Depends-on): Add ignore-value.
36025
36026 2009-11-21  Bruno Haible  <bruno@clisp.org>
36027
36028         diffseq: reduce scope of variable 'best'.
36029         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36030         variable, earlier used for two different purposes.
36031
36032 2009-11-21  Jim Meyering  <meyering@redhat.com>
36033
36034         diffseq: remove useless assignment to "best"
36035         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36036         assignment.  At that point "best" is already guaranteed to be zero.
36037
36038 2009-11-20  Eric Blake  <ebb9@byu.net>
36039
36040         build: mention ftp redirector in release announcements
36041         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36042         values that used to come from cfg.mk; mention FTP redirect URL.
36043         * build-aux/announce-gen: Mention the mirror list.
36044         Suggested by Karl Berry.
36045
36046         nanosleep: improve port to mingw
36047         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36048         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36049         LIB_NANOSLEEP, but only when needed.
36050         * modules/select (Link): Document LIBSOCKET.
36051         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36052         enough.
36053
36054         nanosleep: work around cygwin bug
36055         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36056         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36057         bug.
36058         (getnow): Delete, not needed.
36059         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36060         LIB_CLOCK_GETTIME.
36061         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36062         clock-time, gettime.
36063         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36064         bug.
36065         * modules/nanosleep-tests: New test.
36066         * tests/test-nanosleep.c: New file.
36067
36068         sleep: work around cygwin bug
36069         * lib/sleep.c (rpl_sleep): Work around the bug.
36070         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36071         (gl_PREREQ_SLEEP): Delete unused macro.
36072         * modules/sleep (Depends-on): Add verify.
36073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36074         * modules/unistd (Makefile.am): Substitute witness.
36075         * lib/unistd.in.h (sleep): Update prototype.
36076         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36077         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36078         * modules/sleep-tests (Depends-on): Check for alarm.
36079
36080 2009-11-20  Jim Meyering  <meyering@redhat.com>
36081
36082         maint.mk: improve sc_prohibit_magic_number_exit
36083         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36084         so it does not match uses like System.exit(1).
36085         Add comments showing how to correct all offenders.
36086
36087 2009-11-19  Eric Blake  <ebb9@byu.net>
36088
36089         xalloc-die-tests: add missing library
36090         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36091
36092         test-xvasprintf: silence compiler warnings
36093         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36094         empty string from gcc.
36095
36096 2009-11-19  Jim Meyering  <meyering@redhat.com>
36097
36098         xfreopen: new module, from coreutils
36099         * modules/xfreopen: New module.
36100         * lib/xfreopen.c: New file.
36101         * lib/xfreopen.h: New file.
36102         * MODULES.html.sh (File stream based Input/Output"): Add it.
36103
36104 2009-11-19  Eric Blake  <ebb9@byu.net>
36105
36106         manywarnings: depend on warnings
36107         * modules/manywarnings (Depends-on): Add warnings.
36108
36109         build: avoid compiler warnings
36110         * lib/select.c (rpl_select): Delete unused variable.
36111         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36112
36113 2009-11-18  Eric Blake  <ebb9@byu.net>
36114
36115         tests: avoid false negative with --with-packager
36116         * tests/test-version-etc.sh: Discard packager information.
36117         * tests/test-argp-version-etc-1.sh: Likewise.
36118         Reported by Mike Frysinger.
36119
36120         utimens: fix regression on Solaris
36121         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36122         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36123         can only change fd timestamps via futimesat.  Instead, use an
36124         additional witness macro to avoid BSD bug.
36125         Reported by Jim Meyering.
36126
36127 2009-11-17  Eric Blake  <ebb9@byu.net>
36128
36129         usleep: use it to simplify tests
36130         * modules/stat-time-tests (Depends-on): Add usleep.
36131         (configure.ac): Drop usleep check.
36132         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36133         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36134         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36135         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36136         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36137         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36138         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36139         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36140         Likewise.
36141         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36142         * tests/test-lchown.h (nap): Likewise.
36143         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36144         * tests/test-stat-time.c (nap): Likewise.
36145         * tests/test-utimens-common.h (nap): Update comments.
36146
36147         usleep: new module
36148         * modules/usleep: New file.
36149         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36150         * lib/usleep.c (usleep): Likewise.
36151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36152         * modules/unistd (Makefile.am): Substitute witnesses.
36153         * lib/unistd.in.h (usleep): Add declaration.
36154         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36155         * MODULES.html.sh (Date and time): Likewise.
36156         * modules/usleep-tests (Depends-on): New test.
36157         * tests/test-usleep.c: New file.
36158
36159         chown: work around OpenBSD bug
36160         * lib/chown.c (rpl_chown): Work around the bug.
36161         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36162         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36163         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36164         * modules/chown (Depends-on): Add stdbool.
36165         * modules/lchown (Depends-on): Likewise.
36166         * doc/posix-functions/chown.texi (chown): Document the bug.
36167         * doc/posix-functions/lchown.texi (lchown): Likewise.
36168         * tests/test-lchown.h (test_chown): Relax test.
36169
36170         mkstemp: avoid conflict with C++ keyword template
36171         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36172         * lib/mkostemp.c (mkostemp): Likewise.
36173         * lib/mkostemps.c (mkostemps): Likewise.
36174         * lib/mkstemp.c (mkstemp): Likewise.
36175         * lib/mkstemps.c (mkstemps): Likewise.
36176
36177         xalloc-die-tests: optimize
36178         * tests/test-xalloc-die.sh: Reduce number of processes.
36179
36180 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36181
36182         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36183         patch from ludo@gnu.org (Ludovic Courtès).
36184
36185 2009-11-17  Jim Meyering  <meyering@redhat.com>
36186
36187         version-etc: use proper license string
36188         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36189         * modules/version-etc-fsf: Likewise.
36190
36191 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36192
36193         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36194         printed to stdout.  Deal with EOL differences.
36195
36196 2009-11-17  Eric Blake  <ebb9@byu.net>
36197
36198         unsetenv: work around Solaris bug
36199         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36200         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36201         Reported by Jim Meyering.
36202
36203         vasnprintf: avoid compiler warnings
36204         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36205         variables.
36206         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36207
36208 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36209
36210         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36211         settings since xalloc-die is no longer the self test,
36212         xalloc-die.sh is.
36213
36214 2009-11-17  Jim Meyering  <meyering@redhat.com>
36215
36216         test-xalloc-die.sh: make the code agree with the commit log
36217         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36218         at the end, just in case you happen to have a test-xalloc-die
36219         program in some other PATH directory.
36220
36221         test-xalloc-die.sh: fix a portability bug
36222         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36223         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36224         Otherwise, argv[0] (as often seen in diagnostics) would be too
36225         system-dependent, sometimes with, and sometimes without the leading "./".
36226
36227         version-etc-fsf: relax license to LGPLv3+
36228         * modules/version-etc-fsf (License): Relax license.
36229
36230 2009-11-16  Eric Blake  <ebb9@byu.net>
36231
36232         xalloc-die-tests: avoid printing null pointer
36233         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36234         shell script.
36235         * tests/test-xalloc-die.c (program_name): Declare.
36236         * tests/test-xalloc-die.sh (tmpfiles): New file.
36237
36238         setenv, unsetenv: work around various bugs
36239         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36240         (setenv) [HAVE_SETENV]: Work around bugs.
36241         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36242         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36243         for bugs.
36244         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36245         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36246         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36247         * modules/stdlib (Makefile.am): Update substitutions.
36248         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36249         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36250         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36251         * modules/setenv-tests: New test.
36252         * modules/unsetenv-tests: Likewise.
36253         * tests/test-setenv.c: New file.
36254         * tests/test-unsetenv.c: Likewise.
36255
36256 2009-11-16  Jim Meyering  <meyering@redhat.com>
36257
36258         version-etc: relax license to LGPLv3+
36259         * modules/version-etc (License): Relax license.
36260
36261         better AC_REQUIRE expanded-before-required-warning avoidance
36262         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36263         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36264         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36265         which is no longer needed.
36266
36267 2009-11-16  Eric Blake  <ebb9@byu.net>
36268
36269         test-freading: clean up temporary file
36270         * tests/test-freading.c (main): Remove file on success, and use
36271         ASSERT more liberally.
36272         Reported by Jim Meyering.
36273
36274 2009-11-16  Jim Meyering  <meyering@redhat.com>
36275
36276         avoid new AC_REQUIRE expanded-before-required warnings
36277         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36278         merely using it.
36279         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36280         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36281
36282 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36283
36284         * tests/test-xalloc-die.c: New file.
36285         * modules/xalloc-die-tests: New file.
36286         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36287         XFAIL_TESTS so it can be appended by modules.
36288
36289 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36290
36291         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36292         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36293
36294 2009-11-14  Eric Blake  <ebb9@byu.net>
36295
36296         fnmatch: avoid compiler warning
36297         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36298         to silence compiler warning about mismatch signedness in ?:.
36299         Reported by Robert Millan.
36300
36301         intprops: add double-inclusion guard
36302         * lib/intprops.h: Allow idempotent includes.
36303         Suggested by Bruce Korb.
36304
36305         openat: detect Solaris fchownat bug
36306         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36307         penalizing glibc chownat when only lchownat is broken.
36308         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36309         trailing slash bugs.
36310         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36311         * modules/openat-tests (Files): Include more files.
36312         (Depends-on): Add mgetgroups, sleep, stat-time.
36313         (configure.ac): Add additional checks.
36314         (Makefile.am): Build new test.
36315         * tests/test-fchownat.c: New file.
36316
36317         lchown: detect Solaris and FreeBSD bug
36318         * lib/lchown.c (rpl_lchown): Work around bug.
36319         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36320         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36321         * modules/unistd (Makefile.am): Populate it.
36322         * lib/unistd.in.h (lchown): Update declaration.
36323         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36324         * modules/lchown-tests: New file.
36325         * tests/test-lchown.h (test_lchown): Likewise.
36326         * tests/test-lchown.c (main): Likewise.
36327
36328         chown: detect Solaris and FreeBSD bug
36329         * lib/chown.c (rpl_chown): Work around bug.
36330         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
36331         (gl_PREREQ_CHOWN): Delete.
36332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36333         * modules/unistd (Makefile.am): Populate it.
36334         * lib/unistd.in.h (chown): Update declaration.
36335         * lib/lchown.c (chown): Update client.
36336         * modules/lchown (Depends-on): Add lstat.
36337         * doc/posix-functions/chown.texi (chown): Document the bug.
36338         * doc/posix-functions/getgroups.texi (getgroups): Document
36339         getgroups pitfall.
36340         * modules/chown-tests: New file.
36341         * tests/test-chown.h (test_chown): Likewise.
36342         * tests/test-chown.c (main): Likewise.
36343
36344 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
36345
36346         gnulib-tool: correctly detect absence of m4 directories
36347         * gnulib-tool: Avoid extra newline on data passed to wc -l.
36348
36349 2009-11-14  Jim Meyering  <meyering@redhat.com>
36350
36351         maint.mk: Prohibit inclusion of "xalloc.h" without use.
36352         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36353
36354 2009-11-14  John W. Eaton  <jwe@gnu.org>
36355
36356         strftime.h: wrap funtion declaration in extern "C" block
36357         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
36358
36359 2009-11-13  Eric Blake  <ebb9@byu.net>
36360
36361         getgroups: avoid compiler warning
36362         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
36363
36364         getgroups: work around FreeBSD bug
36365         * lib/getgroups.c (rpl_getgroups): Work around the bug.
36366         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
36367         * doc/posix-functions/getgroups.texi (getgroups): Document it.
36368         * tests/test-getgroups.c (main): Fix buffer overrun.
36369
36370         getgroups: avoid compilation failure
36371         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
36372         * modules/getgroups (Depends-on): Add stdint.
36373
36374 2009-11-13  Jim Meyering  <meyering@redhat.com>
36375
36376         test-getgroups: avoid compilation failure
36377         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
36378
36379 2009-11-13  Eric Blake  <ebb9@byu.net>
36380
36381         mgetgroups: new module, taken from coreutils
36382         * modules/mgetgroups: New file.
36383         * lib/mgetgroups.h: Likewise.
36384         * lib/mgetgroups.c (mgetgroups): Likewise.
36385         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
36386         * MODULES.html.sh (Users and groups): Mention it.
36387
36388         getgroups: don't expose GETGROUPS_T to user
36389         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
36390         an element at a time if GETGROUPS_T is wrong size.
36391         * lib/getugroups.h (getugroups): Change signature.
36392         * lib/unistd.in.h (getgroups): Likewise.
36393         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
36394         signature needs fixing.
36395         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
36396         AC_TYPE_GETGROUPS.
36397         * modules/group-member (Depends-on): Add getgroups.
36398         * lib/group-member.c (group_info, get_group_info): Use gid_t.
36399         (group_member): Rely on getgroups replacement.
36400         * lib/getugroups.c (getugroups): Use gid_t.
36401         * tests/test-getgroups.c (main): Likewise.
36402         * NEWS: Mention the signature change.
36403         * doc/posix-functions/getgroups.texi (getgroups): Mention the
36404         problem with signature.
36405         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
36406         GETGROUPS_T is still useful for setgroups.
36407
36408         getgroups, getugroups: provide stubs for mingw
36409         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
36410         * lib/getugroups.c (getugroups): Likewise.
36411         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
36412         function.  Modernize replacement scheme.
36413         (gl_PREREQ_GETGROUPS): Delete.
36414         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
36415         * modules/getgroups (configure.ac): Declare witness.
36416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36417         * modules/unistd (Depends-on): Substitute witness.
36418         * lib/unistd.in.h (getgroups): Declare replacement.
36419
36420         getgroups: avoid calling exit
36421         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
36422         drop xalloc.
36423         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
36424         dependencies.
36425         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
36426         exiting, in the rare case of malloc failure.
36427
36428         getgroups: fix logic error
36429         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
36430         has more than 20 groups.
36431         * modules/getgroups-tests: New test.
36432         * tests/test-getgroups.c: New file.
36433
36434 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36435
36436         * tests/test-base64.c: Improve.
36437
36438 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36439
36440         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
36441         Blake <ebb9@byu.net>.
36442
36443 2009-11-13  Simon Josefsson  <simon@josefsson.org>
36444
36445         * tests/test-xvasprintf.c: Add %s%s related checks.
36446
36447 2009-11-12  Eric Blake  <ebb9@byu.net>
36448
36449         version-etc: match standards.texi style
36450         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
36451         and use <> only for URLs.
36452
36453 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
36454
36455         fts: do not fail on a submount during traversal
36456         * lib/fts.c (fts_build): Read the stat info again after opening
36457         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
36458         Original report at http://bugzilla.redhat.com/501848.
36459
36460 2009-11-12  Jim Meyering  <meyering@redhat.com>
36461
36462         bootstrap: sync from coreutils
36463         * build-aux/bootstrap (bootstrap_epilogue): New function.
36464         Use git_modules_config in one more place.  This make bootstrap's
36465         --gnulib-srcdir option more useful for testing.
36466
36467         bootstrap: generalize autoheader check
36468         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
36469         AC_CONFIG_HEADERS.
36470
36471 2009-11-11  Eric Blake  <ebb9@byu.net>
36472
36473         mkfifoat: use new modules for Solaris and BSD bugs
36474         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
36475         * lib/mkfifoat.c (mknodat): Split...
36476         * lib/mknodat.c (mknodat): ...into new file.
36477         * modules/mkfifoat (Files): Ship new file.
36478         (Depends-on): Add mkfifo, mknod.
36479         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
36480         (Depends-on): Add symlink.
36481         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
36482         redundant with test_mkfifo.h.
36483         (do_mkfifoat, do_mknodat): New helpers.
36484
36485         mknod: new module
36486         * modules/mknod: New file.
36487         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
36488         * lib/mknod.c (mknod): Likewise.
36489         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36490         defaults.
36491         * modules/sys_stat (Makefile.am): Substitute them.
36492         * lib/sys_stat.in.h (mknod): Declare replacement.
36493         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36494         Document it.
36495         * doc/posix-functions/mknod.texi (mknod): Likewise.
36496         * modules/mknod-tests: New test.
36497         * tests/test-mknod.c: Likewise.
36498
36499         mkfifo: new module
36500         * modules/mkfifo: New file.
36501         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
36502         * lib/mkfifo.c (mkfifo): Likewise.
36503         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
36504         defaults.
36505         * modules/sys_stat (Makefile.am): Substitute them.
36506         * lib/sys_stat.in.h (mkfifo): Declare replacement.
36507         * MODULES.html.sh (Support for systems lacking POSIX:2008):
36508         Document it.
36509         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
36510         * modules/mkfifo-tests: New test.
36511         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
36512         from test-mkfifoat.c.
36513         * tests/test-mkfifo.c: New file.
36514
36515         readlink: detect FreeBSD bug
36516         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
36517         slash on symlink.
36518         * doc/posix-functions/readlink.texi (readlink): Document the bug.
36519         * tests/test-readlink.h (test_readlink): Enhance test.
36520
36521         symlink: detect FreeBSD bug
36522         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
36523         slash on symlink.
36524         * doc/posix-functions/symlink.texi (symlink): Document the bug.
36525         * tests/test-symlink.h (test_symlink): Enhance test.
36526
36527 2009-11-10  Eric Blake  <ebb9@byu.net>
36528
36529         link: detect FreeBSD bug
36530         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
36531         symlink.
36532         * doc/posix-functions/link.texi (link): Document the bug.
36533         * tests/test-link.h (test_link): Enhance test.
36534         * tests/test-linkat.c (main): Update caller.
36535
36536         unlink, remove: detect FreeBSD bug
36537         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
36538         slash on symlink.
36539         * doc/posix-functions/unlink.texi (unlink): Document the bug.
36540         * doc/posix-functions/remove.texi (remove): Likewise.
36541         * tests/test-unlink.h (test_unlink): Enhance test.
36542         * tests/test-remove.c (main): Likewise.
36543
36544 2009-11-09  Eric Blake  <ebb9@byu.net>
36545
36546         rename: detect FreeBSD bug
36547         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
36548         slash on symlink.
36549         * modules/renameat-tests (Depends-on): Add filenamecat.
36550         * tests/test-rename.h (test_rename): Allow one more errno.
36551         * tests/test-renameat.c (main): Likewise.
36552         * doc/posix-functions/rename.texi (rename): Document the bug.
36553
36554         open: detect FreeBSD bug
36555         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
36556         symlink.
36557         * doc/posix-functions/open.texi (open): Document the bug.
36558         * doc/posix-functions/utimes.texi (utimes): Likewise.
36559         * tests/test-open.h (test_open): Add parameters, and test symlink
36560         handling.
36561         * tests/test-open.c (main): Adjust caller.
36562         * tests/test-fcntl-safer.c (main): Likewise.
36563         * modules/open-tests (Depends-on): Add stdbool, symlink.
36564         * modules/fcntl-safer-tests (Depends-on): Likewise.
36565         * tests/test-openat.c (main): Add test-open tests.
36566
36567         stat: detect FreeBSD bug
36568         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
36569         symlink.
36570         * doc/posix-functions/stat.texi (stat): Document the bug.
36571         * tests/test-stat.h (test_stat_func): Add argument.
36572         * tests/test-stat.c (main): Adjust caller.
36573         * tests/test-fstatat.c (main): Likewise.
36574         * modules/stat-tests (Depends-on): Add stdbool, symlink.
36575         Reported by Jim Meyering.
36576
36577 2009-11-09  James Youngman  <jay@gnu.org>
36578
36579         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
36580         * lib/strftime.c: Correct placement of #include "ignore-value.h".
36581
36582 2009-11-08  Jim Meyering  <meyering@redhat.com>
36583
36584         utimens: remove invalid futimesat call
36585         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
36586         It used the file descriptor of the target file as the DIR_FD
36587         parameter and NULL as the file name.  That caused failure with
36588         errno == EFAULT on FreeBSD-8.0-rc2
36589
36590 2009-11-07  Eric Blake  <ebb9@byu.net>
36591
36592         fflush, freadseek: use fseeko, not fseek
36593         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36594         (clear_ungetc_buffer): Avoid potential problems on large files.
36595         * lib/freadseek.c (freadseek): Likewise.
36596         * modules/freadseek (Depends-on): Add fseeko.
36597         * modules/fseek (configure.ac): Set a witness.
36598         * tests/test-fflush.c (main): Use fseeko.
36599         * tests/test-fpurge.c (fseek): Disable link warning.
36600         * tests/test-freadable.c (fseek): Likewise.
36601         * tests/test-freading.c (fseek): Likewise.
36602         * tests/test-fseeko.c (fseek): Likewise.
36603         * tests/test-ftell.c (fseek): Likewise.
36604         * tests/test-ftello.c (fseek): Likewise.
36605         * tests/test-fwritable.c (fseek): Likewise.
36606         * tests/test-fwriting.c (fseek): Likewise.
36607
36608 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36609
36610         * modules/memchr (Depends-on): Drop getpagesize dependency.
36611
36612 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36613
36614         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
36615         Reported by Ludovic Courtès.
36616         * build-aux/pmccabe2html: Improve example usage.
36617         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
36618
36619 2009-11-06  Jim Meyering  <meyering@redhat.com>
36620
36621         do-release-commit-and-tag: New module.
36622         Automate the release-commit and tag process.
36623         * build-aux/do-release-commit-and-tag: New script, from coreutils.
36624         * modules/do-release-commit-and-tag: New file.
36625         * MODULES.html.sh (Support for maintaining and releasing): Add it.
36626
36627 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36628
36629         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
36630         because test-select.c uses inet_pton.
36631
36632 2009-11-06  Simon Josefsson  <simon@josefsson.org>
36633
36634         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
36635         GETADDRINFO_LIB.  Bump serial number.
36636         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
36637         Suggested by Eric Blake <ebb9@byu.net>.
36638
36639 2009-11-05  Eric Blake  <ebb9@byu.net>
36640
36641         strtod: detect darwin bug
36642         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
36643         Reported by Leo Davis.
36644
36645         freopen-safer: new module
36646         * modules/freopen-safer: New module.
36647         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
36648         * lib/freopen-safer.c (freopen_safer): New file.
36649         * lib/stdio-safer.h (freopen_safer): New declaration.
36650         * lib/stdio--.h (freopen): New override.
36651         * MODULES.html.sh (File stream based Input/Output): Mention it.
36652         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
36653         freopen-safer module.
36654         * doc/posix-functions/stderr.texi (stderr): Likewise.
36655         * doc/posix-functions/stdin.texi (stdin): Likewise.
36656         * doc/posix-functions/stdout.texi (stdout): Likewise.
36657         * modules/freopen-safer-tests: New test.
36658         * tests/test-reopen-safer.c: New file.
36659
36660 2009-11-05  Jim Meyering  <meyering@redhat.com>
36661
36662         maint.mk: Prohibit inclusion of "close-stream.h" without use.
36663         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
36664
36665 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36666
36667         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
36668
36669 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36670
36671         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
36672
36673 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36674
36675         Fix link error.
36676         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36677         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36678
36679 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36680
36681         * tests/test-func.c: Also test value of __func__.
36682
36683 2009-11-05  Simon Josefsson  <simon@josefsson.org>
36684
36685         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
36686         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
36687
36688 2009-11-05  Bruno Haible  <bruno@clisp.org>
36689
36690         Fix link error.
36691         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
36692         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36693         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
36694
36695 2009-11-05  Bruno Haible  <bruno@clisp.org>
36696
36697         Tests for module 'inet_pton'.
36698         * modules/inet_pton-tests: New file.
36699         * tests/test-inet_pton.c: New file.
36700
36701 2009-11-05  Bruno Haible  <bruno@clisp.org>
36702
36703         Tests for module 'inet_ntop'.
36704         * modules/inet_ntop-tests: New file.
36705         * tests/test-inet_ntop.c: New file.
36706
36707 2009-11-04  Eric Blake  <ebb9@byu.net>
36708
36709         stdlib-safer: wrap all mkstemp variants
36710         * modules/mkostemp (configure.ac): Set witness.
36711         * modules/mkostemps (configure.ac): Likewise.
36712         * modules/mkstemps (configure.ac): Likewise.
36713         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
36714         (mkstemps_safer): Wrap more functions.
36715         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
36716         wrapping.
36717         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
36718         (mkstemps_safer): Implement the wrappers.
36719
36720         mkstemps, mkostemps: new modules
36721         * modules/mkostemps: New module.
36722         * modules/mkstemps: Likewise.
36723         * lib/mkostemps.c (mkostemps): New file.
36724         * lib/mkstemps.c (mkstemps): Likewise.
36725         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
36726         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
36727         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
36728         * modules/stdlib (Makefile.am): Substitute them.
36729         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
36730         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
36731         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
36732         * doc/gnulib.texi (Glibc stdlib.h): Include them.
36733         * MODULES.html.sh (File system functions): Mention them.
36734
36735         tempname: resync from glibc
36736         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
36737         same values for __GT_FILE as glibc.  Abort even when assertions
36738         are disabled.
36739         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
36740         match its value otherwise.  Allow idempotent inclusion.
36741         * lib/mkdtemp.c (mkdtemp): Adjust caller.
36742         * lib/mkostemp.c (mkostemp): Likewise.
36743         * lib/mkstemp.c (mkstemp): Likewise.
36744         * lib/tmpfile.c (tmpfile): Likewise.
36745         * NEWS: Document this.
36746
36747         utimens: fix use of futimens on older Linux
36748         * lib/utimens.c (fdutimens): Use updated, rather than original,
36749         timespec to avoid bug in older Linux kernel.
36750         Reported by Simon Josefsson.
36751
36752 2009-11-04  Bruno Haible  <bruno@clisp.org>
36753
36754         Make num_processors more flexible and consistent.
36755         * lib/nproc.h (enum nproc_query): New type.
36756         (num_processors): Add a 'query' argument.
36757         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
36758         (num_processors): Add a 'query' argument. Test the value of the
36759         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
36760         mingw, count the number of CPUs available for the current process.
36761         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
36762         Check for sched_getaffinity and sched_getaffinity_np.
36763         * modules/nproc (Depends-on): Add c-ctype, extensions.
36764         * NEWS: Mention the change.
36765
36766 2009-11-03  Bruno Haible  <bruno@clisp.org>
36767
36768         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
36769
36770 2009-11-03  Jim Meyering  <meyering@redhat.com>
36771
36772         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
36773         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
36774         if it is defined.
36775
36776 2009-11-02  Eric Blake  <ebb9@byu.net>
36777
36778         mktime, timegm: share common declaration
36779         * lib/mktime-internal.h: New file.
36780         * lib/mktime.c: Use it rather than open-coding a declaration.
36781         * lib/timegm.c: Likewise.
36782         * modules/mktime (Files): Ship it.
36783         * modules/timegm (Files): Likewise.
36784         Suggested by Bruno Haible.
36785
36786         test-update-copyright: update test to match script changes
36787         * tests/test-update-copyright.sh: Avoid hard-coding perl
36788         location.  Don't update *.bak created by earlier runs.
36789
36790 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
36791             Simon Josefsson  <simon@josefsson.org>
36792             Bruno Haible  <bruno@clisp.org>
36793
36794         Fix link error on Solaris 8.
36795         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
36796         also in libnsl. Define also INET_PTON_LIB.
36797         * modules/inet_pton (Link): New section.
36798
36799 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36800             Bruno Haible  <bruno@clisp.org>
36801
36802         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
36803         * modules/inet_ntop (Link): New section.
36804         Reported by Boyan Kasarov <bkasarov@gmail.com>.
36805
36806 2009-11-02  Eric Blake  <ebb9@byu.net>
36807
36808         maint: avoid compiler warnings in m4 macros
36809         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
36810         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
36811
36812 2009-11-02  Simon Josefsson  <simon@josefsson.org>
36813
36814         * m4/pmccabe2html.m4: Remove file.
36815         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
36816         function.  Change maintainer.
36817         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
36818         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
36819         Courtès).
36820
36821 2009-10-31  Eric Blake  <ebb9@byu.net>
36822
36823         fseeko: fix m4 regression
36824         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
36825         regression from 2009-10-27.
36826         Reported by Ralf Wildenhues.
36827
36828 2009-10-31  Jim Meyering  <meyering@redhat.com>
36829
36830         inttostr: aesthetics and improved (compile-time) safety
36831         Define inttype_is_signed rather than inttype_is_unsigned,
36832         since the sole use is via "#if inttype_is_signed".
36833         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
36834         inttype_is_unsigned.
36835         * lib/offtostr.c (inttype_is_signed): Likewise.
36836         * lib/uinttostr.c (inttype_is_signed): Likewise.
36837         * lib/umaxtostr.c (inttype_is_signed): Likewise.
36838         * lib/inttostr.c (inttostr): Use verify to cross-check the
36839         inttype_is_signed value and the signedness of the actual type.
36840         * modules/inttostr (Depends-on): Add verify.
36841
36842 2009-10-30  Eric Blake  <ebb9@byu.net>
36843
36844         build: avoid compiler warnings
36845         * lib/fchmodat.c (lchmod): Mark unused variables.
36846         * lib/getopt.c (_getopt_initialize): Likewise.
36847         * lib/mktime.c (__mktime_internal): Provide prototype.
36848         * lib/inttostr.c (inttostr): Avoid compiler warning even with
36849         older gcc that do not understand #pragma GCC diagnostic.
36850         * lib/uinttostr.c (inttype_is_unsigned): Define.
36851         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
36852
36853 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
36854
36855         stat: fix compilation on AIX
36856         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
36857         only see struct stat64.
36858
36859 2009-10-30  Eric Blake  <ebb9@byu.net>
36860
36861         exclude: make more robust
36862         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
36863         rather than masking a coding bug.
36864         Suggested by Bruno Haible.
36865
36866 2009-10-30  Jim Meyering  <meyering@redhat.com>
36867
36868         perl scripts: remove #!/usr/bin/perl in favor of more portable...
36869         Rather than putting #!/usr/bin/perl on the first line,
36870         start with a variant of what's recommended by "man perlrun" that
36871         invokes the first "perl" program from your shell's search path.
36872         * build-aux/gitlog-to-changelog: Replace #!... as above.
36873         Add a "Local Variables" perl mode setting.
36874         Prompted by a patch from Ludovic Courtès.
36875         Improved by Eric Blake.
36876         * build-aux/useless-if-before-free: Likewise.
36877         * build-aux/announce-gen: Likewise.
36878         * build-aux/update-copyright: Likewise.
36879
36880 2009-10-29  Eric Blake  <ebb9@byu.net>
36881
36882         filenamecat-lgpl: adjust clients
36883         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
36884         filenamecat.
36885         * modules/renameat (Depends-on): Likewise.
36886
36887         filenamecat: split into filenamecat-lgpl
36888         * modules/filenamecat-lgpl: New module.
36889         * modules/filenamecat (Files): Move library-safe files into
36890         filenamecat-lgpl.
36891         (Depends-on): Add filenamecat-lgpl.
36892         (configure.ac): Declare witness.
36893         * lib/filenamecat.h (file_name_concat): Only declare when using
36894         GPL module.
36895         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
36896         Move...
36897         * lib/filenamecat-lgpl.c: ...into new file.
36898         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
36899         (gl_FILE_NAME_CONCAT): Use it.
36900         * MODULES.html.sh (File system functions): Mention new module.
36901
36902         argp: avoid memory leak
36903         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
36904         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
36905         base_name, since the latter malloc()s and can call exit().
36906         Leak introduced 2006-07-03.
36907
36908         dirname-lgpl: adjust clients that don't need full dirname
36909         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
36910         * modules/filenamecat (Depends-on): Likewise.
36911         * modules/linkat (Depends-on): Likewise.
36912         * modules/mkancesdirs (Depends-on): Likewise.
36913         * modules/mkdir (Depends-on): Likewise.
36914         * modules/openat (Depends-on): Likewise.
36915         * modules/savewd (Depends-on): Likewise.
36916         * modules/rename (Depends-on): Likewise.
36917         (License): Relax license.
36918         * modules/mkdir-tests (Depends-on): Drop progname.
36919         (Makefile.am): Delete unneeded LDADD.
36920         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
36921
36922         dirname: split into dirname-lgpl
36923         * modules/dirname-lgpl: New module.
36924         * modules/dirname (Files): Move library-safe files into
36925         dirname-lgpl.
36926         (Depends-on): Add dirname-lgpl.
36927         (configure.ac): Declare witness.
36928         * modules/double-slash-root (License): Relax license.
36929         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
36930         module.
36931         * lib/dirname.c (dir_len, mdir_name): Move...
36932         * lib/dirname-lgpl.c: ...into new file.
36933         * lib/basename.c (last_component, base_len): Move...
36934         * lib/basename-lgpl.c: ...into new file.
36935         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
36936         (gl_DIRNAME): Use it.
36937         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
36938         Mention new module.
36939         * modules/dirname-tests (Depends-on): Add progname.
36940         * tests/test-dirname.c (program_name): Delete.
36941
36942         mkdir: make safe for libraries
36943         * modules/mkdir (Depends-on): Drop xalloc.
36944         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
36945         exit.
36946
36947         tests: avoid some compiler warnings
36948         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
36949         literals.
36950         * tests/test-memchr.c (main): Avoid type mismatch.
36951         * tests/test-arpa_inet.c (main): Avoid unused parameters.
36952         * tests/test-base64.c (main): Likewise.
36953         * tests/test-getdelim.c (main): Likewise.
36954         * tests/test-gethostname.c (main): Likewise.
36955         * tests/test-getline.c (main): Likewise.
36956         * tests/test-netinet_in.c (main): Likewise.
36957         * tests/test-select.c (open_server_socket, main): Likewise.
36958         * tests/test-select-stdin.c (main): Likewise.
36959         * tests/test-sockets.c (main): Likewise.
36960         * tests/test-strsignal.c (main): Likewise.
36961         * tests/test-sys_select.c (main): Likewise.
36962         * tests/test-sys_socket.c (main): Likewise.
36963         * tests/test-u64.c (main): Likewise.
36964         * tests/test-xfprintf-posix.c (main): Likewise.
36965         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36966
36967         sockets: avoid compiler warning
36968         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36969
36970         maint: detect usage(1) and other suspicious exits
36971         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36972
36973 2009-10-29  Jim Meyering  <meyering@redhat.com>
36974
36975         timespec: long-to-int truncation could make timespec_cmp malfunction
36976         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36977         a multiple of 2^32 nanoseconds as no difference.
36978
36979 2009-10-28  Jim Meyering  <meyering@redhat.com>
36980
36981         fprintftime: wrap macro code argument in "do {...} while(0)"
36982         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36983         cpy macro must be a statement that can be followed by a semicolon.
36984         Now that the else clause contains a comment and is hence longer
36985         than one line, I require curly braces.  That in turn requires
36986         that we wrap this code block in the standard do...while(0).
36987
36988         fprintftime: remove stray semicolon from previous change
36989         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36990
36991         fprintftime: avoid a warning about ignored fwrite return value
36992         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36993         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36994         that is unsafe.
36995         * modules/fprintftime (Depends-on): Add ignore-value.
36996
36997         exclude: avoid an unwarranted warning
36998         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36999
37000 2009-10-27  Eric Blake  <ebb9@byu.net>
37001
37002         fseek: avoid compilation failure when fflush is replaced
37003         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37004         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37005         module is in use.
37006         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37007         module is not in use; since REPLACE_FSEEK worked otherwise.
37008         (GNULIB_FTELLO): Likewise for ftell.
37009         Reported by Ian Beckwith and others.
37010
37011 2009-10-27  Bruno Haible  <bruno@clisp.org>
37012
37013         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37014         Reported by Jim Meyering.
37015
37016 2009-10-27  Jim Meyering  <jim@meyering.net>
37017             Bruno Haible  <bruno@clisp.org>
37018
37019         Avoid warning despite dropping the return value of fwrite.
37020         * lib/unicodeio.c: Include ignore-value.h.
37021         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37022         * modules/unicodeio (Depends-on): Add ignore-value.
37023
37024 2009-10-26  Eric Blake  <ebb9@byu.net>
37025
37026         areadlinkat: fix fallback path
37027         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37028         pointer and zero.
37029
37030 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37031
37032         Use a better IO block size for modern systems
37033         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37034         * lib/md2.c: Likewise.
37035         * lib/md4.c: Likewise.
37036         * lib/md5.c: Likewise.
37037         * lib/sha1.c: Likewise.
37038         * lib/sha256.c: Likewise.
37039         * lib/sha512.c: Likewise.
37040
37041 2009-10-22  Eric Blake  <ebb9@byu.net>
37042
37043         tests: avoid several compiler warnings
37044         * tests/test-getcwd.c (main): Avoid buffer underflow.
37045         * tests/test-getdate.c (main): String literals are not safe with
37046         putenv, so use setenv.  Declare unused argument.
37047         * modules/getdate-tests (Depends-on): Add setenv.
37048         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37049         problems with string literals in char *.
37050         * tests/test-hash.c (main): Avoid shadowing declaration.
37051         (insert_new): Treat string literals as char const *.
37052         * tests/test-getopt.h (test_getopt): Likewise.
37053         (getopt_loop): Alter types to minimize casting elsewhere.
37054         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37055         (test_getopt_long_posix): Likewise.
37056         (do_getopt_long): Add wrapper to minimize casting.
37057         * tests/test-atexit.c (clear_temp_file): Use void.
37058         * tests/test-areadlink-with-size.c (main): Declare unused
37059         arguments.
37060         * tests/test-areadlink.c (main): Likewise.
37061         * tests/test-areadlinkat-with-size.c (main): Likewise.
37062         * tests/test-areadlinkat.c (main): Likewise.
37063         * tests/test-canonicalize-lgpl.c (main): Likewise.
37064         * tests/test-canonicalize.c (main): Likewise.
37065         * tests/test-dirent-safer.c (main): Likewise.
37066         * tests/test-dirname.c (main): Likewise.
37067         * tests/test-dup2.c (main): Likewise.
37068         * tests/test-fchdir.c (main): Likewise.
37069         * tests/test-fcntl-h.c (main): Likewise.
37070         * tests/test-fcntl-safer.c (main): Likewise.
37071         * tests/test-fdopendir.c (main): Likewise.
37072         * tests/test-fdutimensat.c (main): Likewise.
37073         * tests/test-fflush.c (main): Likewise.
37074         * tests/test-filenamecat.c (main): Likewise.
37075         * tests/test-filevercmp.c (main): Likewise.
37076         * tests/test-fopen-safer.c (main): Likewise.
37077         * tests/test-fopen.c (main): Likewise.
37078         * tests/test-fpending.c (main): Likewise.
37079         * tests/test-fpurge.c (main): Likewise.
37080         * tests/test-freading.c (main): Likewise.
37081         * tests/test-fstatat.c (main): Likewise.
37082         * tests/test-fsync.c (main): Likewise.
37083         * tests/test-futimens.c (main): Likewise.
37084         * tests/test-getndelim2.c (main): Likewise.
37085         * tests/test-gettimeofday.c (main): Likewise.
37086         * tests/test-getopt.c (main): Likewise.
37087         * tests/test-i-ring.c (main): Likewise.
37088         * tests/test-inttypes.c (main): Likewise.
37089         * tests/test-link.c (main): Likewise.
37090         * tests/test-lstat.c (main): Likewise.
37091         * tests/test-math.c (main): Likewise.
37092         * tests/test-md5.c (main): Likewise.
37093         * tests/test-memchr2.c (main): Likewise.
37094         * tests/test-memrchr.c (main): Likewise.
37095         * tests/test-mkdir.c (main): Likewise.
37096         * tests/test-mkdirat.c (main): Likewise.
37097         * tests/test-mkfifoat.c (main): Likewise.
37098         * tests/test-open.c (main): Likewise.
37099         * tests/test-openat-safer.c (main): Likewise.
37100         * tests/test-openat.c (main): Likewise.
37101         * tests/test-quotearg.c (main): Likewise.
37102         * tests/test-rawmemchr.c (main): Likewise.
37103         * tests/test-readlink.c (main): Likewise.
37104         * tests/test-remove.c (main): Likewise.
37105         * tests/test-rename.c (main): Likewise.
37106         * tests/test-renameat.c (main): Likewise.
37107         * tests/test-rmdir.c (main): Likewise.
37108         * tests/test-sha1.c (main): Likewise.
37109         * tests/test-signal.c (main): Likewise.
37110         * tests/test-sigaction.c (main): Likewise.
37111         * tests/test-stat.c (main): Likewise.
37112         * tests/test-stat-time.c (main): Likewise.
37113         * tests/test-stddef.c (main): Likewise.
37114         * tests/test-stdint.c (main): Likewise.
37115         * tests/test-stdio.c (main): Likewise.
37116         * tests/test-stdlib.c (main): Likewise.
37117         * tests/test-strchrnul.c (main): Likewise.
37118         * tests/test-strerror.c (main): Likewise.
37119         * tests/test-string.c (main): Likewise.
37120         * tests/test-strtod.c (main): Likewise.
37121         * tests/test-strverscmp.c (main): Likewise.
37122         * tests/test-symlink.c (main): Likewise.
37123         * tests/test-symlinkat.c (main): Likewise.
37124         * tests/test-sys_stat.c (main): Likewise.
37125         * tests/test-sys_time.c (main): Likewise.
37126         * tests/test-time.c (main): Likewise.
37127         * tests/test-unistd.c (main): Likewise.
37128         * tests/test-unlink.c (main): Likewise.
37129         * tests/test-unlinkat.c (main): Likewise.
37130         * tests/test-utimens.c (main): Likewise.
37131         * tests/test-utimensat.c (main): Likewise.
37132         * tests/test-version-etc.c (main): Likewise.
37133         * tests/test-wchar.c (main): Likewise.
37134         * tests/test-wctype.c (main): Likewise.
37135         * tests/test-xprintf-posix.c (main): Likewise.
37136         * tests/test-posixtm.c (main): Likewise.
37137         (STREQ): Delete unused macro.
37138         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37139         shadowed variables.
37140         * tests/test-memchr.c (main): Likewise.
37141
37142 2009-10-21  Eric Blake  <ebb9@byu.net>
37143
37144         areadlinkat: avoid failure on older glibc
37145         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37146         rather than mis-comparing 0 against FUNC_RESULT of char*.
37147
37148 2009-10-21  Bruno Haible  <bruno@clisp.org>
37149
37150         * modules/stpncpy (License): Relicense under LGPLv2+.
37151         Reported by David Lutterkort <lutter@redhat.com>.
37152
37153 2009-10-20  Eric Blake  <ebb9@byu.net>
37154
37155         utimensat: work around Solaris 9 bug
37156         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37157         has trailing slash bugs.
37158         * tests/test-lutimens.h (test_lutimens): Enhance test.
37159         * tests/test-utimens.h (test_utimens): Likewise.
37160         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37161         * doc/posix-functions/utimes.texi (utimes): Likewise.
37162         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37163         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37164         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37165         * doc/posix-functions/futimens.texi (futimens): Likewise.
37166
37167         fdutimensat: new module
37168         * modules/fdutimensat: New file.
37169         * lib/fdutimensat.c (fdutimensat): Likewise.
37170         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37171         * MODULES.html.sh (File system functions): Mention module.
37172         * modules/fdutimensat-tests: New test.
37173         * tests/test-fdutimensat.c: Likewise.
37174
37175         doc: regenerate INSTALL
37176         * doc/INSTALL: Reflect recent autoconf update.
37177         * doc/INSTALL.ISO: Likewise.
37178         * doc/INSTALL.UTF-8: Likewise.
37179
37180 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37181
37182         acl: warn if ACL support is not detected
37183         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37184
37185 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37186
37187         * lib/nproc.h: Add extern "C" block for C++.
37188
37189 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37190             Bruno Haible  <bruno@clisp.org>
37191
37192         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37193         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37194         * doc/posix-functions/isalpha.texi: Likewise.
37195         * doc/posix-functions/isblank.texi: Likewise.
37196         * doc/posix-functions/iscntrl.texi: Likewise.
37197         * doc/posix-functions/isdigit.texi: Likewise.
37198         * doc/posix-functions/isgraph.texi: Likewise.
37199         * doc/posix-functions/islower.texi: Likewise.
37200         * doc/posix-functions/isprint.texi: Likewise.
37201         * doc/posix-functions/ispunct.texi: Likewise.
37202         * doc/posix-functions/isspace.texi: Likewise.
37203         * doc/posix-functions/isupper.texi: Likewise.
37204         * doc/posix-functions/isxdigit.texi: Likewise.
37205
37206 2009-10-18  Bruno Haible  <bruno@clisp.org>
37207
37208         Tests for module 'isblank'.
37209         * modules/isblank-tests: New file.
37210         * tests/test-isblank.c: New file.
37211
37212         New module 'isblank'.
37213         * lib/isblank.c: New file.
37214         * m4/isblank.m4: New file.
37215         * modules/isblank: New file.
37216         * doc/posix-functions/isblank.texi: Mention the new module.
37217
37218 2009-10-18  Bruno Haible  <bruno@clisp.org>
37219
37220         New module 'ctype'.
37221         * lib/ctype.in.h: New file.
37222         * m4/ctype.m4: New file.
37223         * modules/ctype: New file.
37224         * doc/posix-headers/ctype.texi: Mention the new module.
37225
37226 2009-10-18  Jim Meyering  <meyering@redhat.com>
37227
37228         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37229         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37230         right after its initialization, rather than farther down.
37231         Keeping these in close proximity makes it easier to ensure
37232         that each such variable is initialized.  E.g.,
37233
37234             LIB_CLOCK_GETTIME=
37235             AC_SUBST([LIB_CLOCK_GETTIME])
37236
37237         This change also increments these serial numbers.
37238         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37239         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37240         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37241
37242 2009-10-18  Bruno Haible  <bruno@clisp.org>
37243
37244         Don't let environment variables perturb build.
37245         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37246         (gl_PREREQ_GETHRXTIME): ... not here.
37247
37248 2009-10-18  Bruno Haible  <bruno@clisp.org>
37249
37250         Avoid symlink attack in localcharset module.
37251         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37252         (O_NOFOLLOW): Define fallback.
37253         (get_charset_aliases): Don't open the file if it is a symbolic link.
37254         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37255         gl_FCNTL_H.
37256         (gl_FCNTL_H): Require it.
37257         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37258         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37259         Reported by Fergal Glynn <fglynn@veracode.com>.
37260
37261 2009-10-18  Bruno Haible  <bruno@clisp.org>
37262
37263         Implement nproc for mingw.
37264         * lib/nproc.c: Include <windows.h>
37265         (num_processors): On native Windows platforms, try GetSystemInfo.
37266
37267 2009-10-18  Bruno Haible  <bruno@clisp.org>
37268
37269         Implement nproc for IRIX.
37270         * lib/nproc.c: Include <sys/sysmp.h>.
37271         (num_processors): On IRIX systems, try sysmp.
37272         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37273
37274 2009-10-18  Bruno Haible  <bruno@clisp.org>
37275
37276         Implement nproc for HP-UX.
37277         * lib/nproc.c: Include <sys/pstat.h>
37278         (num_processors): On HP-UX systems, try pstat_getdynamic.
37279         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37280         pstat_getdynamic.
37281
37282 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37283             Bruno Haible  <bruno@clisp.org>
37284
37285         Implement nproc for NetBSD, OpenBSD.
37286         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37287         (ARRAY_SIZE): New macro.
37288         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37289         * m4/nproc.m4: New file.
37290         * modules/nproc (Files): Add m4/nproc.m4.
37291         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37292         (Makefile.am): Instead, augment lib_SOURCES.
37293
37294 2009-10-18  Bruno Haible  <bruno@clisp.org>
37295
37296         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37297         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37298         sys/param.h.
37299
37300 2009-10-16  Eric Blake  <ebb9@byu.net>
37301
37302         utimensat: new module
37303         * modules/utimensat: New file.
37304         * lib/utimensat.c (utimensat): Likewise.
37305         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37306         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37307         so we can work around Linux bugs.
37308         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37309         * modules/sys_stat (Makefile.am): Substitute them.
37310         * lib/sys_stat.in.h (utimensat): Declare it.
37311         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37312         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37313         * modules/utimensat-tests: New test.
37314         * tests/test-utimensat.c: Likewise.
37315
37316         utimens: let lutimens work on non-symlinks
37317         * lib/utimens.c (lutimens): Fall back to utimens rather than
37318         failing with ENOSYS, when file is not a symlink.
37319         (utimens): Reduce redirection.
37320         * tests/test-lutimens.h (test_lutimens): Update test to cover
37321         non-symlinks.
37322         * tests/test-utimens.h (test_utimens): Update test to cover
37323         symlinks.
37324         * tests/test-utimens.c (main): Update caller.
37325
37326         utimens: cache whether utimensat syscall works
37327         * lib/utimens.c (utimensat_works_really): New cache variable.
37328         (fdutimens, lutimens): Use it to avoid failing syscall.
37329
37330         test-stat-time, test-utimens: improve portability
37331         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
37332         ext4 on alpha, and for cygwin.
37333         * tests/test-utimens-common.h: New file.
37334         (nap): Factor delays into single function.
37335         * tests/test-lutimens.h (test_lutimens): Use new header.
37336         * tests/test-futimens.h (test_futimens): Likewise.
37337         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
37338         timestamps to occur from same machine, as was done previously for
37339         test_utimens.
37340         * modules/utimens-tests (Files): Ship new file.
37341         * modules/futimens-tests (Files): Likewise.
37342         Reported in part by Jim Meyering.
37343
37344         sys_stat: sort replacement declarations
37345         * lib/sys_stat.in.h: Sort declarations.
37346         * lib/futimens.c (futimens): Fix typo.
37347
37348 2009-10-15  Jim Meyering  <meyering@redhat.com>
37349
37350         don't let environment settings perturb build
37351         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
37352         could cause a configure-time and/or build-time malfunction.
37353         Typically, a configure-time function-in-library test is performed
37354         via code like this:
37355
37356           LIB_VAR=
37357           AC_SUBST([LIB_VAR])
37358           prefix_saved_LIBS=$LIBS
37359             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
37360                        [test "$ac_cv_search_FUNC" = "none required" ||
37361                         LIB_VAR=$ac_cv_search_FUNC])
37362           LIBS=$prefix_saved_LIBS
37363
37364         However, in each of the files affected by this change, the LIB_VAR=
37365         initialization was omitted.  Thus, when set in the environment, its
37366         value would propagate into generated Makefiles when FUNC is not found
37367         in LIB_NAME.
37368         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
37369         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37370         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37371
37372 2009-10-14  Eric Blake  <ebb9@byu.net>
37373
37374         fchdir: avoid infinite recursion in mingw
37375         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
37376         recursing.
37377
37378         test-stat-time: port to mingw
37379         * tests/test-stat-time.c (force_unlink): Return a value.
37380         (test_ctime) [W32]: Fix compilation error.
37381         (nap): Don't call usleep with too large an argument.  Use
37382         force_unlink.
37383         * doc/pastposix-functions/usleep.texi (usleep): Document the
37384         portability issue.
37385
37386 2009-10-13  Jim Meyering  <meyering@redhat.com>
37387
37388         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
37389         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
37390         * modules/pipe-filter-ii: Likewise.
37391         * modules/sys_socket-tests: Likewise.
37392         * modules/tsearch-tests: Likewise.
37393         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
37394         (check): Depend on it.
37395
37396 2009-10-12  Eric Blake  <ebb9@byu.net>
37397
37398         utimens-tests: port to NFS file systems
37399         * tests/test-utimens.h (test_utimens): Refactor utimecmp
37400         comparisons to avoid spurious failures from timestamp drift
37401         between NFS machines.
37402
37403 2009-10-12  Eric Blake  <ebb9@byu.net>
37404
37405         stat-time-tests: minor cleanups
37406         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
37407         * tests/test-stat-time.c (nap): Separate assignment from call.
37408         Suggested by Paolo Bonzini and Bruno Haible.
37409
37410         sys_stat: guarantee struct timespec
37411         * lib/sys_stat.in.h (includes): Always include <time.h>
37412         * modules/sys_stat (Depends-on): Add time.
37413         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
37414         mode_t permission values.
37415         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
37416         get at subsecond timestamps.
37417
37418 2009-10-10  Eric Blake  <ebb9@byu.net>
37419
37420         futimens: new module
37421         * modules/futimens: New file.
37422         * lib/futimens.c (futimens): Likewise.
37423         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
37424         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
37425         we can work around Linux bugs.
37426         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37427         * modules/sys_stat (Makefile.am): Substitute them.
37428         * lib/sys_stat.in.h (futimens): Declare it.
37429         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37430         * doc/posix-functions/futimens.texi (futimens): Likewise.
37431         * modules/futimens-tests: New test.
37432         * tests/test-futimens.c: Likewise.
37433
37434         utimens: introduce fdutimens
37435         * lib/utimens.h (fdutimens): New prototype.
37436         * lib/utimens.c (gl_futimens): Move guts...
37437         (fdutimens): ...to new interface.
37438         * tests/test-utimens.c (do_fdutimens): Use it.
37439
37440         utimens: add UTIME_NOW and UTIME_OMIT support
37441         * lib/utimens.c (validate_timespec, update_timespec): New helper
37442         functions.
37443         (gl_futimens, lutimens): Use them.
37444         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
37445         stdbool, sys_stat.
37446         (Link): Mention resulting library dependency.
37447         * modules/utimecmp (Link): Likewise.
37448         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
37449         (Makefile.am): Pick up library dependency.
37450         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
37451         definition.
37452         * tests/test-sys_stat.c: Test the definitions.
37453         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
37454         * NEWS: Document library dependency.
37455
37456         utimecmp: support symlink timestamps
37457         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
37458         hashing when possible.  Use pathconf when available.
37459         (SYSCALL_RESOLUTION): Recognize tighter resolution.
37460         * modules/utimecmp (Depends-on): Add lstat.
37461
37462         utimens: add lutimens interface
37463         * lib/utimens.c (lutimens): New function.
37464         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
37465         * lib/utimens.h (lutimens): Declare new interface.
37466         * tests/test-utimens.c (main): Enhance test.
37467         * tests/test-lutimens.h (test_lutimens): New file.
37468         * modules/utimens-tests (Files): Distribute it.
37469         (Depends-on): Add symlink.
37470         (configure.ac): Check for usleep.
37471
37472         utimens: validate futimens usage
37473         * lib/utimens.c (gl_futimens): Require valid fd up front, using
37474         fewer syscalls on failure later on.  Avoid compiler warning on
37475         mingw.
37476         * modules/utimens (Depends-on): Add dup2.
37477
37478         utimens: add test
37479         * modules/utimens-tests: New test.
37480         * tests/test-utimens.h: New file.
37481         * tests/test-futimens.h: Likewise.
37482         * tests/test-utimens.c: Likewise.
37483
37484         doc: mention timestamp portability issues
37485         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
37486         instead.
37487         * doc/posix-functions/utime.texi (utime): Likewise.
37488         * doc/posix-functions/utimes.texi (utimes): Likewise.
37489         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
37490         instead.
37491         * doc/posix-functions/futimens.texi (futimens): Mention utimens
37492         module.
37493         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37494         Mention weakness with symlink timestamps.
37495         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
37496         to utimensat/futimens instead.
37497         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
37498
37499         test-dup2: enhance test
37500         * tests/test-dup2.c (main): Also check AT_FDCWD.
37501
37502         test-stat-time: avoid more spurious failures
37503         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
37504         xfs; and avoid race if the two timestamps cross quantization edge.
37505
37506         relocatable: prefer 'file system' over 'filesystem'
37507         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
37508         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
37509         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
37510         * doc/relocatable.texi (Enabling Relocatability): Likewise.
37511         * lib/relocatable.c (compute_curr_prefix): Likewise.
37512
37513 2009-10-10  Jim Meyering  <meyering@redhat.com>
37514
37515         stat-time-tests: check for the usleep function
37516         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
37517
37518 2009-10-10  Bruno Haible  <bruno@clisp.org>
37519
37520         * modules/xnanosleep: Put the Link section after the Include section.
37521
37522 2009-10-09  Eric Blake  <ebb9@byu.net>
37523
37524         dup2: work around FreeBSD 6.1 bug
37525         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
37526         * doc/posix-functions/dup2.texi (dup2): Document it.
37527         Reported by Nelson H. F. Beebe and Jim Meyering.
37528
37529         test-stat-time: port to buggy NFS clients
37530         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
37531         (test_ctime): Also skip test if mtime and ctime are skewed.
37532
37533         maint: prefer 'file system' over 'filesystem'
37534         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37535         * doc/posix-functions/lstat.texi (lstat): Likewise.
37536         * lib/file-has-acl.c (file_has_acl): Likewise.
37537         * lib/fwriteerror.c [TEST]: Likewise.
37538         * tests/test-areadlink.h (test_areadlink): Likewise.
37539         * tests/test-areadlinkat-with-size.c (main): Likewise.
37540         * tests/test-areadlinkat.c (main): Likewise.
37541         * tests/test-canonicalize-lgpl.c (main): Likewise.
37542         * tests/test-canonicalize.c (main): Likewise.
37543         * tests/test-fstatat.c (main): Likewise.
37544         * tests/test-linkat.c (main): Likewise.
37545         * tests/test-lstat.h (test_lstat_func): Likewise.
37546         * tests/test-mkdir.h (test_mkdir): Likewise.
37547         * tests/test-readlink.h (test_readlink): Likewise.
37548         * tests/test-remove.c (main): Likewise.
37549         * tests/test-rename.h (test_rename): Likewise.
37550         * tests/test-renameat.c (main): Likewise.
37551         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37552         * tests/test-symlink.h (test_symlink): Likewise.
37553         * tests/test-symlinkat.c (main): Likewise.
37554         * tests/test-unlink.h (test_unlink_func): Likewise.
37555         * tests/test-unlinkat.c (main): Likewise.
37556
37557         maint: make realtime library usage explicit
37558         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
37559         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
37560         * modules/settime (Link): Likewise.
37561         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
37562
37563         test-stat-time: speed up execution
37564         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
37565         warning on mingw.
37566         (nap): New helper function.
37567         (prepare_test): Use it to reduce sleep time.
37568         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
37569         execution.
37570         * modules/stat-time-tests (configure.ac): Check for usleep.
37571
37572 2009-10-09  Jim Meyering  <meyering@redhat.com>
37573
37574         selinux-h: always use getfilecon wrappers
37575         * lib/getfilecon.c: New file.
37576         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
37577         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
37578         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
37579         (fgetfilecon): Provide a stub.
37580         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
37581         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
37582         file unconditionally.
37583         When <selinux/selinux.h> is found, arrange to use wrappers.
37584         * modules/selinux-h (Files): Add getfilecon.c.
37585         (Makefile.am): Substitute include-next-related bits
37586         into the now-always-generated selinux/selinux.h file.
37587         * doc/glibc-functions/lgetfilecon.texi: New file.
37588         * doc/glibc-functions/fgetfilecon.texi: New file.
37589         * doc/glibc-functions/getfilecon.texi: New file.
37590         * doc/glibc-functions/getfilecon-desc.texi: New file.
37591         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
37592         which to pull in the new files.
37593         * MODULES.html.sh (Misc): Add selinux-h.
37594
37595 2009-10-08  Jim Meyering  <meyering@redhat.com>
37596
37597         unistd: fix comment typo
37598         * lib/unistd.in.h (euidaccess): Fix a comment typo.
37599
37600 2009-10-08  Eric Blake  <ebb9@byu.net>
37601
37602         areadlink: use SIZE_MAX consistently
37603         * modules/areadlink (Depends-on): Add stdint.
37604         * modules/areadlink-with-size (Depends-on): Likewise.
37605         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
37606         gives NULL; drop sys/types, since unistd gives size_t; and add
37607         stdint for SIZE_MAX.
37608         (SIZE_MAX): Rely on headers.
37609         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
37610         and add stdint.
37611         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
37612         (SIZE_MAX): Likewise.
37613         (INITIAL_BUF_SIZE): Turn into enum.
37614         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
37615
37616 2009-10-08  Jim Meyering  <meyering@redhat.com>
37617
37618         areadlinkat: avoid compilation failure
37619         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
37620         Fix typo in comment.
37621
37622 2009-10-07  Eric Blake  <ebb9@byu.net>
37623
37624         areadlinkat-with-size: new module
37625         * modules/areadlinkat-with-size: New module.
37626         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
37627         * lib/areadlink.h (areadlinkat): Declare it.
37628         * MODULES.html.sh (File system functions): Mention it.
37629         * modules/areadlinkat-with-size-tests: New test.
37630         * tests/test-areadlinkat-with-size.c: New file.
37631
37632         xreadlinkat: new module
37633         * modules/xreadlinkat: New module.
37634         * lib/xreadlinkat.c (xreadlinkat): New file.
37635         * lib/xreadlink.h (xreadlinkat): Declare it.
37636         * MODULES.html.sh (File system functions): Mention it.
37637
37638         areadlinkat: new module
37639         * lib/at-func.c (FUNC_FAIL): New define.
37640         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
37641         * modules/areadlinkat: New module.
37642         * lib/linkat.c (areadlinkat): Move...
37643         * lib/areadlinkat.c (areadlinkat): ...to new file.
37644         * lib/areadlink.h (areadlinkat): Declare it.
37645         * modules/linkat (Depends-on): Add areadlinkat.
37646         * MODULES.html.sh (File system functions): Mention it.
37647         * modules/areadlinkat-tests: New test.
37648         * tests/test-areadlinkat.c: New file.
37649
37650         areadlink, areadlink-with-size: add tests
37651         * modules/areadlink-tests: New test.
37652         * modules/areadlink-with-size-tests: Likewise.
37653         * tests/test-areadlink.h: New file.
37654         * tests/test-areadlink.c: Likewise.
37655         * tests/test-areadlink-with-size.c: Likewise.
37656
37657         maint: minor cleanups
37658         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
37659         _UNUSED_PARAMETER_ instead.
37660         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
37661         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
37662         * modules/linkat-tests (Files): Distribute test-link.h.
37663
37664         openat, utimens: whitespace cleanup
37665         * lib/openat.c: Prefer space throughout, rather than mix of 8
37666         spaces vs. tabs.
37667         * lib/at-func.c: Likewise.
37668         * lib/utimens.c: Likewise.
37669
37670         openat: avoid using wrong fd
37671         * lib/openat.c (openat_permissive): Reject user's fd if saving the
37672         working directory chooses same fd.
37673         * lib/at-func.c (AT_FUNC_NAME): Likewise.
37674
37675         mkdir, mkdirat: fix cygwin 1.5.x bug
37676         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
37677         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
37678         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
37679         bug.
37680         (gl_PREREQ_MKDIR): Delete unused macro.
37681         * modules/mkdir (Files): Track file rename.
37682         (configure.ac): Update macro name.
37683         * modules/openat (Depends-on): Add mkdir.
37684         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
37685
37686         mkdir, mkdirat: add tests
37687         * modules/mkdir-tests: New test.
37688         * tests/test-mkdir.h: New file.
37689         * tests/test-mkdir.c: Likewise.
37690         * tests/test-mkdirat.c: Likewise.
37691         * modules/openat-tests (Files): Add new files.
37692         (Makefile.am): Run new test.
37693
37694 2009-10-06  Eric Blake  <ebb9@byu.net>
37695
37696         doc: tweak *at function documentation
37697         * doc/posix-functions/faccessat.texi (faccessat): Mention
37698         known issue with replacement.
37699         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
37700         * doc/posix-functions/linkat.texi (linkat): Likewise.
37701         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37702         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37703         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37704         * doc/posix-functions/renameat.texi (renameat): Likewise.
37705         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37706
37707         openat: fix GNU/Hurd bug in unlinkat
37708         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
37709         broken.
37710         * doc/posix-functions/unlink.texi (unlink): Document this.
37711         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
37712
37713         fdopendir: fix GNU/Hurd bug
37714         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
37715         allowing non-directory fds.
37716         * lib/fdopendir.c (rpl_fdopendir): Work around it.
37717         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
37718         * modules/dirent (Makefile.am): Substitute it.
37719         * lib/dirent.in.h (fdopendir): Declare replacement.
37720         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
37721         * tests/test-fdopendir.c (main): Test something other than
37722         /dev/null, since on Hurd that behaves like a directory.
37723
37724         test-symlink: port to GNU/Hurd
37725         * tests/test-symlink.h (test_symlink): Relax expected errno.
37726
37727         doc: tweak more cygwin information
37728         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
37729         now compatible with glibc.
37730         * doc/posix-functions/getopt.texi (getopt): Likewise.
37731
37732         getopt-gnu: add another test
37733         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
37734         guarantee behavior relied on by m4.
37735         * tests/test-getopt.c (main): Use it.
37736         * modules/getopt-posix-tests (Depends-on): Add setenv.
37737         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
37738
37739         getopt: fix compilation on darwin
37740         * lib/getopt.in.h (includes): Leave breadcrumbs during system
37741         include.
37742         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
37743         Reported by Ludovic Courtès.
37744
37745 2009-10-06  Bruno Haible  <bruno@clisp.org>
37746
37747         * modules/size_max (Description): Discourage its use.
37748         Reported by Simon Josefsson.
37749
37750 2009-10-06  Jim Meyering  <meyering@redhat.com>
37751
37752         linkat: avoid compilation failure
37753         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
37754
37755 2009-10-05  Eric Blake  <ebb9@byu.net>
37756
37757         linkat: support Linux 2.6.17
37758         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
37759         linkat on Linux, but allow cache variable override.
37760         * lib/linkat.c (rpl_linkat): Define override.
37761         * modules/linkat (Depends-on): Add symlinkat.
37762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
37763         * modules/unistd (Makefile.am): Substitute it.
37764         * lib/unistd.in.h (linkat): Declare replacement.
37765         Reported by Pádraig Brady.
37766
37767         quotearg: port test to systems with C.UTF-8 locale
37768         * tests/test-quotearg.c (struct result_strings): Add another
37769         member, differentiating between C.ASCII and C.UTF-8 handling.
37770         (compare_strings): Add parameter.
37771         (main): Adjust all callers.
37772
37773         getopt: avoid clash with FreeBSD _getopt_internal
37774         * lib/getopt.in.h (_getopt_internal): Override the name.
37775         * lib/getopt_int.h (includes): Pick up any overrides.
37776         Reported by Reuben Thomas.
37777
37778         hash: allow C89 compilation
37779         * lib/hash.c (check_tuning): Move declaration before statement.
37780         Reported by Reuben Thomas.
37781
37782 2009-10-05  Karl Berry  <karl@gnu.org>
37783
37784         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
37785
37786 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
37787             Bruno Haible  <bruno@clisp.org>
37788
37789         * lib/uname.c (uname): Use a table-driven algorithm to compute
37790         Windows NT versions.
37791
37792 2009-10-04  Bruno Haible  <bruno@clisp.org>
37793
37794         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
37795         program_invocation_short_name.
37796         * modules/progname (configure.ac): Test for presence of
37797         program_invocation_short_name.
37798         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37799
37800 2009-10-04  Bruno Haible  <bruno@clisp.org>
37801
37802         * lib/progname.c (set_program_name): Fix comment.
37803         Reported by Jim Meyering.
37804
37805 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37806             Bruno Haible  <bruno@clisp.org>
37807
37808         * lib/uname.c: Include <string.h>.
37809         (uname): Do only one call to GetVersionEx in the common case.
37810
37811 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
37812             Bruno Haible  <bruno@clisp.org>
37813
37814         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
37815         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
37816         (uname): Add support for Windows CE and various non-x86 CPU types.
37817
37818 2009-10-03  Bruno Haible  <bruno@clisp.org>
37819
37820         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
37821         invocation to tests/configure.ac.
37822         Reported by Ian Beckwith <ianb@erislabs.net>.
37823
37824 2009-10-02  Eric Blake  <ebb9@byu.net>
37825
37826         fchdir: avoid compiler warning
37827         * lib/fchdir.c (canonicalize_file_name)
37828         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
37829
37830         test-open: support mingw errno values
37831         * tests/test-open.h (test_open): Relax test.
37832         * tests/test-fopen.h (test_fopen): Likewise.
37833         * tests/test-openat-safer.c (main): Likewise.
37834
37835         open: fix opening directory on mingw
37836         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
37837
37838         test-open: on GNU/Hurd, /dev/null is a directory
37839         * tests/test-fopen.h (main): Rename...
37840         (test_fopen): ...to this.  Use a guaranteed non-directory when
37841         confirming open behavior on trailing slash.
37842         * tests/test-openat-safer.c (main): Likewise.
37843         * tests/test-open.h (main): Likewise....
37844         (test_open): ...to this.
37845         * tests/test-fopen.c (main): Adjust caller.
37846         * tests/test-fopen-safer.c (main): Likewise.
37847         * tests/test-open.c (main): Likewise.
37848         * tests/test-fcntl-safer.c (main): Likewise.
37849         Reported by Samuel Thibault.
37850
37851         rename, fchdir: don't ignore chdir failure
37852         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
37853         * lib/rename.c (rpl_rename) [W32]: Likewise.
37854         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
37855         an empty destination directory if source cannot be renamed,
37856         although there is still possibility for failure.
37857         * doc/posix-functions/rename.texi (rename): Document the race.
37858         Reported by Jim Meyering.
37859
37860         maint: cleanup whitespace in recent commits
37861         * lib/rename.c (rpl_rename): Remove tabs.
37862         * tests/test-link.h (test_link): Likewise.
37863         * lib/fchdir.c (get_name): Likewise.
37864         Reported by Jim Meyering.
37865
37866 2009-10-02  Ben Pfaff  <blp@gnu.org>
37867
37868         relocatable-prog-wrapper: Add missing dependency on
37869         double-slash-root.
37870         * modules/relocatable-prog-wrapper: Add dependency.
37871         Reported by Ian Beckwith <ianb@erislabs.net>.
37872
37873 2009-10-02  Eric Blake  <ebb9@byu.net>
37874
37875         renameat: fix Solaris bugs
37876         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
37877         needed fixing.
37878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
37879         * modules/stdio (Makefile.am): Substitute it.
37880         * lib/stdio.in.h (renameat): Declare replacement.
37881         * lib/renameat.c (rpl_renameat): Implement fix.
37882
37883         renameat: new module
37884         * modules/renameat: New file.
37885         * lib/renameat.c (renameat): Likewise.
37886         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
37887         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37888         * modules/stdio (Makefile.am): Substitute them.
37889         * lib/stdio.in.h (renameat): Declare it.
37890         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37891         * doc/posix-functions/renameat.texi (renameat): Likewise.
37892         * modules/renameat-tests: New test.
37893         * tests/test-renameat.c: Likewise.
37894
37895         rename: fix mingw bugs
37896         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
37897         directory overwrite bugs.
37898
37899         rename: fix another cygwin 1.5 bug
37900         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
37901         checks.
37902         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
37903         unnecessary cygwin workarounds.  Also work around bug with moving
37904         full directory onto an empty one.
37905         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
37906
37907         rename-dest-slash: merge into rename module
37908         * modules/rename-dest-slash (Status): Mark obsolete.
37909         (Depends-on): Add rename.
37910         (Files): Let rename do it all.
37911         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
37912         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
37913         * m4/rename-dest-slash.m4: ...so this file can be deleted.
37914         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
37915         * lib/rename.c (rpl_rename): Update comments.
37916
37917         rename: fix cygwin 1.5.x bugs
37918         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
37919         * lib/rename.c (rpl_rename): Work around them.
37920         * modules/rename (Depends-on): Add same-inode.
37921
37922         rename: fix Solaris 10 bug
37923         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37924         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
37925         was the only bug.
37926
37927         rename: fix Solaris 9 bug
37928         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
37929         on non-directory.  Avoid calling exit.
37930         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
37931         strdup.
37932         * modules/rename-tests (Depends-on): Drop lstat.
37933         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
37934         (gl_PREREQ_RENAME): Delete unused macro.
37935
37936         rename-dest-slash: fix NetBSD bug
37937         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
37938         links.
37939         * modules/rename-dest-slash (Depends-on): Add same-inode.
37940
37941         rename-tests: new test, exposes several platform bugs
37942         * modules/rename-tests: New file.
37943         * tests/test-rename.h: Likewise.
37944         * tests/test-rename.c: Likewise.
37945         * doc/posix-functions/rename.texi (rename): Improve documentation,
37946         including bugs that will eventually be fixed in gnulib.
37947
37948 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
37949
37950         * lib/uname.c: Include <stdlib.h>
37951         (uname): Assume version info is available.
37952
37953 2009-10-02  Jim Meyering  <meyering@redhat.com>
37954
37955         gnu-web-doc-update: correct --help output
37956         * build-aux/gnu-web-doc-update: Make --help output relevant.
37957
37958         gnu-web-doc-update: add standard options
37959         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
37960
37961         gnu-web-doc-update: New module.
37962         Use this script to automatically update the on-line web documentation
37963         for your GNU project at http://www.gnu.org/software/$pkg/manual/
37964         * modules/gnu-web-doc-update: New file, from coreutils.
37965         * build-aux/gnu-web-doc-update: New script.
37966
37967 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37968
37969         link: LoadLibrary is not needed.
37970         * lib/link.c: Use GetModuleHandle.
37971
37972 2009-10-01  Eric Blake  <ebb9@byu.net>
37973
37974         getopt: bump serial number
37975         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37976         change.
37977
37978         tests: tighten link, rmdir, and remove tests
37979         * tests/test-link.h (includes): No need to use <config.h> here.
37980         Clean up if directory hard link was created, otherwise test for
37981         trailing '.'.
37982         * tests/test-linkat.c (main): Simplify.
37983         * tests/test-remove.c (main): Enhance test for trailing '.'.
37984         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37985
37986 2009-10-01  Jim Meyering  <meyering@redhat.com>
37987
37988         maint.mk: requiring "make major" was annoying, for a "minor" release.
37989         What is intended is "stable", to contrast with alpha and beta,
37990         so require "make stable", not "make major".
37991         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37992         (get_tool_versions): Likewise.
37993         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37994
37995 2009-09-30  Ben Pfaff  <blp@gnu.org>
37996
37997         Fix broken build of replacement for Windows tmpfile().
37998         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37999         flags argument added along with the 'mkostemp' module.
38000
38001 2009-09-28  Bruno Haible  <bruno@clisp.org>
38002
38003         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38004         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38005         to 'remove_elt'.
38006         (gl_list_remove): Update.
38007         * lib/gl_list.c (gl_list_remove): Update.
38008         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38009         to 'remove_elt'.
38010         (gl_oset_remove): Update.
38011         * lib/gl_list.c (gl_oset_remove): Update.
38012         Reported by Eric Blake.
38013
38014 2009-09-28  Eric Blake  <ebb9@byu.net>
38015
38016         doc: mention yet more cygwin 1.7 status
38017         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38018         cygwin.
38019         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38020         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38021
38022         argp: fix test failure
38023         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38024         that are not upper-case.  Pass correct range to tolower.
38025
38026 2009-09-27  Jim Meyering  <meyering@redhat.com>
38027
38028         test-yesno: work around sparc-dash here-document infelicity
38029         Without this change, the literal \177 byte in a here document
38030         would make dash 0.5.5.1-3 access uninitialized memory.
38031         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38032         Instead, use a marker, "@", and filter through tr to create the desired
38033         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38034
38035 2009-09-27  Bruno Haible  <bruno@clisp.org>
38036
38037         Disable untested support for new flavours of ACLs on AIX.
38038         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38039         progress.
38040         * lib/set-mode-acl.c (qset_acl): Likewise.
38041
38042 2008-12-07  Bruno Haible  <bruno@clisp.org>
38043
38044         Add support for new flavours of ACLs on AIX. (Untested.)
38045         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38046         (file_has_acl): Add support for newer AIX.
38047         * lib/set-mode-acl.c (qset_acl): Likewise.
38048         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38049         Rainer Tammer <tammer@tammer.net>.
38050
38051 2009-09-26  Eric Blake  <ebb9@byu.net>
38052
38053         argp: fix compilation of getopt
38054         * lib/getopt.in.h (includes): Use different guard than glibc.
38055         Reported by Sergey Poznyakoff.
38056
38057         doc: mention more cygwin 1.7 status
38058         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38059         bug.
38060         * doc/posix-functions/execl.texi (execl): Likewise.
38061         * doc/posix-functions/execle.texi (execle): Likewise.
38062         * doc/posix-functions/execlp.texi (execlp): Likewise.
38063         * doc/posix-functions/execv.texi (execv): Likewise.
38064         * doc/posix-functions/execve.texi (execve): Likewise.
38065         * doc/posix-functions/execvp.texi (execvp): Likewise.
38066         * doc/glibc-functions/canonicalize_file_name.texi
38067         (canonicalize_file_name): Cygwin 1.7 now provides this.
38068         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38069         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38070         on AT_SYMLINK_NOFOLLOW.
38071
38072 2009-09-24  Eric Blake  <ebb9@byu.net>
38073
38074         test-linkat: make test more robust
38075         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38076
38077         getopt: fix inclusion guards for cygwin
38078         * modules/getopt-posix (Depends-on): Add include-next.
38079         (Makefile.am): Substitute more items in replacement header.
38080         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38081         <getopt.h>.
38082         * lib/getopt.in.h (includes): Use split inclusion guard, and
38083         prefer <getopt.h> over include <unistd.h> when one is present.
38084         (option): Also override name of 'struct option'.
38085
38086         same-inode: revert prior change; it is not yet ready
38087         * NEWS: Undo mention of this change.
38088         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38089         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38090         * lib/cycle-check.c (cycle_check): Likewise.
38091         * lib/same.c (same_name): Likewise.
38092         * lib/at-func2.c (at_func2): Likewise.
38093
38094 2009-09-23  Eric Blake  <ebb9@byu.net>
38095
38096         linkat: new module
38097         * modules/linkat: New file.
38098         * lib/at-func2.c (at_func2): Likewise.
38099         * lib/linkat.c (linkat): Likewise.
38100         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38101         * lib/openat-priv.h (at_func2): Add declaration.
38102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38103         * modules/unistd (Makefile.am): Substitute them.
38104         * lib/unistd.in.h (linkat): Declare it.
38105         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38106         * doc/posix-functions/linkat.texi (linkat): Likewise.
38107         * doc/posix-functions/link.texi (link): Tweak wording.
38108         * tests/test-link.c (main): Move guts...
38109         * tests/test-link.h (test_link): ...into new file.
38110         * modules/linkat-tests: New test.
38111         * tests/test-linkat.c: Likewise.
38112         * modules/link-tests (Files): Ship new file.
38113         (Depends-on): Add stdbool.
38114
38115         dirname: add library-safe mdir_name
38116         * lib/dirname.h (mdir_name): New prototype.
38117         * lib/dirname.c (dir_name): Move guts...
38118         (mdir_name): ...to new function that avoids xalloc_die.
38119
38120         fchdir: another mingw fix
38121         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38122         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38123         on mingw (where it has not yet been ported), and make it optional
38124         elsewhere.
38125         (_gl_register_fd): Use it.
38126
38127         same-inode: make SAME_INODE tri-state, to port to mingw
38128         * NEWS: Mention this change.
38129         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38130         st_ino always being 0.
38131         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38132         * lib/cycle-check.c (cycle_check): Likewise.
38133         * lib/same.c (same_name): Likewise.
38134
38135         lstat: avoid mingw compilation error
38136         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38137         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38138         lstat ourselves.
38139         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38140         was adequate.
38141         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38142         the checks for lstat.
38143         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38144
38145         link: fix test failure on Solaris 9
38146         * lib/link.c (rpl_link): Don't assume link will catch bogus
38147         trailing slash on source.
38148
38149         test-symlinkat: enhance test
38150         * tests/test-readlink.c (main): Move guts...
38151         * tests/test-readlink.h (test_readlink): ...into new file.
38152         * tests/test-symlink.c (main): Move guts...
38153         * tests/test-symlink.h (test_symlink): ...into new file.
38154         * tests/test-symlinkat.c (main): Use new files for further
38155         coverage.
38156         (do_symlink, do_readlink): New helper functions.
38157         * modules/symlink-tests (Files): Ship new file.
38158         (Depends-on): Add stdbool.
38159         * modules/readlink-tests (Files): Ship new file.
38160         (Depends-on): Add stdbool.
38161         * modules/symlinkat-tests (Files): Use new files.
38162
38163 2009-09-23  Eric Blake  <ebb9@byu.net>
38164
38165         readlink: document portability issue with symlink length
38166         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38167         systems have bogus st_size on symlinks, and mention the
38168         areadlink-with-size module.
38169         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38170         * doc/posix-functions/readlink.texi (readlink): Mention the
38171         areadlink module, and ERANGE failure.
38172         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38173         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38174
38175         readlink: fix Solaris 9 bug with trailing slash
38176         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38177         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38178         * doc/posix-functions/readlink.texi (readlink): Document this.
38179         * modules/readlink-tests: New test.
38180         * tests/test-readlink.c: Likewise.
38181
38182         readlink: fix cygwin 1.5.x bug with return type
38183         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38184         * lib/unistd.in.h (readlink): Use ssize_t.
38185         * lib/readlink.c (readlink): Likewise.
38186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38187         * modules/unistd (Makefile.am): Substitute it.
38188         * lib/unistd.in.h (readlink): Declare replacement.
38189         * doc/posix-functions/readlink.texi (readlink): Document this.
38190
38191         symlink: use throughout gnulib
38192         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38193         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38194         symlink is not used.
38195         * modules/symlinkat (Depends-on): Add symlink.
38196         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38197         * modules/canonicalize-tests (Depends-on): Likewise.
38198         * modules/lstat-tests (Depends-on): Likewise.
38199         * modules/openat-tests (Depends-on): Likewise.
38200         * modules/remove-tests (Depends-on): Likewise.
38201         * modules/rmdir-tests (Depends-on): Likewise.
38202         * modules/unlink-tests (Depends-on): Likewise.
38203         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38204         * tests/test-canonicalize.c (symlink): Likewise.
38205         * tests/test-fstatat.c (symlink): Likewise.
38206         * tests/test-lstat.c (symlink): Likewise.
38207         * tests/test-remove.c (symlink): Likewise.
38208         * tests/test-rmdir.c (symlink): Likewise.
38209         * tests/test-unlink.c (symlink): Likewise.
38210         * tests/test-unlinkat.c (symlink): Likewise.
38211
38212         symlink: new module, for Solaris 9 bug
38213         * modules/symlink: New file.
38214         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38215         * lib/symlink.c: Likewise.
38216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38217         * modules/unistd (Makefile.am): Substitute them.
38218         * lib/unistd.in.h (symlink): Declare replacement.
38219         * MODULES.html.sh (File system functions): Mention it.
38220         * doc/posix-functions/symlink.texi (symlink): Likewise.
38221         * modules/symlink-tests: New test.
38222         * tests/test-symlink.c: Likewise.
38223
38224 2009-09-23  Bruno Haible  <bruno@clisp.org>
38225
38226         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38227         when needed.
38228         Test case: gnulib-tool --import --with-tests atexit inttypes.
38229         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38230
38231 2009-09-23  Bruno Haible  <bruno@clisp.org>
38232
38233         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38234         subcommand, not in a subshell.
38235
38236 2009-09-22  Eric Blake  <ebb9@byu.net>
38237
38238         unistd: sort replacement declarations
38239         * lib/unistd.in.h: Sort declarations.
38240
38241         open, openat: minor optimization
38242         * lib/open.c (open): If open succeeded, len is non-zero.
38243         * lib/openat.c (rpl_openat): Likewise.
38244
38245         link-follow: ensure correct result
38246         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38247         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38248         distinguish between possible failures.
38249
38250 2009-09-21  Eric Blake  <ebb9@byu.net>
38251
38252         fts: avoid compiler warning
38253         * lib/fts.c (dirent_inode_sort_may_be_useful)
38254         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38255
38256 2009-09-19  Bruno Haible  <bruno@clisp.org>
38257
38258         * lib/progreloc.c (canonicalize_file_name): New declaration.
38259
38260 2009-09-19  Eric Blake  <ebb9@byu.net>
38261
38262         link: fix quoting
38263         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38264
38265         openat: fix openat bugs on Solaris 9
38266         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38267         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38268         * modules/openat (Depends-on): Add open.
38269         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38270         * modules/fcntl-h (Makefile.am): Substitute it.
38271         * lib/fcntl.in.h (openat): Declare replacement.
38272         * doc/posix-functions/openat.texi (openat): Document this.
38273
38274         openat: move fstatat and unlinkat into correct files
38275         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38276         compiled.
38277         * lib/openat.c (fstatat, unlinkat): Move...
38278         * lib/fstatat.c (fstatat): ...into correct files.
38279         * lib/unlinkat.c (unlinkat): Likewise.
38280
38281         openat: fix unlinkat bugs on Solaris 9
38282         * lib/unlinkat.c (unlinkat): New file.
38283         * modules/openat (Depends-on): Add unlink.
38284         (Files): Distribute it.
38285         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38286         trailing slash behavior is broken.
38287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38288         * modules/unistd (Makefile.am): Substitute it.
38289         * lib/unistd.in.h (unlinkat): Declare replacement.
38290         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38291
38292         openat: fix fstatat bugs on Solaris 9
38293         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38294         stat.
38295         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38296
38297         test-unlinkat: enhance test, to expose Solaris 9 bug
38298         * tests/test-unlink.c (main): Factor guts...
38299         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38300         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38301         * tests/test-rmdir.c (main): Adjust caller.
38302         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38303         (unlinker): New helper function.
38304         (rmdirat): Enhance check.
38305         * modules/rmdir-tests (Depends-on): Add stdbool.
38306         * modules/unlink-tests (Depends-on): Likewise.
38307         (Files): Add test-unlink.h.
38308         * modules/openat-tests (Files): Likewise.
38309         (Depends-on): Add unlinkdir.
38310
38311         test-fstatat: new test, to expose Solaris 9 bugs
38312         * tests/test-stat.c (main): Factor guts...
38313         * tests/test-stat.h (test_stat_func): ...into new file.
38314         * tests/test-lstat.c (main): Factor guts...
38315         * tests/test-lstat.h (test_lstat_func): ...into new file.
38316         * tests/test-fstatat.c: New file.
38317         * modules/stat-tests (Files): Add test-stat.h.
38318         * modules/lstat-tests (Files): Add test-lstat.h.
38319         (Depends-on): Add stdbool.
38320         * modules/openat-tests (Depends-on): Add pathmax.
38321         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38322         (Makefile.am): Run new test.
38323
38324         remove: new module, for mingw and Solaris 9 bugs
38325         * modules/remove: New file.
38326         * lib/remove.c: Likewise.
38327         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38328         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38329         * modules/stdio (Makefile.am): Use them.
38330         * lib/stdio.in.h (remove): Declare replacement.
38331         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38332         * doc/posix-functions/remove.texi (remove): Likewise.
38333         * modules/remove-tests: New test.
38334         * tests/test-remove.c: Likewise.
38335
38336         unlink: new module, for Solaris 9 bug
38337         * modules/unlink: New file.
38338         * lib/unlink.c: Likewise.
38339         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
38340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38341         * modules/unistd (Makefile.am): Use them.
38342         * lib/unistd.in.h (stat): Declare replacement.
38343         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38344         * doc/posix-functions/unlink.texi (unlink): Likewise.
38345         * modules/unlink-tests: New test.
38346         * tests/test-unlink.c: Likewise.
38347
38348         lstat: fix Solaris 9 bug
38349         * lib/lstat.c (lstat): Also check for trailing slash on
38350         non-symlink, non-directories.  Use stat module to simplify logic.
38351         * doc/posix-functions/lstat.texi (lstat): Document it.
38352         * modules/lstat-tests (Depends-on): Add errno, same-inode.
38353         (configure.ac): Check for symlink.
38354         * tests/test-lstat.c (main): Add more tests.
38355
38356         stat: add as dependency to other modules
38357         * modules/chown (Depends-on): Add stat.
38358         * modules/euidaccess (Depends-on): Likewise.
38359         * modules/fchdir (Depends-on): Likewise.
38360         * modules/isdir (Depends-on): Likewise.
38361         * modules/link (Depends-on): Likewise.
38362         * modules/lstat (Depends-on): Likewise.
38363         * modules/mkdir-p (Depends-on): Likewise.
38364         * modules/modechange (Depends-on): Likewise.
38365         * modules/open (Depends-on): Likewise.
38366         * modules/readlink (Depends-on): Likewise.
38367         * modules/same (Depends-on): Likewise.
38368
38369         stat: fix Solaris 9 bug
38370         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
38371         slash.
38372         * lib/stat.c (rpl_stat): Work around it.
38373         * doc/posix-functions/stat.texi (stat): Update documentation.
38374
38375         stat: new module, for mingw bug
38376         * modules/stat: New file.
38377         * lib/stat.c: Likewise.
38378         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38379         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38380         * modules/sys_stat (Makefile.am): Use them.
38381         * lib/sys_stat.in.h (stat): Declare replacement.
38382         * lib/openat.c (fstatat): Deal with lstat and stat being function
38383         macros.
38384         * modules/openat (Depends-on): Add inline.
38385         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38386         * doc/posix-functions/stat.texi (stat): Likewise.
38387         * modules/stat-tests: New test.
38388         * tests/test-stat.c: Likewise.
38389
38390 2009-09-19  Jim Meyering  <meyering@redhat.com>
38391
38392         syntax-check: detect unnecessary inclusion of canonicalize.h
38393         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
38394
38395 2009-09-19  Eric Blake  <ebb9@byu.net>
38396
38397         canonicalize-lgpl: adjust clients to use correct header
38398         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38399         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
38400         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
38401         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
38402         * lib/progreloc.c (includes): Likewise.
38403
38404 2009-09-19  Jim Meyering  <meyering@redhat.com>
38405
38406         test-posixtm.c: correct a comment
38407         * tests/test-posixtm.c: Correct first-line comment.
38408         Spotted by Eric Blake.
38409
38410 2009-09-16  Jim Meyering  <meyering@redhat.com>
38411
38412         posixtm-tests: make T const-correct; add a test case
38413         * tests/test-posixtm.c (T): Declare const.
38414         Add a test for -(2^31+1).
38415         Remove useless can-succeed-only-in-2002 test.
38416
38417         posixtm-tests: adjust the sole failing test
38418         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
38419         expected output matches what mktime now produces.  Cross-checked via
38420         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
38421
38422         posixtm: move #ifdef'd tests into a new module
38423         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
38424         * tests/test-posixtm.c: ... this new file.
38425         * modules/posixtm-tests: New module.
38426
38427 2009-09-19  Eric Blake  <ebb9@byu.net>
38428
38429         openat: simplify use of at-func.c
38430         * lib/at-func.c (includes): Include prerequisites here, to
38431         simplify requirements on client files.
38432         * lib/openat-priv.h: Add double-inclusion guard.
38433         * lib/faccessat.c (includes): Simplify.
38434         * lib/fchmodat.c (includes): Likewise.
38435         * lib/fchownat.c (includes): Likewise.
38436         * lib/mkdirat.c (includes): Likewise.
38437         * lib/mkfifoat.c (includes): Likewise.
38438         * lib/symlinkat.c (includes): Likewise.
38439
38440         openat: allow return of fd 0
38441         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
38442         * modules/save-cwd (Depends-on): Replace fcntl-safer with
38443         unistd-safer.
38444         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
38445         <fcntl.h>; this module does not leak fds.
38446         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
38447         must be allowed to return 0, leaving openat_safer to add the
38448         safety.
38449         (openat_permissive): Avoid writing to just-opened fd 2 if
38450         restoring the current directory fails.
38451         * lib/openat-die.c (openat_restore_fail): Add comment.
38452         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
38453         (save_cwd): Guarantee safe fd, but without use of open_safer.
38454         * tests/test-openat.c: New test.
38455         * modules/openat-tests (Files, Makefile.am): Distribute and build
38456         new file.
38457
38458         relocatable-prog-wrapper: fix build
38459         * modules/relocatable-prog-wrapper (Files): Update name of
38460         canonicalize m4 file, broken on 2009-09-17.
38461         Reported by emad hajjar <aleppos@hotmail.com>.
38462
38463 2009-09-19  Bruno Haible  <bruno@clisp.org>
38464
38465         * lib/safe-alloc.h: Use the standard header with GPL copyright.
38466         * lib/safe-alloc.c: Likewise.
38467         Reported by Ian Beckwith <ianb@erislabs.net>.
38468
38469 2009-09-18  Bruno Haible  <bruno@clisp.org>
38470
38471         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
38472         Reported by <erobles@sensacd.com.mx>.
38473
38474 2009-09-17  Eric Blake  <ebb9@byu.net>
38475
38476         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
38477         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
38478         slashes when checking if last component is missing.
38479         * tests/test-canonicalize.c (main): Test this.
38480
38481         canonicalize, canonicalize-lgpl: honor // if distinct from /
38482         * modules/canonicalize (Files): Add double-slash-root.m4.
38483         * modules/canonicalize-lgpl (Files): Likewise.
38484         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
38485         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
38486         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
38487         fallback definition.
38488         (canonicalize_filename_mode): Use it to protect //.
38489         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
38490         (__realpath): Likewise.
38491         * tests/test-canonicalize.c (main): Test this.
38492         * tests/test-canonicalize-lgpl.c (main): Likewise.
38493         * modules/canonicalize-tests (Depends-on): Add same-inode.
38494         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38495
38496         canonicalize-lgpl: fix glibc bug with trailing slash
38497         * m4/canonicalize-lgpl.m4: Move contents...
38498         * m4/canonicalize.m4: ...here.
38499         (gl_CANONICALIZE_LGPL): Factor realpath check...
38500         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
38501         glibc 2.3.5 bug, fixed 2005-04-27.
38502         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
38503         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
38504         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
38505         * modules/canonicalize-lgpl (Files): Manage file rename.
38506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38507         * modules/stdlib (Makefile.am): Substitute witness.
38508         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
38509         is needed.
38510         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
38511         replacement is required.
38512         * lib/canonicalize.c (canonicalize_file_name): Likewise.
38513         * doc/glibc-functions/canonicalize_file_name.texi
38514         (canonicalize_file_name): Document this.
38515         * doc/posix-functions/realpath.texi (realpath): Likewise.
38516
38517         canonicalize-lgpl: reject non-directory with trailing slash
38518         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
38519         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
38520         catches failures in glibc 2.3.5.
38521         * tests/test-canonicalize.c (main): Likewise.
38522
38523         canonicalize-lgpl: use native realpath if it works
38524         * lib/canonicalize-lgpl.c (realpath): Guard with
38525         FUNC_REALPATH_WORKS.
38526         * lib/stdlib.in.h (realpath): Make declaration optional based on
38527         HAVE_REALPATH.
38528         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
38529         native realpath works.
38530         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
38531         * modules/stdlib (Makefile.am): Substitute witness.
38532
38533         canonicalize, canonicalize-lgpl: use <stdlib.h>
38534         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
38535         (Include): Mention <stdlib.h>.
38536         (configure.ac): Mention functions we provide.
38537         * modules/canonicalize (configure.ac): Likewise.
38538         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
38539         realpath if canonicalize_file_name is missing.
38540         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
38541         * modules/stdlib (Makefile.am): Substitute witnesses.
38542         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
38543         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
38544         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
38545         * NEWS: Document this.
38546         * doc/glibc-functions/canonicalize_file_name.texi
38547         (canonicalize_file_name): Likewise.
38548         * doc/posix-functions/realpath.texi (realpath): Likewise.
38549         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
38550
38551         test-canonicalize: consolidate into single C program
38552         * tests/test-canonicalize.sh: Delete; move setup into...
38553         * tests/test-canonicalize.c (main): ...the program, making it
38554         easier to run in debugger.  Add some tests.
38555         * modules/canonicalize-tests (Files): Remove unused file.
38556         (Depends-on): Add progname.
38557         (configure.ac, Makefile.am): Simplify.
38558
38559         test-canonicalize-lgpl: consolidate into single C program
38560         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
38561         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
38562         easier to run in debugger.  Add some tests.
38563         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
38564         (configure.ac, Makefile.am): Simplify.
38565
38566         canonicalize: avoid resolvepath
38567         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
38568         unnecessary checks.
38569         * lib/canonicalize.c (includes): Simplify.
38570         (canonicalize_file_name): Drop resolvepath implementation.
38571         * modules/canonicalize (Depends-on): Drop filenamecat.
38572
38573         canonicalize: don't lose errno
38574         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
38575         over calls to free.
38576
38577         canonicalize: simplify errno handling
38578         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
38579         assignment.
38580
38581         canonicalize, canonicalize-lgpl: update module dependencies
38582         * modules/canonicalize (Depends-on): Add extensions, lstat,
38583         pathmax, stdlib.
38584         (Files): Drop pathmax.h.
38585         (configure.ac): Adjust macro name.
38586         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
38587         lstat, stdlib, sys_stat.
38588         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
38589         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
38590         extensions.
38591         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
38592         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
38593         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
38594         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
38595         declaration, if available.
38596         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
38597         we can rely on the readlink module.
38598         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
38599         (includes): Use <unistd.h> unconditionally.
38600
38601 2009-09-17  Eric Blake  <ebb9@byu.net>
38602
38603         maint: make Include sections of modules consistent
38604         * modules/alloca: Use only header name; no need to list #include.
38605         * modules/alloca-opt: Likewise.
38606         * modules/arpa_inet: Likewise.
38607         * modules/canon-host: Likewise.
38608         * modules/configmake: Likewise.
38609         * modules/dirent: Likewise.
38610         * modules/eealloc: Likewise.
38611         * modules/environ: Likewise.
38612         * modules/fchdir: Likewise.
38613         * modules/fcntl: Likewise.
38614         * modules/fcntl-h: Likewise.
38615         * modules/gethrxtime: Likewise.
38616         * modules/gettime: Likewise.
38617         * modules/ignore-value: Likewise.
38618         * modules/inet_ntop: Likewise.
38619         * modules/inet_pton: Likewise.
38620         * modules/inttypes: Likewise.
38621         * modules/isnand-nolibm: Likewise.
38622         * modules/isnanf-nolibm: Likewise.
38623         * modules/mbchar: Likewise.
38624         * modules/mbfile: Likewise.
38625         * modules/mbiter: Likewise.
38626         * modules/mbuiter: Likewise.
38627         * modules/netdb: Likewise.
38628         * modules/netinet_in: Likewise.
38629         * modules/nproc: Likewise.
38630         * modules/pagealign_alloc: Likewise.
38631         * modules/poll: Likewise.
38632         * modules/printf-frexp: Likewise.
38633         * modules/pthread: Likewise.
38634         * modules/putenv: Likewise.
38635         * modules/random_r: Likewise.
38636         * modules/relocatable-prog: Likewise.
38637         * modules/search: Likewise.
38638         * modules/select: Likewise.
38639         * modules/selinux-h: Likewise.
38640         * modules/settime: Likewise.
38641         * modules/signal: Likewise.
38642         * modules/size_max: Likewise.
38643         * modules/socklen: Likewise.
38644         * modules/ssize_t: Likewise.
38645         * modules/stdarg: Likewise.
38646         * modules/stdbool: Likewise.
38647         * modules/stddef: Likewise.
38648         * modules/stdint: Likewise.
38649         * modules/stdio: Likewise.
38650         * modules/stdlib: Likewise.
38651         * modules/string: Likewise.
38652         * modules/strings: Likewise.
38653         * modules/sys_file: Likewise.
38654         * modules/sys_ioctl: Likewise.
38655         * modules/sys_select: Likewise.
38656         * modules/sys_socket: Likewise.
38657         * modules/sys_stat: Likewise.
38658         * modules/sys_time: Likewise.
38659         * modules/sys_times: Likewise.
38660         * modules/sys_utsname: Likewise.
38661         * modules/sys_wait: Likewise.
38662         * modules/sysexits: Likewise.
38663         * modules/time: Likewise.
38664         * modules/times: Likewise.
38665         * modules/tmpfile: Likewise.
38666         * modules/trim: Likewise.
38667         * modules/unistd: Likewise.
38668         * modules/wchar: Likewise.
38669         * modules/wctype: Likewise.
38670
38671 2009-09-17  Bruno Haible  <bruno@clisp.org>
38672
38673         Make getdate.y compile on QNX and NetBSD 5 / i386.
38674         * m4/getdate.m4 (gl_GETDATE): Conditionally define
38675         TIME_T_FITS_IN_LONG_INT.
38676         * lib/getdate.y (long_time_t): New type.
38677         (relative_time): Change type of 'seconds' field to long_time_t.
38678         (get_date): Update types of local variables. Check against overflow
38679         during conversion from long_time_t to time_t.
38680         Reported by Matt Kraai <kraai@ftbfs.org>
38681         and Hasso Tepper <hasso@netbsd.org>.
38682
38683 2009-09-17  Bruno Haible  <bruno@clisp.org>
38684
38685         * modules/COPYING: Update copyright years.
38686         * modules/README: Likeiwse.
38687         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
38688         Reported by Ian Beckwith <ianb@erislabs.net>.
38689
38690 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38691
38692         * users.txt: Update references for gnuit package.
38693
38694 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
38695
38696         * m4/getdelim.m4: Fix typo in copyright line.
38697
38698 2009-09-17  Bruno Haible  <bruno@clisp.org>
38699
38700         * lib/atoll.c: Use the standard header with GPL copyright.
38701         * lib/argz.in.h: Likewise.
38702         * lib/glob.c: Likewise.
38703         * lib/glob-libc.h: Likewise.
38704         * lib/random_r.c: Likewise.
38705         * lib/siglist.h: Likewise.
38706         * lib/strsignal.c: Likewise.
38707         Reported by Ian Beckwith <ianb@erislabs.net>.
38708
38709 2009-09-17  Eric Blake  <ebb9@byu.net>
38710
38711         rmdir: ensure correct dependency order
38712         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
38713
38714 2009-09-17  Bruno Haible  <bruno@clisp.org>
38715
38716         Disable assertion that fails on NetBSD 5 / i386.
38717         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
38718         Reported by Sam Steingold <sds@gnu.org>
38719         and Hasso Tepper <hasso@netbsd.org>.
38720
38721 2009-09-16  Eric Blake  <ebb9@byu.net>
38722
38723         unlinkdir: port to mingw
38724         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
38725         on which no one can unlink a directory.
38726
38727         stdlib: sort witness names
38728         * modules/stdlib (Makefile.am): Sort replacements.
38729         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
38730         * lib/stdlib.in.h: Likewise.
38731
38732         parse-duration-tests: avoid link failure
38733         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
38734         LIBINTL.
38735         Reported by Tom G. Christensen.
38736
38737         openat-tests: ensure unlinkat behaves like rmdir
38738         * tests/test-rmdir.c (main): Factor guts...
38739         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
38740         * modules/rmdir-tests (Files): Ship new file.
38741         * modules/openat-tests: New test.
38742         * tests/test-unlinkat.c: Likewise.
38743
38744         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
38745         * modules/rmdir-errno (Status, Notice): Now obsolete.
38746
38747         rmdir: work around cygwin 1.5.x and mingw bugs
38748         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
38749         * lib/rmdir.c (rmdir): Work around it.
38750         * modules/rmdir (Status, Notice): No longer obsolete.
38751         (Files): Add dos.m4.
38752         (Depends-on): Add unistd.
38753         (configure.ac): Set witnesses.
38754         (License): Relax to LGPLv2+.
38755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
38756         * modules/unistd (Makefile.am): Substitute witnesses.
38757         * lib/unistd.in.h (rmdir): Declare replacement.
38758         * doc/posix-functions/rmdir.texi (rmdir): Document this.
38759         * modules/rmdir-tests: New tests.
38760         * tests/test-rmdir.c: Likewise.
38761
38762 2009-09-15  Eric Blake  <ebb9@byu.net>
38763
38764         fchdir: improve use of replacement functions
38765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
38766         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
38767         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
38768         REPLACE_CLOSEDIR.
38769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
38770         * modules/sys_stat (Makefile.am): Substitute correct witness.
38771         * modules/dirent (Makefile.am): Likewise.
38772         * modules/unistd (Makefile.am): Likewise.
38773         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
38774         * lib/unistd.in.h (dup): Likewise.
38775         * lib/sys_stat.in.h (fstat): Likewise.
38776
38777         maint: ignore gnulib-tool temp files
38778         * .gitignore: Ignore files created during gnulib-tool --test.
38779
38780 2009-09-13  Jim Meyering  <meyering@redhat.com>
38781
38782         posixtm: don't reject a time that specify "60" as the number of seconds
38783         * lib/posixtm.c (posixtime): The code to reject invalid dates
38784         would also reject a time specified with the .60 suffix.
38785         But POSIX allows that, in order to accommodate leap seconds.
38786         So don't reject it.
38787         (main): Adjust tests accordingly.
38788         * modules/posixtm (Depends-on): Add stpcpy.
38789
38790 2009-09-11  Jim Meyering  <meyering@redhat.com>
38791
38792         announce-gen: include [$release_type] in emitted Subject:
38793         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
38794         e.g., [stable] in the emitted Subject: line.
38795
38796 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38797
38798         Remove obsolete macros from several modules.
38799         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
38800         obsolete Autoconf macros with their modern counterparts.
38801         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
38802         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
38803         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
38804         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
38805         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
38806         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38808         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38809         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
38810         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
38811         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
38812         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
38813         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
38814         * m4/sockets.m4 (gl_SOCKETS): Likewise.
38815         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
38816         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
38817         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
38818         * m4/time_r.m4 (gl_TIME_R): Likewise.
38819         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
38820         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
38821         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
38822
38823         Fix copyright header in build-aux scripts.
38824         * build-aux/git-version-gen: Fix copyright header to match GPLv3
38825         recommendation.
38826         * build-aux/ncftpput-ftp: Likewise.
38827         * build-aux/update-copyright: Likewise.
38828
38829 2009-09-09  Eric Blake  <ebb9@byu.net>
38830
38831         test-link: allow Linux choice of errno
38832         * tests/test-link.c (main): Relax test for alternate error.
38833
38834         strndup: fix improper m4 caching
38835         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
38836         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
38837         (gl_PREREQ_STRNDUP): Delete.
38838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
38839         * modules/string (Makefile.am): Substitute it.
38840         * lib/string.in.h (strndup): Modernize prototype.
38841
38842         getcwd: port to mingw
38843         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
38844         different from the POSIX assumptions made throughout the getcwd
38845         module; fortunately, the mingw getcwd does not need replacement.
38846         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
38847         * modules/getcwd-tests: New test.
38848         * tests/test-getcwd.c: Likewise.
38849
38850         link: fix platform bugs
38851         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
38852         * lib/link.c (link): Work around them.  Fix related mingw bug.
38853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
38854         * modules/unistd (Makefile.am): Substitute it.
38855         * lib/unistd.in.h (link): Declare replacement.
38856         * doc/posix-functions/link.texi (link): Document this.
38857         * modules/link (Depends-on): Add strdup-posix, sys_stat.
38858
38859         test-link: consolidate into single C program, test more cases
38860         * tests/test-link.sh: Delete.
38861         * tests/test-link.c: Test more error conditions.  Exposes bugs on
38862         at least Cygwin and Solaris.
38863         * modules/link-tests (Files): Remove unused file.
38864         (Depends-on): Add errno, sys_stat.
38865         (Makefile.am): Simplify.
38866
38867 2009-09-08  Bruno Haible  <bruno@clisp.org>
38868
38869         Work around towlower, towupper bug on mingw.
38870         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
38871         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
38872         * doc/posix-functions/towlower.texi: Mention the mingw bug.
38873         * doc/posix-functions/towupper.texi: Likewise.
38874         Reported by Eric Blake.
38875
38876 2009-09-08  Jim Meyering  <meyering@redhat.com>
38877
38878         build: don't try to run autoheader if we don't use it
38879         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
38880         is not used in configure.ac.
38881
38882 2009-09-08  Eric Blake  <ebb9@byu.net>
38883
38884         euidaccess: fix compilation error
38885         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
38886
38887         rawmemchr: relax license
38888         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
38889         okay.
38890         Reported by Jim Meyering.
38891
38892         mkfifoat: new module
38893         * modules/mkfifoat: New file.
38894         * lib/mkfifoat.c: Likewise.
38895         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
38896         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38897         * modules/sys_stat (Makefile.am): Use them.
38898         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
38899         * MODULES.html.sh (File system functions): Mention module.
38900         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38901         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38902         * modules/mkfifoat-tests: New test.
38903         * tests/test-mkfifoat.c: Likewise.
38904
38905         strchrnul: relax license
38906         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
38907         okay.
38908         Reported by Jim Meyering.
38909
38910 2009-09-08  Eric Blake  <ebb9@byu.net>
38911
38912         fstatat: fix compilation on Solaris
38913         * lib/fstatat.c (includes): Add fcntl.h.
38914         Reported by Pádraig Brady.
38915
38916 2009-09-07  Eric Blake  <ebb9@byu.net>
38917
38918         rename: modernize replacement
38919         * modules/rename (Depends-on): Add stdio.
38920         (configure.ac): Declare witness.
38921         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
38922         stdio take care of replacement.
38923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38924         * modules/stdio (Makefile.am): Substitute them.
38925         * lib/stdio.in.h (rename): Declare replacement.
38926         * lib/rename.c (includes): Allow cross-compilation to non-windows
38927         machines.
38928         * doc/posix-functions/rename.texi (rename): Improve
38929         documentation.
38930
38931         stdio: sort witness names
38932         * modules/stdio (Makefile.am): Sort replacements.
38933         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38934         * lib/stdio.in.h: Likewise.
38935
38936         getcwd: minor cleanups
38937         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
38938         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
38939
38940         openat: provide more convenience names
38941         * modules/faccessat (configure.ac): Add C witness.
38942         * lib/unistd.in.h (readlinkat): Fix typo.
38943         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
38944         convenience wrappers.
38945         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
38946         wrappers in syntax checks.
38947
38948 2009-09-06  Eric Blake  <ebb9@byu.net>
38949
38950         doc: fix comments in recent patches
38951         * lib/faccessat.c: Mention correct function.
38952         * lib/fchmodat.c: Likewise.
38953         * lib/fchownat.c: Likewise.
38954         * lib/symlinkat.c: Likewise.
38955         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
38956         constants.
38957
38958         faccessat, symlinkat: continue cleanup of previous patch
38959         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
38960         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38961         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
38962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
38963         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
38964         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38965         set.
38966
38967 2009-09-06  Bruno Haible  <bruno@clisp.org>
38968
38969         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38970         (fstatat): Declare if GNULIB_FSTATAT is set.
38971         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38972         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38973         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38974         * modules/fcntl-h (Files): Remove m4/openat.m4.
38975         * modules/sys_stat (Files): Remove m4/openat.m4.
38976         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38977         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38978         * modules/unistd (Files): Remove m4/openat.m4.
38979         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38980         GNULIB_OPENAT.
38981         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38982         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38983         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38984         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38985         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38986         gl_OPENAT_DEFAULTS.
38987         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38988         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38989         Don't require gl_OPENAT_DEFAULTS.
38990         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38991         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38992         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38993         (gl_OPENAT_DEFAULTS): Remove macro.
38994
38995 2009-09-06  Bruno Haible  <bruno@clisp.org>
38996
38997         * modules/openat (configure.ac): Remove unneeded witness.
38998
38999 2009-09-06  Bruno Haible  <bruno@clisp.org>
39000
39001         Set errno to ENOSYS when a function is entirely unsupported.
39002         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39003         EOPNOTSUPP.
39004         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39005         * modules/chown (Depends-on): Remove errno.
39006
39007 2009-09-06  Bruno Haible  <bruno@clisp.org>
39008
39009         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39010
39011 2009-09-06  Bruno Haible  <bruno@clisp.org>
39012
39013         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39014
39015 2009-09-06  Ben Pfaff  <blp@gnu.org>
39016             Bruno Haible  <bruno@clisp.org>
39017
39018         Work around a glibc bug in strtok_r.
39019         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39020         Undefine if UNDEFINE_STRTOK_R is set.
39021         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39022         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39023         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39024         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39025         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39026         UNDEFINE_STRTOK_R.
39027         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39028
39029 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39030
39031         exclude: minor fix
39032         * lib/exclude.c: Include wctype.h
39033
39034 2009-09-06  Akim Demaille  <demaille@gostai.com>
39035
39036         bootstrap: improve error message
39037         * build-aux/bootstrap (find_tool): Upon failure, report the list
39038         of candidates.
39039         Honor the initial value of the envvar.
39040
39041 2009-09-05  Eric Blake  <ebb9@byu.net>
39042
39043         symlinkat: new module
39044         * modules/symlinkat: New file.
39045         * lib/symlinkat.c: Likewise.
39046         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39048         * modules/unistd (Makefile.am): Use them.
39049         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39050         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39051         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39052         * MODULES.html.sh (File system functions): Mention module.
39053         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39054         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39055         * modules/symlinkat-tests: New test.
39056         * tests/test-symlinkat.c: Likewise.
39057
39058         test-openat-safer: add more checks
39059         * tests/test-openat-safer.c (main): Check more code paths.
39060
39061 2009-09-05  Jim Meyering  <meyering@redhat.com>
39062
39063         syntax-check: detect unnecessary inclusion of openat.h
39064         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39065
39066 2009-09-05  Bruno Haible  <bruno@clisp.org>
39067
39068         Support towlower, towupper.
39069         * doc/posix-functions/towlower.texi: Mention module wctype.
39070         * doc/posix-functions/towupper.texi: Likewise.
39071         * lib/wctype.in.h (towlower, towupper): New functions.
39072         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39073         (ASSERT): New macro.
39074         (e): New variable.
39075         (main): Test also towlower, towupper. Test WEOF argument.
39076         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39077
39078 2009-09-05  Bruno Haible  <bruno@clisp.org>
39079
39080         Fix conversion behaviour when the input is invalid.
39081         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39082         mark occurring in first pass of indirect conversion.
39083         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39084         input.
39085         Found by clang's static analyzer.
39086
39087 2009-09-05  Bruno Haible  <bruno@clisp.org>
39088
39089         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39090         where direct conversion is possible.
39091
39092 2009-09-04  Eric Blake  <ebb9@byu.net>
39093
39094         openat: fail with ENOENT on empty name
39095         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39096         buffer.
39097
39098         link-follow: fix logic bug in prior patch
39099         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39100         reversed sense of yes and no in prior patch.  Avoid confusing
39101         compilation failure with desired semantics.
39102
39103         link-follow: accomodate mingw and cross-compilation
39104         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39105         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39106         cross-compilation results to -1, to make linkat easier to
39107         implement when cross-compiling.  Trivially support mingw.
39108         * modules/link-follow (configure.ac): Call new name.
39109         * NEWS: Mention this.
39110
39111 2009-09-03  Eric Blake  <ebb9@byu.net>
39112
39113         faccessat: compile replacement
39114         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39115         needed.
39116
39117         fts: fix compilation error
39118         * lib/fts.c (includes): Re-add "openat.h", for
39119         openat_needs_fchdir.
39120
39121         faccessat: new module
39122         * modules/faccessat: New file.
39123         * lib/faccessat.c: Likewise.
39124         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39126         * modules/unistd (Makefile.am): Use it.
39127         * lib/unistd.in.h (faccessat): Declare it.
39128         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39129         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39130         * MODULES.html.sh (File system functions): Mention it.
39131         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39132         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39133
39134         euidaccess: prefer POSIX over non-standard implementation
39135         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39136         * lib/euidaccess.c (euidaccess): Use it if available.
39137
39138         openat: make template easier to use
39139         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39140         AT_FUNC_F2 to be undefined.
39141         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39142         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39143         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39144         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39145         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39146         Likewise.
39147         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39148         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39149         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39150         Likewise.
39151
39152         openat: declare in POSIX headers
39153         * NEWS: Mention this.
39154         * modules/openat (configure.ac): Declare witnesses.
39155         (Depends-on): Add fcntl-h, sys_stat, unistd.
39156         (Include): Mention correct headers.
39157         * modules/fcntl-h (Depends-on): Add link-warning.
39158         (Files): Add openat.m4.
39159         (Makefile.am): Substitute witnesses.
39160         * modules/sys_stat (Files, Makefile.am): Likewise.
39161         * modules/unistd (Files, Makefile.am): Likewise.
39162         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39163         (gl_OPENAT_DEFAULTS): New macro.
39164         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39166         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39167         (SYS_STAT_H): Remove unused variable.
39168         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39169         * lib/fcntl--.h (includes): Remove unneeded header.
39170         * lib/openat-safer.c (includes): Likewise.
39171         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39172         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39173         appropriate headers.
39174         (__OPENAT_PREFIX): Delete.
39175         * lib/fcntl.in.h (openat): Provide declaration.
39176         (AT_FDCWD): Fix Solaris bug.
39177         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39178         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39179         * lib/fchmodat.c (includes):  Adjust to find declaration.
39180         * lib/fchownat.c (includes): Likewise.
39181         * lib/mkdirat.c (includes): Likewise.
39182         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39183         still visible.
39184
39185 2009-09-02  Eric Blake  <ebb9@byu.net>
39186
39187         errno: use consistently
39188         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39189         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39190         * lib/canonicalize.c (ELOOP): Likewise.
39191         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39192         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39193         * lib/lchown.c (EOPNOTSUPP): Likewise.
39194         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39195         * lib/savewd.c (ESTALE): Likewise.
39196         * lib/settime.c (ENOSYS): Likewise.
39197         * lib/utimens.c (ENOSYS): Likewise.
39198         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39199         * lib/chdir-safer.c (ELOOP): Likewise.
39200         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39201         * modules/c-stack (Depends-on): Add errno.
39202         * modules/canonicalize (Depends-on): Likewise.
39203         * modules/chdir-safer (Depends-on): Likewise.
39204         * modules/fdopendir (Depends-on): Likewise.
39205         * modules/inet_ntop (Depends-on): Likewise.
39206         * modules/inet_pton (Depends-on): Likewise.
39207         * modules/lchown (Depends-on): Likewise.
39208         * modules/openat (Depends-on): Likewise.
39209         * modules/savewd (Depends-on): Likewise.
39210         * modules/settime (Depends-on): Likewise.
39211         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39212
39213         fts: avoid leaking fds
39214         * modules/fts (Depends-on): Add cloexec.
39215         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39216         flag.
39217
39218         fts: make directory fds more robust
39219         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39220         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39221
39222         backupfile, chdir-long, fts, savedir: make safer
39223         * lib/backupfile.c (includes): Use "dirent--.h", since
39224         numbered_backup can write to stderr during readdir.
39225         * lib/savedir.c (includes): Likewise.
39226         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39227         emulation can write to stderr on failure.
39228         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39229         * lib/getcwd.c: Document why opendir_safer is unused.
39230         * lib/glob.c: Likewise.
39231         * lib/scandir.c: Likewise.
39232         * lib/openat-proc.c: Likewise, for open_safer.
39233         * modules/backupfile (Depends-on): Add dirent-safer.
39234         * modules/savedir (Depends-on): Likewise.
39235         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39236         * modules/chdir-long (Depends-on): Add openat-safer.
39237
39238         openat-safer: new module
39239         * modules/openat-safer: New file.
39240         * lib/openat-safer.c: Likewise.
39241         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39242         * lib/fcntl-safer.h (openat_safer): Declare.
39243         * lib/fcntl--.h (openat): Override.
39244         * MODULES.html.sh (File descriptor based I/O): Mention it.
39245         * lib/openat.h: Add double-inclusion guards.
39246         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39247         "fcntl--.h", so we can implement openat.
39248         * modules/openat-safer-tests: New test.
39249         * tests/test-openat-safer.c: New file.
39250
39251         dirent-safer: new module
39252         * modules/dirent-safer: New file.
39253         * lib/dirent--.h: Likewise.
39254         * lib/dirent-safer.h: Likewise.
39255         * lib/opendir-safer.c: Likewise.
39256         * m4/dirent-safer.m4: Likewise.
39257         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39258         * modules/dirent-safer-tests: New test.
39259         * tests/test-dirent-safer.c: New file.
39260         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39261
39262         fdopendir: optimize on mingw
39263         * lib/unistd.in.h (_gl_directory_name): New prototype.
39264         * lib/fchdir.c (_gl_directory_name): Implement it.
39265         (fchdir): Use it to simplify implementation.
39266         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39267         fchdir, when available, to avoid calling [f]chdir().
39268
39269         fdopendir: split into its own module
39270         * lib/openat.c (fdopendir): Move...
39271         * lib/fdopendir.c: ...into new file.
39272         * modules/fdopendir: New module.
39273         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39274         * modules/openat (Depends-on): Add fdopendir.
39275         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39276         fdopendir here.
39277         * modules/savedir (Depends-on): Only need fdopendir, not full
39278         openat.
39279         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39280         * lib/openat.h (fdopendir): Drop prototype.
39281         * lib/dirent.in.h (fdopendir): Provide prototype.
39282         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39283         * modules/dirent (Makefile.am): Substitute them.
39284         * MODULES.html.sh (File system functions): Mention it.
39285         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39286         * modules/fdopendir-tests: New file.
39287         * tests/test-fdopendir.c: Likewise.
39288
39289         fchdir: use more consistent macro convention
39290         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39291         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39292         REPLACE_FCHDIR, rather than relying on config.h macros.
39293         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39294         inside a single make-time REPLACE_FCHDIR block, rather than using
39295         the config.h FCHDIR_REPLACEMENT.
39296         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39297         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39298         Manage fstat replacement.
39299         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39300         REPLACE_FCHDIR.
39301         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39302         (Makefile.am): Substitute REPLACE_FCHDIR.
39303         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39304         FCHDIR_REPLACEMENT.
39305         * lib/dup-safer.c (dup_safer): Likewise.
39306         * lib/dup2.c (rpl_dup2): Likewise.
39307         * lib/dup3.c (rpl_dup3): Likewise.
39308         * lib/open.c (rpl_open): Likewise.
39309
39310         fchdir: simplify error handling, and support dup3
39311         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39312         stdbool, malloc-posix, realloc-posix.
39313         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39314         (ensure_dirs_slot): Return false on allocation failure.
39315         (rpl_dup2): Delete.
39316         (_gl_register_dup): New function.
39317         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39318         (_gl_register_fd): Close fd on allocation failure.
39319         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39320         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39321         prototype.
39322         (rpl_dup2_fchdir): Delete prototype.
39323         * lib/open.c (open): Update caller.
39324         * lib/dup2.c (dup2): Track fchdir metadata.
39325         * lib/dup3.c (dup3): Likewise.
39326         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39327         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39328
39329 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39330
39331         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
39332         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
39333         don't pass arguments to AC_OUTPUT.
39334
39335 2009-09-02  Bruno Haible  <bruno@clisp.org>
39336
39337         * modules/mkdtemp (License): Relicense under LGPLv2+.
39338         Reported by Paolo Bonzini.
39339
39340 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39341
39342         Replace uses of obsolete autoconf macros in Jim's modules.
39343         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
39344         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
39345         can evoke a warning from autoconf when run with -Wobsolete
39346         enabled.  They were declared obsolete for good reasons (see
39347         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
39348         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
39349         should not continue using the deprecated macros.
39350         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
39351         obsolete Autoconf macros with modern counterparts.
39352         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
39353         * m4/dos.m4 (gl_AC_DOS): Likewise.
39354         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
39355         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
39356         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
39357         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
39358         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
39359         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
39360         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
39361         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
39362         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
39363         Likewise.
39364         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
39365         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39366         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
39367         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
39368         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
39369         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39370
39371 2009-09-01  Eric Blake  <ebb9@byu.net>
39372
39373         fchdir: fix off-by-one bug in previous patch
39374         * lib/fchdir.c (rpl_fstat): Use correct bounds.
39375         (_gl_unregister_fd): Delete useless if.
39376
39377 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
39378
39379         maint.mk: sort the list of syntax-check rules
39380         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
39381         easier to get a sense of progress when the rules are run sequentially
39382         and take a long time.
39383
39384 2009-09-01  Simon Josefsson  <simon@josefsson.org>
39385
39386         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
39387         * modules/netinet_in: Likewise.
39388         * modules/sys_file: Likewise.
39389         * modules/sys_ioctl: Likewise.
39390         * modules/sys_select: Likewise.
39391         * modules/sys_socket: Likewise.
39392         * modules/sys_stat: Likewise.
39393         * modules/sys_time: Likewise.
39394         * modules/sys_times: Likewise.
39395         * modules/sys_utsname: Likewise.
39396         * modules/sys_wait: Likewise.
39397
39398 2009-09-01  Jim Meyering  <meyering@redhat.com>
39399
39400         fts: help ensure that return values are not ignored
39401         * lib/fts_.h (__GNUC_PREREQ): Define.
39402         (__attribute_warn_unused_result__): Define.
39403         (fts_children, fts_close, fts_open, fts_read): Declare with
39404         __attribute_warn_unused_result__.
39405
39406         fts: fts_close now fails also when closing a dir file descriptor fails
39407         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
39408         and propagate to caller, along with errno.
39409
39410         announce-gen: correct formatting in --help output
39411         * build-aux/announce-gen (usage): Move the one-line description in
39412         --help output "up", to where it belongs, just after Usage:.
39413
39414 2009-08-31  Eric Blake  <ebb9@byu.net>
39415
39416         fchdir: port to mingw
39417         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
39418         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
39419         opened, then use a substitute.
39420         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
39421         replacement.
39422         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
39423         (_gl_register_fd): No need to check stat if open already filters
39424         all directories.
39425         (fchdir): Fix error condition to match POSIX.
39426         * modules/fchdir (Depends-on): Add sys_stat.
39427         * doc/posix-functions/open.texi (open): Document the limitation.
39428         * modules/fchdir-tests: New file.
39429         * tests/test-fchdir.c: Likewise.
39430
39431         canonicalize: allow cross-testing from cygwin to mingw
39432         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
39433         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
39434         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
39435         Likewise.
39436         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
39437         target does not support symlinks.
39438         * tests/test-canonicalize-lgpl.sh: Likewise.
39439
39440         chown: avoid compilation warning on mingw
39441         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
39442         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
39443         mingw.
39444         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39445         * modules/chown (Depends-on): Add errno.
39446
39447 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
39448
39449         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
39450         command.
39451
39452 2009-08-31  Jim Meyering  <meyering@redhat.com>
39453
39454         canonicalize: remove useless initialization
39455         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
39456         initialization of local, "end".
39457
39458 2009-08-30  Bruno Haible  <bruno@clisp.org>
39459
39460         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
39461         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
39462         ENOSYS.
39463
39464 2009-08-30  Bruno Haible  <bruno@clisp.org>
39465
39466         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
39467         /usr/xpg4/bin/tr when it exists.
39468         * tests/test-pipe-filter-gi1.sh: Likewise.
39469
39470 2009-08-30  Bruno Haible  <bruno@clisp.org>
39471
39472         Work around deficient /usr/bin/id program on Solaris.
39473         * tests/test-file-has-acl.sh (ID): New variable.
39474         * tests/test-set-mode-acl.sh (ID): Likewise.
39475         * tests/test-copy-acl.sh (ID): Likewise.
39476         * tests/test-copy-file.sh (ID): Likewise.
39477
39478 2009-08-30  Bruno Haible  <bruno@clisp.org>
39479
39480         New module 'xstriconveh'.
39481         * lib/xstriconveh.h: New file.
39482         * lib/xstriconveh.c: New file.
39483         * modules/xstriconveh: New file.
39484
39485 2009-08-30  Bruno Haible  <bruno@clisp.org>
39486
39487         Make it easier to use mem_cd_iconveh.
39488         * lib/striconveh.h (iconveh_t): New type.
39489         (iconveh_open, iconveh_close): New declarations.
39490         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39491         with a single 'const iconveh_t *' argument.
39492         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
39493         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
39494         with a single 'const iconveh_t *' argument.
39495         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
39496         * tests/test-striconveh.c (main): Update.
39497         * NEWS: Mention the change.
39498
39499 2009-08-30  Bruno Haible  <bruno@clisp.org>
39500
39501         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
39502         problem.
39503
39504 2009-08-30  Bruno Haible  <bruno@clisp.org>
39505
39506         Work around iconv_open problem on Solaris.
39507         * lib/iconv_open-solaris.gperf: New file.
39508         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
39509         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
39510         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
39511         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
39512         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
39513         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
39514
39515 2009-08-29  Jim Meyering  <meyering@redhat.com>
39516
39517         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
39518         * top/maint.mk (cvs-check): Remove target; it was just an alias
39519         to the better-named vc-diff-check.
39520         (maintainer-distcheck): Remove rule.  It was used only from
39521         the (alpha/beta/major) target, and all of its commands but one
39522         were coreutils-specific.
39523         (vc-dist): Remove rule.
39524         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
39525         Run vc-diff-check, not vc-dist.
39526         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
39527
39528 2009-08-27  Bruno Haible  <bruno@clisp.org>
39529
39530         * tests/test-bitrotate.c (main): Remove test that uses a shift count
39531         of 0.
39532
39533 2009-08-27  Bruno Haible  <bruno@clisp.org>
39534
39535         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
39536         compilers.
39537         * doc/func.texi: Document the SunPRO C bug.
39538
39539 2009-08-27  Bruno Haible  <bruno@clisp.org>
39540
39541         Fix link error on Solaris.
39542         * tests/test-parse-duration.c (xstrdup): Remove function.
39543
39544 2009-08-26  Pádraig Brady  <P@draigbrady.com>
39545
39546         ignore-value: handle pointer types, too
39547         * lib/ignore-value.h (__attribute__): Remove definition.
39548         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
39549         of a more concise and more-often effective "(void) i" statement.
39550         (ignore_ptr): New function to suppress warnings from functions that
39551         return pointers, and to make it explicit that one function doesn't
39552         handle all cases.
39553
39554 2009-08-25  Bruno Haible  <bruno@clisp.org>
39555
39556         dup2: work around a Linux bug.
39557         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
39558         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
39559         * doc/posix-functions/dup2.texi: Mention the Linux bug.
39560         Reported by Simon Josefsson.
39561
39562 2009-08-25  Jim Meyering  <meyering@redhat.com>
39563
39564         libguestfs uses gnulib
39565         * users.txt: Add libguestfs.
39566
39567 2009-08-24  Eric Blake  <ebb9@byu.net>
39568
39569         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
39570         * lib/pipe2.c (includes): Add binary-io.h.
39571         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
39572
39573 2009-08-24  Bruno Haible  <bruno@clisp.org>
39574
39575         Tolerate declared but missing accept4 syscall.
39576         * lib/accept4.c (accept4): Invoke original accept4 function first, if
39577         available.
39578         * lib/sys_socket.in.h (accept4): If the function is already present,
39579         override it.
39580         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
39581         * modules/accept4 (Makefile.am): Compile accept4.c always.
39582         Reported by Paolo Bonzini and Eric Blake.
39583
39584 2009-08-23  Bruno Haible  <bruno@clisp.org>
39585
39586         New module 'accept4'.
39587         * lib/sys_socket.in.h (accept4): New declaration.
39588         * lib/accept4.c: New file.
39589         * m4/accept4.m4: New file.
39590         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39591         GNULIB_ACCEPT4, HAVE_ACCEPT4.
39592         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
39593         HAVE_ACCEPT4.
39594         * modules/accept4: New file.
39595         * doc/glibc-functions/accept4.texi: Mention the new module.
39596
39597 2009-08-24  Jim Meyering  <meyering@redhat.com>
39598
39599         progname: also set global program_invocation_name, when possible
39600         Before this change, a libtool-enabled program that calls glibc's
39601         error function would report the program name as
39602         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
39603         * modules/progname (configure.ac): Check for a declaration of
39604         program_invocation_name.
39605         * lib/progname.c:  Include <errno.h>.
39606         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
39607         Set program_invocation_name.
39608
39609 2009-08-23  Bruno Haible  <bruno@clisp.org>
39610
39611         * lib/dup3.c: Include <string.h>.
39612
39613 2009-08-23  Bruno Haible  <bruno@clisp.org>
39614
39615         * lib/dup3.c (dup3): Test only once whether the system actually exists.
39616         * lib/pipe2.c (pipe2): Likewise.
39617         Suggested by Eric Blake.
39618
39619 2009-08-23  Bruno Haible  <bruno@clisp.org>
39620
39621         Tolerate declared but missing dup3 syscall.
39622         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
39623         * lib/unistd.in.h (dup3): If the function is already present,
39624         override it.
39625         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
39626         * modules/dup3 (Makefile.am): Compile dup3.c always.
39627         Reported by Paolo Bonzini.
39628
39629 2009-08-23  Bruno Haible  <bruno@clisp.org>
39630
39631         Tolerate declared but missing pipe2 syscall.
39632         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
39633         available.
39634         * lib/unistd.in.h (pipe2): If the function is already present,
39635         override it.
39636         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
39637         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
39638         Reported by Paolo Bonzini.
39639
39640 2009-08-23  Bruno Haible  <bruno@clisp.org>
39641
39642         * lib/pipe2.c (pipe2): Move #ifs inside function.
39643
39644 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39645
39646         quotearg: document limitations of quote_these_too
39647         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
39648         those limitations are created.
39649         * lib/quotearg.h (set_char_quoting): Document that digits and
39650         letters that are special after backslash are not permitted.
39651         (quotearg_char): Cross-reference set_char_quoting documentation.
39652
39653 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
39654
39655         quotearg: implement custom_quoting_style
39656         * lib/quotearg.c: (struct quoting_options): Add left_quote and
39657         right_quote fields.
39658         (set_custom_quoting): New public function.
39659         (quotearg_buffer_restyled): Add left_quote and right_quote
39660         arguments, handle them very much like locale quoting, and update
39661         all uses.
39662         (quotearg_n_custom): New public function.
39663         (quotearg_n_custom_mem): New public function.
39664         (quotearg_custom): New public function.
39665         (quotearg_custom_mem): New public function.
39666         * lib/quotearg.h: Prototype and document new public functions.
39667         (enum quoting_style): For escape_quoting_style and
39668         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
39669         ignored even though they're otherwise like c_quoting_style.
39670         Add custom_quoting_style member and document with comparison to
39671         clocale_quoting_style.
39672         * tests/test-quotearg.c (custom_quotes): New array.
39673         (custom_results): New array.
39674         (main): Extend to test custom quoting.
39675
39676 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39677
39678         quotearg: fix right quote escaping when it's in quote_these_too
39679         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
39680         quote, be sure to prepend only one backslash.
39681         * tests/test-quotearg.c (use_quote_double_quotes): New function.
39682         (main): Test it.
39683
39684 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
39685
39686         quotearg-tests: test escaping of embedded locale quotes
39687         * tests/test-quotearg.c (struct result_strings): Add member for
39688         new input.
39689         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
39690         (inputs): Add new input.
39691         (results_g): Add expected results.
39692         (flag_results): Likewise.
39693         (locale_results): Likewise.
39694         (compare_strings): Check those.
39695
39696 2009-08-23  Bruno Haible  <bruno@clisp.org>
39697
39698         Tests for module 'dup3'.
39699         * modules/dup3-tests: New file.
39700         * tests/test-dup3.c: New file.
39701
39702         New module 'dup3'.
39703         * lib/unistd.in.h (dup3): New declaration.
39704         * lib/dup3.c: New file.
39705         * m4/dup3.m4: New file.
39706         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
39707         HAVE_DUP3.
39708         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
39709         * modules/dup3: New file.
39710         * doc/glibc-functions/dup3.texi: Mention the new module.
39711
39712 2009-08-23  Bruno Haible  <bruno@clisp.org>
39713
39714         Tweak the dup2 test.
39715         * tests/test-dup2.c (main): Create the test file empty. Verify that an
39716         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
39717         the test file is still empty. Fix argument order of lseek.
39718
39719 2009-08-23  Bruno Haible  <bruno@clisp.org>
39720
39721         Avoid test link errors when the modules getopt-gnu, gettext are used.
39722         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
39723         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39724
39725 2009-08-23  Bruno Haible  <bruno@clisp.org>
39726
39727         Fix getdtablesize() on mingw.
39728         * lib/getdtablesize.c (getdtablesize): Implement differently.
39729         * lib/unistd.in.h (getdtablesize): Improve comment.
39730
39731 2009-08-23  Bruno Haible  <bruno@clisp.org>
39732
39733         New module 'mkostemp'.
39734         Based on Ulrich Drepper's 2007-08-10 change in glibc.
39735         * lib/stdlib.in.h (mksotemp): New declaration.
39736         * lib/mkostemp.c: New file, from glibc with modifications.
39737         * lib/tempname.h (GT_FILE): Remove outdated comment.
39738         (gen_tempname): Add flags argument.
39739         * lib/tempname.c (__GT_BIGFILE): Remove macro.
39740         (__GT_FILE): Map to 1.
39741         (small_open, large_open): Remove macros.
39742         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
39743         * lib/mkstemp.c (mkstemp): Update.
39744         * lib/mkdtemp.c (mkdtemp): Likewise.
39745         * m4/mkostemp.m4: New file.
39746         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
39747         HAVE_MKOSTEMP.
39748         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
39749         HAVE_MKOSTEMP.
39750         * modules/mkostemp: New file, based on modules/mkstemp.
39751         * doc/glibc-functions/mkostemp.texi: Mention the new module.
39752         * NEWS: Mention the change.
39753
39754 2009-08-23  Bruno Haible  <bruno@clisp.org>
39755
39756         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
39757         Reported by Eric Blake.
39758
39759 2009-08-23  Bruno Haible  <bruno@clisp.org>
39760
39761         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
39762         Reported by Eric Blake.
39763
39764 2009-08-23  Bruno Haible  <bruno@clisp.org>
39765
39766         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
39767         * modules/pipe2 (Depends-on): Likewise.
39768
39769 2009-08-23  Eric Blake  <ebb9@byu.net>
39770
39771         fcntl-h: add O_TTY_INIT support
39772         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
39773         * tests/test-fcntl-h.c (o): Test it.
39774         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39775
39776         fcntl-h: rename from fcntl, in preparation for fcntl(2)
39777         * modules/fcntl: Move <fcntl.h> header replacement...
39778         * modules/fcntl-h: ...to new name, so as not to collide with
39779         like-named function.
39780         * tests/test-fcntl.c: Rename...
39781         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
39782         * modules/fcntl-tests: Rename...
39783         * modules/fcntl-h-tests: ...to this.  Update test file name.
39784         * modules/chdir-long (Depends-on): Update clients.
39785         * modules/chdir-safer (Depends-on): Likewise.
39786         * modules/fcntl-safer (Depends-on): Likewise.
39787         * modules/fts (Depends-on): Likewise.
39788         * modules/mkancesdirs (Depends-on): Likewise.
39789         * modules/mkdir-p (Depends-on): Likewise.
39790         * modules/open (Depends-on): Likewise.
39791         * modules/savewd (Depends-on): Likewise.
39792         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
39793         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39794
39795 2009-08-22  Bruno Haible  <bruno@clisp.org>
39796
39797         * modules/binary-io (License): Relicense under LGPL.
39798         * modules/pipe2 (License): Likewise.
39799
39800 2009-08-22  Bruno Haible  <bruno@clisp.org>
39801
39802         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
39803         return value.
39804         * lib/pipe-filter-gi.c (filter_init): Likewise.
39805         Reported by Eric Blake.
39806
39807 2009-08-22  Bruno Haible  <bruno@clisp.org>
39808
39809         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
39810         * modules/pipe (Depends-on): Add pipe2.
39811
39812 2009-08-22  Bruno Haible  <bruno@clisp.org>
39813
39814         Tests for module 'pipe2'.
39815         * modules/pipe2-tests: New file.
39816         * tests/test-pipe2.c: New file.
39817
39818         New module 'pipe2'.
39819         * lib/unistd.in.h (pipe2): New declaration.
39820         * lib/pipe2.c: New file.
39821         * m4/pipe2.m4: New file.
39822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
39823         HAVE_PIPE2.
39824         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
39825         * modules/pipe2: New file.
39826         * doc/glibc-functions/pipe2.texi: Mention the new module.
39827
39828 2009-08-22  Bruno Haible  <bruno@clisp.org>
39829
39830         Reference some new glibc functions.
39831         * doc/glibc-functions/accept4.texi: New file.
39832         * doc/glibc-functions/dup3.texi: New file.
39833         * doc/glibc-functions/mkostemp.texi: New file.
39834         * doc/glibc-functions/pipe2.texi: New file.
39835         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
39836         (Glibc sys/socket.h): Refer to accept4.
39837         (Glibc unistd.h): Refer to dup3, pipe2.
39838         Reported by Eric Blake.
39839
39840 2009-08-22  Jim Meyering  <meyering@redhat.com>
39841             Bruno Haible  <bruno@clisp.org>
39842
39843         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
39844         This makes it so packages using automake-1.11's silent-rules option
39845         can print e.g., a single "GEN    configmake.h" line, rather than
39846         the 30+ statements that perform the job.  If you want to see the
39847         actual commands, you can still run "make V=1".
39848         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
39849         so that make output is abbreviated when those variables are defined
39850         appropriately.
39851         * modules/argz: Likewise.
39852         * modules/arpa_inet: Likewise.
39853         * modules/byteswap: Likewise.
39854         * modules/configmake: Likewise.
39855         * modules/dirent: Likewise.
39856         * modules/errno: Likewise.
39857         * modules/fcntl: Likewise.
39858         * modules/float: Likewise.
39859         * modules/fnmatch: Likewise.
39860         * modules/getopt-posix: Likewise.
39861         * modules/glob: Likewise.
39862         * modules/iconv_open: Likewise.
39863         * modules/inttypes: Likewise.
39864         * modules/localcharset: Likewise.
39865         * modules/locale: Likewise.
39866         * modules/math: Likewise.
39867         * modules/netdb: Likewise.
39868         * modules/netinet_in: Likewise.
39869         * modules/poll: Likewise.
39870         * modules/posix_spawnp-tests: Likewise.
39871         * modules/sched: Likewise.
39872         * modules/search: Likewise.
39873         * modules/selinux-h: Likewise.
39874         * modules/signal: Likewise.
39875         * modules/spawn: Likewise.
39876         * modules/stdarg: Likewise.
39877         * modules/stdbool: Likewise.
39878         * modules/stddef: Likewise.
39879         * modules/stdint: Likewise.
39880         * modules/stdio: Likewise.
39881         * modules/stdlib: Likewise.
39882         * modules/string: Likewise.
39883         * modules/strings: Likewise.
39884         * modules/sys_file: Likewise.
39885         * modules/sys_ioctl: Likewise.
39886         * modules/sys_select: Likewise.
39887         * modules/sys_socket: Likewise.
39888         * modules/sys_stat: Likewise.
39889         * modules/sys_time: Likewise.
39890         * modules/sys_times: Likewise.
39891         * modules/sys_utsname: Likewise.
39892         * modules/sys_wait: Likewise.
39893         * modules/sysexits: Likewise.
39894         * modules/time: Likewise.
39895         * modules/unistd: Likewise.
39896         * modules/wchar: Likewise.
39897         * modules/wctype: Likewise.
39898
39899 2009-08-22  Jim Meyering  <meyering@redhat.com>
39900
39901         announce-gen: detect write failure
39902         * build-aux/announce-gen: Add Coda at end.
39903         Remove equivalent-but-more-verbose block at top.
39904
39905 2009-08-19  Akim Demaille  <demaille@gostai.com>
39906
39907         bootstrap: --help to stdout.
39908         * bootstrap (usage): Don't send --help to stderr.
39909         Use a here doc instead of a long string.
39910
39911 2009-08-21  Eric Blake  <ebb9@byu.net>
39912
39913         test-popen-safer: split from test-popen
39914         * tests/test-popen.c (main): Move...
39915         * tests/test-popen.h: ...into new file.
39916         * tests/test-popen-safer2.c: New file.
39917         * modules/popen-tests (Files): Add test-popen.h.
39918         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
39919         Suggested by Bruno Haible.
39920
39921         test-fcntl-safer: split from test-open
39922         * tests/test-open.c (main): Move...
39923         * tests/test-open.h: ...into new file.
39924         * tests/test-fcntl-safer.c: New file.
39925         * modules/open-tests (Files): Add test-open.h.
39926         * modules/fcntl-safer-tests: New file.
39927         Suggested by Bruno Haible.
39928
39929         test-fopen-safer: split from test-fopen
39930         * tests/test-fopen.c (main): Move...
39931         * tests/test-fopen.h: ...into new file.
39932         * tests/test-fopen-safer.c: New file.
39933         * modules/fopen-tests (Files): Add test-fopen.h.
39934         * modules/fopen-safer-tests: New file.
39935         Suggested by Bruno Haible.
39936
39937 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39938
39939         popen-safer: test O_CLOEXEC at run-time.
39940         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
39941
39942 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
39943
39944         fcntl: move more flags to the header
39945         * lib/cloexec.c: Do not define FD_CLOEXEC here.
39946         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
39947         * lib/fcntl.in.h: Do both things here.
39948
39949 2009-08-21  Jim Meyering  <meyering@redhat.com>
39950
39951         consistently remove $@-t before redirecting to it
39952         * modules/argz: Remove $@-t and $@ before redirecting to the former.
39953         * modules/alloca-opt: Likewise.
39954         * modules/byteswap: Likewise.
39955         * modules/fnmatch: Likewise.
39956         * modules/getopt-posix: Likewise.
39957         * modules/glob: Likewise.
39958         * modules/poll: Likewise.
39959         * modules/posix_spawnp-tests: Likewise.
39960         * modules/sys_socket: Likewise.
39961         * modules/sysexits: Likewise.
39962
39963 2009-08-21  Eric Blake  <ebb9@byu.net>
39964
39965         popen: simplify access to original popen
39966         * lib/popen.c (rpl_popen): No need to worry about popen being a
39967         macro.
39968         Reported by Bruno Haible.
39969
39970 2009-08-20  Eric Blake  <ebb9@byu.net>
39971
39972         build: avoid some compiler warnings
39973         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39974         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39975         type.
39976         (new_exclude_segment, excluded_file_pattern_p)
39977         (excluded_file_name_p): Reduce scope.
39978         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39979         old-style declaration.
39980
39981 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39982
39983         * tests/test-exclude1.sh: Handle Windows EOL.
39984         * tests/test-exclude2.sh: Likewise.
39985         * tests/test-exclude3.sh: Likewise.
39986         * tests/test-exclude4.sh: Likewise.
39987         * tests/test-exclude5.sh: Likewise.
39988         * tests/test-exclude6.sh: Likewise.
39989         * tests/test-exclude7.sh: Likewise.
39990
39991 2009-08-19  Akim Demaille  <demaille@gostai.com>
39992
39993         bootstrap: find sha1sum when named gsha1sum.
39994         * bootstrap (find_tool): New.
39995         ($SHA1SUM): New.
39996         Use it.
39997
39998 2009-08-20  Jim Meyering  <meyering@redhat.com>
39999
40000         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40001         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40002         expression that converts "." in a file name to "\." in the resulting
40003         regexp.  Start with a dummy statement, so that prior shell variable
40004         definitions are expanded portably.  Reported by Simon Josefsson.
40005
40006 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40007
40008         Fix polling for writeability of a screen buffer.
40009         * lib/poll.c: Distinguish input and screen buffers for the
40010         Win32 implementation.
40011         * lib/select.c: Likewise.
40012
40013 2009-08-19  Eric Blake  <ebb9@byu.net>
40014
40015         popen-safer: prevent popen from clobbering std descriptors
40016         * modules/popen-safer: New file.
40017         * lib/popen-safer.c: Likewise.
40018         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40019         * lib/stdio--.h (popen): Provide override.
40020         * lib/stdio-safer.h (popen_safer): Provide declaration.
40021         * tests/test-popen.c (includes): Partially test this.
40022         * modules/popen-safer-tests: New file, for more tests.
40023         * tests/test-popen-safer.c: Likewise.
40024         * MODULES.html.sh (file stream based Input/Output): Mention it.
40025
40026         tests: test some of the *-safer modules
40027         * modules/fopen-safer (Depends-on): Add fopen.
40028         * modules/fcntl-safer (Depends-on): Add fcntl.
40029         * modules/stdlib-safer (Depends-on): Add stdlib.
40030         (configure.ac): Set indicator.
40031         * modules/unistd-safer (configure.ac): Likewise.
40032         * modules/tmpfile-safer (configure.ac): Likewise.
40033         (Depends-on): Add tmpfile.
40034         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40035         active.
40036         * tests/test-fopen.c (includes): Test safer versions when they are
40037         in use.
40038         * tests/test-open.c (includes): Likewise.
40039
40040         popen: fix cygwin 1.5 bug when stdin closed
40041         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40042         * modules/popen: New file.
40043         * modules/popen-tests: Likewise.
40044         * tests/test-popen.c: Likewise.
40045         * m4/popen.m4: Likewise.
40046         * lib/popen.c: Likewise.
40047         * lib/stdio.in.h (popen): New declaration.
40048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40049         * modules/stdio (Makefile.am): Likewise.
40050         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40051
40052 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40053
40054         maint.mk: give full control over update-copyright exclusions
40055         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40056         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40057         (update-copyright): Don't force inclusion of top-level
40058         ChangeLog.  Don't force exclusion of all COPYING files, but make
40059         them the default exclusion instead.
40060
40061 2009-08-16  Bruno Haible  <bruno@clisp.org>
40062
40063         Fix test failures on Solaris 10.
40064         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40065         tests when Solaris iconv() is used.
40066         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40067         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40068         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40069         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40070         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40071
40072 2009-08-16  Bruno Haible  <bruno@clisp.org>
40073
40074         Fix test failures on Solaris 10.
40075         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40076         'tr' program and pass it as first argument.
40077         * tests/test-pipe-filter-gi1.sh: Likewise.
40078         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40079         program as first argument.
40080         * tests/test-pipe-filter-gi1.c (main): Likewise.
40081
40082 2009-08-16  Eric Blake  <ebb9@byu.net>
40083
40084         fpurge: fix previous commits
40085         * modules/fpurge (Makefile.am): Make replacement conditional,
40086         partially reverting 2007-04-29 change; missed in previous
40087         attempt.
40088         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40089         is missing.
40090
40091 2009-08-16  Bruno Haible  <bruno@clisp.org>
40092
40093         Clarify fpurge's effect on the file position.
40094         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40095         * tests/test-fpurge.c (main): Make a second pass for checking the file
40096         position.
40097
40098 2009-08-16  Bruno Haible  <bruno@clisp.org>
40099
40100         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40101         declaration of fpurge is missing.
40102         * tests/test-fpurge.c (main): Check that the file has not more contents
40103         than expected. Close the file before removing it.
40104
40105 2009-08-15  Eric Blake  <ebb9@byu.net>
40106
40107         fpurge: don't wrap working cygwin implementation
40108         * lib/fpurge.c (fpurge): Fix comment typo.
40109         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40110         1.7 to avoid replacement.
40111         * tests/test-fpurge.c (main): Enhance test.
40112
40113 2009-08-15  Eric Blake  <ebb9@byu.net>
40114         and Jim Meyering  <meyering@redhat.com>
40115
40116         test-update-copyright: skip if perl is insufficient
40117         * tests/test-update-copyright.sh: Failure to run maintainer tool
40118         should not cause testsuite failure on cygwin 1.5.
40119
40120 2009-08-14  Eric Blake  <ebb9@byu.net>
40121
40122         doc: mention more functions added in cygwin 1.7.0
40123         * doc/posix-headers/limits.texi (limits.h): Update for recent
40124         cygwin additions.
40125         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40126         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40127         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40128         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40129         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40130
40131 2009-08-14  Eric Blake  <ebb9@byu.net>
40132
40133         maint.mk: simplify update-copyright rule
40134         * top/maint.mk (update-copyright-local): Delete, and document how
40135         to do it in cfg.mk instead.
40136         (update-copyright-exclude-regexp): Delete, and document how to do
40137         it in .x-update-copyright instead.
40138         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40139         exclude ChangeLog.
40140
40141 2009-08-14  Bruno Haible  <bruno@clisp.org>
40142
40143         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40144
40145 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40146
40147         maint.mk: support update-copyright-env
40148         * top/maint.mk (update-copyright-env): Define place-holder.
40149         (update-copyright): Expand $(update-copyright-env) before
40150         invoking update-copyright.
40151
40152 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40153
40154         update-copyright: implement forced reformatting
40155         * build-aux/update-copyright: Implement and document
40156         UPDATE_COPYRIGHT_FORCE.
40157         * tests/test-update-copyright.sh: Test it.
40158
40159 2009-08-14  Eric Blake  <ebb9@byu.net>
40160         and Bruno Haible  <bruno@clisp.org>
40161
40162         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40163         * tests/test-locale.c: Revert previous patch related to NULL.
40164         * tests/test-stdio.c: Likewise.
40165         * tests/test-stdlib.c: Likewise.
40166         * tests/test-string.c: Likewise.
40167         * tests/test-unistd.c: Likewise.
40168         * modules/time-tests (Depends-on): Add verify.
40169         * modules/wchar-tests (Depends-on): Likewise.
40170         * tests/test-time.c: Test for NULL compliance.
40171         * tests/test-wchar.c: Likewise.
40172         * modules/locale (Depends-on): Add stddef.
40173         * modules/stdio (Depends-on): Likewise.
40174         * modules/stdlib (Depends-on): Likewise.
40175         * modules/string (Depends-on): Likewise.
40176         * modules/time (Depends-on): Likewise.
40177         * modules/unistd (Depends-on): Likewise.
40178         * modules/wchar (Depends-on): Likewise.
40179         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40180         * lib/stdlib.in.h (includes): Likewise.
40181         * lib/string.in.h (includes): Likewise.
40182         * lib/time.in.h (includes): Likewise.
40183         * lib/unistd.in.h (includes): Likewise.
40184         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40185         replaced.
40186         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40187         * m4/stddef_h.m4: New file.
40188         * modules/stddef: Likewise.
40189         * lib/stddef.in.h: Likewise.
40190         * modules/stddef-tests: Likewise.
40191         * tests/test-stddef.c: Likewise.
40192         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40193         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40194         * doc/posix-headers/locale.texi (locale.h): Likewise.
40195         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40196         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40197         * doc/posix-headers/string.texi (string.h): Likewise.
40198         * doc/posix-headers/time.texi (time.h): Likewise.
40199         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40200         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40201
40202 2009-08-14  Eric Blake  <ebb9@byu.net>
40203
40204         doc: improve git diff of texinfo files
40205         * .gitattributes: Add rule for *.texi files, with hint on how to
40206         use it.
40207         Copied from m4, and based on a report by Bruno Haible.
40208
40209 2009-08-14  Bruno Haible  <bruno@clisp.org>
40210
40211         Disable multithread support by default on Cygwin 1.5.x for real.
40212         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40213
40214 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40215
40216         update-copyright: much ado about intervals
40217         * build-aux/update-copyright: Implement and document
40218         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40219         of copyright year intervals.
40220         Also, document UPDATE_COPYRIGHT_YEAR.
40221         * tests/test-update-copyright.sh: Test it.
40222
40223         update-copyright: convert 2-digit to 4-digit years
40224         * build-aux/update-copyright: Implement and document.
40225         * tests/test-update-copyright.sh: Update.
40226
40227 2009-08-14  Jim Meyering  <meyering@redhat.com>
40228
40229         test-exclude: avoid coreutils "make check" failure
40230         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40231         just as in test-argmatch.c.
40232
40233 2009-08-13  Eric Blake  <ebb9@byu.net>
40234
40235         test-dup2: fix bad assumption
40236         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40237         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40238
40239         test-version-etc: fix CRLF portability issue
40240         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40241         recognize \r.
40242         * tests/test-argp-version-etc-1.sh: Likewise.
40243
40244         getopt: update client modules
40245         * modules/argp (Depends-on): Use getopt-gnu.
40246         * modules/git-merge-changelog (Depends-on): Likewise.
40247         * modules/long-options (Depends-on): Likewise.
40248         * modules/xstrtol (Depends-on): Likewise.
40249
40250 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40251
40252         * tests/test-version-etc.sh: Don't fail on different
40253         project/version.  Don't fail on CRLF differences.  Rewrite to use
40254         multiple -e instead of multiple sed forks, suggested by Eric Blake
40255         <ebb9@byu.net>.
40256         * tests/test-argp-version-etc-1.sh: Likewise.
40257
40258 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40259
40260         * tests/test-version-etc.sh: Don't fail on different
40261         project/version.
40262
40263 2009-08-12  Bruno Haible  <bruno@clisp.org>
40264
40265         Tests for modules 'getopt-posix', 'getopt-gnu'.
40266         * modules/getopt-posix-tests: New file.
40267         * tests/test-getopt.c: New file.
40268         * tests/test-getopt.h: New file.
40269         * tests/test-getopt_long.h: New file.
40270
40271         New modules 'getopt-posix', 'getopt-gnu'.
40272         * modules/getopt-gnu: New file, renamed from modules/getopt.
40273         * modules/getopt-posix: New file.
40274         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40275         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40276         (gl_GETOPT): Remove macro.
40277         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40278         Disable the test against BSD systems that declare optreset. Test
40279         against mingw bug. Test against lack of support of optional arguments
40280         on many platforms.
40281         * doc/glibc-headers/getopt.texi: Update module name and list of
40282         relevant platforms.
40283         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40284         'getopt-gnu' and more portability problems.
40285         * NEWS: Mention the changes.
40286
40287 2009-08-12  Bruno Haible  <bruno@clisp.org>
40288
40289         Ensure that optarg etc. get declared by <unistd.h>.
40290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40291         AC_USE_SYSTEM_EXTENSIONS.
40292         * modules/getopt (Depends-on): Add 'extensions'.
40293
40294 2009-08-12  Bruno Haible  <bruno@clisp.org>
40295
40296         Avoid test link errors.
40297         * modules/pipe-filter-ii-tests (Makefile.am): Define
40298         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40299         * modules/pipe-filter-gi-tests (Makefile.am): Define
40300         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40301         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40302
40303 2009-08-12  Bruno Haible  <bruno@clisp.org>
40304
40305         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40306         gl_GETOPT_SUBSTITUTE before.
40307         (gl_GETOPT): Use it.
40308         * m4/argp.m4 (gl_ARGP): Update.
40309         Reported by Sergey Poznyakoff.
40310
40311         * m4/getopt.m4: Reorder macros.
40312         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40313         (gl_GETOPT_SUBSTITUTE): Remove macro.
40314
40315 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40316
40317         Minor improvement in gitlog-to-changelog
40318
40319         * build-aux/gitlog-to-changelog: New option `--format' makes
40320         output format string configurable.
40321
40322 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40323
40324         Optimize exclude: use hash tables for non-wildcard patterns.
40325
40326         * lib/exclude.c: Include hash.h and mbuiter.h
40327         (struct exclude_pattern, exclude_segment): New data types.
40328         (struct exclude): Rewrite.
40329         (fnmatch_pattern_has_wildcards): New function.
40330         (new_exclude_segment, free_exclude_segment): New functions.
40331         (excluded_file_pattern_p, excluded_file_name_p): New functions.
40332         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
40333         * lib/exclude.h (is_fnmatch_pattern): New prototype.
40334         * modules/exclude: Depend on hash and mbuiter.
40335
40336         * modules/exclude-tests: New file.
40337         * tests/test-exclude.c: New file.
40338         * tests/test-exclude1.sh: New file.
40339         * tests/test-exclude2.sh: New file.
40340         * tests/test-exclude3.sh: New file.
40341         * tests/test-exclude4.sh: New file.
40342         * tests/test-exclude5.sh: New file.
40343         * tests/test-exclude6.sh: New file.
40344         * tests/test-exclude7.sh: New file.
40345
40346 2009-08-12  Bruno Haible  <bruno@clisp.org>
40347
40348         Ensure that getopt() gets declared by <unistd.h>.
40349         * lib/unistd.in.h: Conditionally include getopt.h.
40350         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
40351         Set GNULIB_UNISTD_H_GETOPT.
40352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40353         GNULIB_UNISTD_H_GETOPT.
40354         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
40355
40356 2009-08-12  Bruno Haible  <bruno@clisp.org>
40357
40358         Clarify logic.
40359         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
40360         gl_replace_getopt instead of GETOPT_H.
40361
40362 2009-08-12  Bruno Haible  <bruno@clisp.org>
40363
40364         * m4/getopt.m4: Add comments.
40365
40366 2009-08-12  Bruno Haible  <bruno@clisp.org>
40367
40368         Disable multithread support by default on Cygwin 1.5.x.
40369         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
40370         set gl_use_threads=no if not specified otherwise.
40371
40372 2009-08-11  Bruno Haible  <bruno@clisp.org>
40373
40374         Avoid compilation error on NetBSD 5.0.
40375         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
40376         * tests/test-stdio.c: Likewise.
40377         * tests/test-stdlib.c: Likewise.
40378         * tests/test-string.c: Likewise.
40379         * tests/test-unistd.c: Likewise.
40380         Reported by Greg Troxel <gdt@ir.bbn.com>
40381         at <https://savannah.gnu.org/support/?106973>.
40382
40383 2009-08-11  Bruno Haible  <bruno@clisp.org>
40384
40385         * modules/dup2-tests (Depends-on): Remove close.
40386
40387         Undo 2009-07-19 commit.
40388         * modules/acl-tests (Depends-on): Remove close.
40389         * modules/binary-io-tests (Depends-on): Likewise.
40390         * modules/closein-tests (Depends-on): Likewise.
40391         * modules/flock-tests (Depends-on): Likewise.
40392         * modules/fsync-tests (Depends-on): Likewise.
40393         * modules/lseek-tests (Depends-on): Likewise.
40394         * modules/pipe-tests (Depends-on): Likewise.
40395         * modules/posix_spawn-tests (Depends-on): Likewise.
40396         * modules/posix_spawnp-tests (Depends-on): Likewise.
40397         * modules/stat-time-tests (Depends-on): Likewise.
40398         * modules/yesno-tests (Depends-on): Likewise.
40399
40400 2009-08-10  Bruno Haible  <bruno@clisp.org>
40401
40402         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
40403
40404 2009-08-10  Bruno Haible  <bruno@clisp.org>
40405
40406         Fix a gcc warning.
40407         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
40408
40409 2009-08-10  Bruno Haible  <bruno@clisp.org>
40410
40411         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
40412         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
40413         not only the first time.
40414         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
40415         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
40416         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
40417         is 1, not only the the first time.
40418
40419 2009-08-10  Bruno Haible  <bruno@clisp.org>
40420
40421         Make it possible to use module 'gethostname' without module 'close'.
40422         * lib/unistd.in.h (close): Evoke a link error only if
40423         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40425         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40426         * modules/unistd (Makefile.am): Substitute
40427         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40428         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
40429         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
40430         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
40431         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40432         * modules/sys_ioctl (Makefile.am): Substitute
40433         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40434         * modules/socket (configure.ac): On native Windows, set
40435         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
40436         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
40437         Reported by Sam Steingold <sds@gnu.org>.
40438
40439 2009-08-10  Bruno Haible  <bruno@clisp.org>
40440
40441         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
40442         * modules/ioctl (configure.ac): Likewise.
40443
40444 2009-08-10  Bruno Haible  <bruno@clisp.org>
40445
40446         Avoid collision between gnulib wrapper and libintl wrapper.
40447         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
40448         already defined in intl/printf.c.
40449         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
40450         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
40451
40452 2009-08-09  Bruno Haible  <bruno@clisp.org>
40453
40454         Make <sys/select.h> really self-contained, also on Solaris 10.
40455         * lib/sys_select.in.h: Include <string.h>.
40456         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
40457         Solaris 10 problem.
40458         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
40459         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
40460         Reported by Jim Meyering.
40461
40462 2009-08-09  Bruno Haible  <bruno@clisp.org>
40463
40464         Avoid warnings from 'aclocal' that are due to a use of macro name
40465         AM_XGETTEXT_OPTION that is not defined in automake.
40466         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
40467         automake.
40468         * modules/error (configure.ac): Likewise.
40469         * modules/propername (configure.ac): Likewise.
40470         * modules/vasprintf (configure.ac): Likewise.
40471         * modules/verror (configure.ac): Likewise.
40472         * modules/xprintf (configure.ac): Likewise.
40473         * modules/xvasprintf (configure.ac): Likewise.
40474
40475 2009-08-08  Bruno Haible  <bruno@clisp.org>
40476
40477         Avoid compilation error in C++ mode.
40478         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
40479         Reported by Sam Steingold <sds@gnu.org>.
40480
40481 2009-08-08  Bruno Haible  <bruno@clisp.org>
40482
40483         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
40484         for the various Unix platforms.
40485         * doc/posix-headers/limits.texi: Update platforms list regarding
40486         HOST_NAME_MAX.
40487         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40488
40489 2009-08-07  Jim Meyering  <meyering@redhat.com>
40490
40491         selinux-at: fix typo in a comment
40492         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
40493         Spotted by Paolo Bonzini.
40494
40495         selinux-at: remove redundant m4 code, add documentation
40496         * modules/selinux-at (configure.ac): Remove redundant code.
40497         LIB_SELINUX is already set via the dependent module, selinux-h.
40498         (Include): Add quotes around selinux-at.h.
40499         * lib/selinux-at.h: Add documentation.
40500         Reported by Bruno Haible in
40501         http://marc.info/?l=gnulib-bug&m=124958988300749
40502
40503 2009-08-07  Bruno Haible  <bruno@clisp.org>
40504
40505         Avoid link error on MacOS X 10.3 and 10.4.
40506         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
40507         on non-ELF systems.
40508         * lib/argp-pv.c (argp_program_version): Likewise.
40509         Reported by Simon Josefsson.
40510
40511 2009-08-07  Simon Josefsson  <simon@josefsson.org>
40512
40513         * tests/test-version-etc.sh: Use $EXEEXT.
40514
40515 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
40516
40517         update-copyright: update documentation to point to maint.mk
40518         * build-aux/update-copyright: Here.
40519
40520 2009-08-06  Jim Meyering  <meyering@redhat.com>
40521
40522         maint.mk: support update-copyright-local
40523         * top/maint.mk (update-copyright-local): Define place-holder.
40524         (update-copyright): Depend on $(update-copyright-local).
40525
40526 2009-08-06  Jim Meyering  <meyering@redhat.com>
40527
40528         selinux-at: new module
40529         Initially written for coreutils, this module will soon be
40530         used by findutils, too.
40531         * MODULES.html.sh [Misc]: Add selinux-at.
40532         * lib/selinux-at.h: New file, from coreutils.
40533         * lib/selinux-at.c: Likewise.
40534         * modules/selinux-at: Likewise.
40535         (License): Change from LGPL to GPL, since it depends
40536         on the GPL'd openat module.
40537
40538         doc: update README
40539         * README: Remove references to cogito.
40540         Remove cvs-repo-updating instructions from 2007.
40541         Don't imply that CVS is better if you have limited disk space.
40542
40543 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40544
40545         update-copyright: support C-style comments
40546         * build-aux/update-copyright: Implement and document.
40547         * tests/test-update-copyright.sh: Test.
40548
40549 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40550
40551         update-copyright: support omitted "(C)"
40552         * build-aux/update-copyright: Implement and document.  Also,
40553         allow variable whitespace before "(C)".
40554         * tests/test-update-copyright.sh: Test.
40555
40556 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40557
40558         update-copyright: don't trip on non-FSF copyright statements
40559         * build-aux/update-copyright: Fix so that the first correctly
40560         formatted FSF copyright statement is recognized no matter what
40561         appears before it.  Update documentation.
40562         * tests/test-update-copyright.sh: Test that.
40563
40564 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40565
40566         update-copyright: clean up code a little
40567         * build-aux/update-copyright: Append "_re" to the name of any
40568         variable holding a regular expression.
40569         Replace "old" and "new" with "stmt" in variable names.
40570         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
40571         handled correctly.
40572         Format code more consistently.
40573
40574 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
40575
40576         update-copyright-tests: improve portability
40577         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
40578         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
40579
40580 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40581
40582         update-copyright: support @copyright{} and &copy;
40583         * build-aux/update-copyright: Implement and document.
40584         * tests/test-update-copyright.sh: Test.
40585
40586 2009-08-04  Jim Meyering  <meyering@redhat.com>
40587
40588         update-copyright-tests: correctly test EOL=\r\n handling
40589         * tests/test-update-copyright.sh: Put \r at the end of some lines
40590         for the dos-eol tests.  Based on a patch by Joel E. Denny.
40591
40592         maint.mk: make update-copyright exclusion list more configurable
40593         * top/maint.mk (update-copyright): Default to excluding COPYING,
40594         but allow an override, in case someone does want to update that file.
40595
40596         maint.mk: don't update copyright date in COPYING
40597         * top/maint.mk (update-copyright): Exclude COPYING.
40598
40599         maint.mk: add a copyright-updating rule
40600         * top/maint.mk (update-copyright): New rule.
40601         Derived from coreutils/Makefile.am.
40602
40603         update-copyright: rename some variables
40604         * build-aux/update-copyright: Rename a few variables for clarity.
40605         Tweak syntax.  List Joel E. Denny as coauthor.
40606
40607 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
40608
40609         update-copyright: fix bug for 2-digit last year and add tests
40610         * build-aux/update-copyright: Fix bug.
40611         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
40612         specified.
40613         * modules/update-copyright-tests: New
40614         * tests/test-update-copyright.sh: New.
40615
40616 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40617
40618         update-copyright: handle leading tabs in line prefix
40619         * build-aux/update-copyright: Count leading tabs as 8 spaces
40620         when computing margin.  This helps with the formatting of
40621         ChangeLogs, for example.
40622         Fix documentation a little.
40623
40624 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40625
40626         update-copyright: support EOL=\r\n
40627         * build-aux/update-copyright: Implement that.
40628
40629 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
40630
40631         update-copyright: automatically format copyright statements
40632         * build-aux/update-copyright: Implement that.
40633         Also, be a little more predictable and safer by always failing
40634         when the full copyright format is not perfectly recognized as an
40635         unbroken whole.  Discussed at
40636         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
40637         Rewrite documentation.
40638
40639 2009-08-03  Bruno Haible  <bruno@clisp.org>
40640
40641         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
40642
40643 2009-08-02  Bruno Haible  <bruno@clisp.org>
40644
40645         Tests for module 'uname'.
40646         * modules/uname-tests: New file.
40647         * tests/test-uname.c: New file.
40648
40649         New module 'uname'.
40650         * lib/uname.c: New file.
40651         * m4/uname.m4: New file.
40652         * modules/uname: New file.
40653         * doc/posix-functions/uname.texi: Mention the new module.
40654
40655 2009-08-02  Bruno Haible  <bruno@clisp.org>
40656
40657         Tests for module 'sys_utsname'.
40658         * modules/sys_utsname-tests: New file.
40659         * tests/test-sys_utsname.c: New file.
40660
40661         New module 'sys_utsname'.
40662         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
40663         * m4/sys_utsname_h.m4: New file.
40664         * modules/sys_utsname: New file.
40665         * doc/posix-headers/sys_utsname.texi: Mention the new module.
40666
40667 2009-08-02  Bruno Haible  <bruno@clisp.org>
40668
40669         Implicitly initialize the sockets library.
40670         * lib/gethostname.c: Include sockets.h.
40671         (rpl_gethostname): Invoke gl_sockets_startup.
40672         * lib/socket.c: Include sockets.h.
40673         (rpl_socket): Invoke gl_sockets_startup.
40674         * modules/gethostname (Depends-on): Add sockets.
40675         * modules/socket (Depends-on): Likewise.
40676         * tests/test-poll.c: Don't include sockets.h.
40677         (main): Don't invoke gl_sockets_startup.
40678         * tests/test-select.c: Don't include sockets.h.
40679         (main): Don't invoke gl_sockets_startup.
40680
40681 2009-08-02  Bruno Haible  <bruno@clisp.org>
40682
40683         Allow multiple calls to gl_sockets_startup.
40684         * lib/sockets.c (initialized_sockets_version): New variable.
40685         (gl_sockets_startup): Do nothing if already called for this or a higher
40686         version.
40687         (gl_sockets_cleanup): Reset initialized_sockets_version.
40688
40689 2009-08-03  Simon Josefsson  <simon@josefsson.org>
40690
40691         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
40692         different project/version.
40693
40694 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
40695             Bruno Haible  <bruno@clisp.org>
40696
40697         Tests for module 'pipe-filter-gi'.
40698         * modules/pipe-filter-gi-tests: New file.
40699         * tests/test-pipe-filter-gi1.sh: New file.
40700         * tests/test-pipe-filter-gi1.c: New file.
40701         * tests/test-pipe-filter-gi2.sh: New file.
40702         * tests/test-pipe-filter-gi2-main.c: New file.
40703         * tests/test-pipe-filter-gi2-child.c: New file.
40704
40705         New module 'pipe-filter-gi'.
40706         * lib/pipe-filter-gi.c: New file.
40707         * modules/pipe-filter-gi: New file.
40708
40709 2009-08-02  Bruno Haible  <bruno@clisp.org>
40710             Paolo Bonzini  <bonzini@gnu.org>
40711
40712         Tests for module 'pipe-filter-ii'.
40713         * modules/pipe-filter-ii-tests: New file.
40714         * tests/test-pipe-filter-ii1.sh: New file.
40715         * tests/test-pipe-filter-ii1.c: New file.
40716         * tests/test-pipe-filter-ii2.sh: New file.
40717         * tests/test-pipe-filter-ii2-main.c: New file.
40718         * tests/test-pipe-filter-ii2-child.c: New file.
40719
40720         New module 'pipe-filter-ii'.
40721         * lib/pipe-filter.h: New file.
40722         * lib/pipe-filter-ii.c: New file.
40723         * lib/pipe-filter-aux.h: New file.
40724         * modules/pipe-filter-ii: New file.
40725
40726 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40727
40728         * lib/gc-libgcrypt.c: Change copyright to FSF.
40729         * lib/gc-gnulib.c: Likewise.
40730
40731 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
40732
40733         * lib/gethostname.c: Include limits.h.
40734
40735 2009-08-02  Simon Josefsson  <simon@josefsson.org>
40736             Bruno Haible  <bruno@clisp.org>
40737
40738         Ensure HOST_NAME_MAX as part of the gethostname module.
40739         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
40740         define also HOST_NAME_MAX.
40741         * tests/test-gethostname.c: Include <limits.h>.
40742         (main): Check also HOST_NAME_MAX.
40743         * doc/posix-headers/limits.texi: Document the mingw problem.
40744
40745 2009-08-02  Bruno Haible  <bruno@clisp.org>
40746
40747         * lib/gethostname.c (gethostname): Fix handling of large len argument.
40748         Add comments.
40749
40750 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40751
40752         * lib/gethostname.c: Add Windows wrapper.
40753         * m4/gethostname.m4: Look for gethostname in -lws2_32.
40754         * modules/gethostname: Depend on sys_socket & errno, for also
40755         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
40756         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
40757
40758 2009-07-31  Jim Meyering  <meyering@redhat.com>
40759
40760         getloadavg: fix symbol name in comment
40761         * lib/getloadavg.c: Correct a typo I introduced when adding
40762         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
40763         Matt Kraai spotted the problem.
40764
40765 2009-07-29  Matt Kraai  <mkraai@beckman.com>
40766
40767         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
40768         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
40769         code also if ! defined N_NAME_POINTER.
40770         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
40771         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
40772         but the n_name member is a 12-byte array.
40773
40774 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
40775
40776         update-copyright: generalize comment handling
40777         * build-aux/update-copyright: Handle copyright statements
40778         within more comment styles.
40779         Document usage.
40780         Report any file with an external copyright holder or parse failure.
40781
40782 2009-07-29  Jim Meyering  <meyering@redhat.com>
40783
40784         mktime: correct setting of REPLACE_MKTIME
40785         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
40786
40787         update-copyright: new module
40788         * modules/update-copyright: New file.
40789         * build-aux/update-copyright: New file.
40790         * MODULES.html.sh (maint+release support): Add update-copyright.
40791
40792 2009-07-27  Bruno Haible  <bruno@clisp.org>
40793
40794         Fix compilation error when <ctime> is used and mktime is replaced.
40795         * lib/time.in.h (mktime): New declaration.
40796         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
40797         REPLACE_MKTIME instead of defining mktime in config.h.
40798         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
40799         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
40800         Reported by Ross McFarland <rwmcfa1@neces.com>.
40801
40802 2009-07-27  Bruno Haible  <bruno@clisp.org>
40803
40804         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
40805         Reported by Matt Kraai <mkraai@beckman.com>.
40806
40807 2009-07-25  Jim Meyering  <meyering@redhat.com>
40808
40809         maint.mk: avoid warnings about missing files
40810         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
40811         diagnostic when .prev-version does not exist.
40812         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
40813         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
40814         nonexistent cfg.mk.
40815         Suggestions from Simon Josefsson.
40816
40817 2009-07-25  Bruno Haible  <bruno@clisp.org>
40818
40819         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
40820         defined as macros. Needed on QNX 6.4.1.
40821         Reported by Matt Kraai <mkraai@beckman.com>.
40822
40823 2009-07-23  Jim Meyering  <meyering@redhat.com>
40824
40825         maint.mk: invoke "make dist" with a working value of XZ_OPT
40826         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
40827
40828 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
40829
40830         Make fseeko.c compile on QNX.
40831         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
40832
40833 2009-07-22  Peter Simons  <simons@cryp.to>
40834
40835         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
40836         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
40837         * lib/md4.h: Likewise.
40838         * lib/md5.h: Likewise.
40839         * lib/sha1.h: Likewise.
40840         * lib/sha256.h: Likewise.
40841         * lib/sha512.h: Likewise.
40842
40843         tests-sha1: don't assign literal string to 'char *' variable
40844         * tests/test-sha1.c (main): Declare locals with "const" to match
40845         attributes of the right hand side.
40846
40847 2009-07-21  Eric Blake  <ebb9@byu.net>
40848
40849         dup2: fix more mingw problems
40850         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
40851         fd to itself.
40852         * doc/posix-functions/dup2.texi (dup2): Document the bug.
40853         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
40854         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
40855         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
40856         care of mingw bugs.
40857
40858 2009-07-21  Jim Meyering  <meyering@redhat.com>
40859
40860         vc-list-files: avoid failure when /bin/sh is dash
40861         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
40862         On some Debian based systems, /bin/sh is a symlink to dash, and running
40863         this command would omit the "/" following each 'tests' prefix:
40864           dash -x build-aux/vc-list-files -C . tests
40865         That is because bash and dash work differently:
40866           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
40867           bash ok
40868           dash odd
40869
40870 2009-07-21  Eric Blake  <ebb9@byu.net>
40871
40872         dup2-tests: test previous patch
40873         * modules/dup2-tests: New file.
40874         * tests/test-dup2.c: Likewise.
40875         * tests/test-open.c (main): Avoid unspecified behavior.
40876         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
40877         test.
40878
40879         dup2: work around mingw and cygwin 1.5 bug
40880         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
40881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40882         * modules/unistd (Makefile.am): Substitute it.
40883         * lib/unistd.in.h (dup2): Declare the replacement.
40884         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
40885         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
40886         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
40887         * modules/execute (Depends-on): Add dup2.
40888         * modules/fseterr (Depends-on): Likewise.
40889         * modules/pipe (Depends-on): Likewise.
40890         * modules/posix_spawn-internal (Depends-on): Likewise.
40891
40892 2009-07-21  Bruno Haible  <bruno@clisp.org>
40893
40894         * modules/.gitattributes: New file.
40895
40896 2009-07-20  Bruno Haible  <bruno@clisp.org>
40897
40898         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
40899         (main): Use it.
40900
40901 2009-07-20  Eric Blake  <ebb9@byu.net>
40902
40903         test-pipe: make a bit more robust.
40904         * tests/test-pipe.c (myerr): Allow error messages regardless of
40905         what we do to stderr.
40906         (test_pipe): Rearrange to avoid deadlock.
40907         (child_main): Try a larger read, to ensure we avoided deadlock.
40908         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
40909         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
40910         if misused.
40911
40912 2009-07-19  Jim Meyering  <meyering@redhat.com>
40913
40914         fts: avoid false-positive cycle-detection
40915         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
40916         for each new command line argument.
40917
40918 2009-07-19  Bruno Haible  <bruno@clisp.org>
40919
40920         Fix build error on mingw with the modules sys_select and unistd.
40921         * modules/acl-tests (Depends-on): Add close.
40922         * modules/binary-io-tests (Depends-on): Likewise.
40923         * modules/closein-tests (Depends-on): Likewise.
40924         * modules/flock-tests (Depends-on): Likewise.
40925         * modules/fsync-tests (Depends-on): Likewise.
40926         * modules/lseek-tests (Depends-on): Likewise.
40927         * modules/pipe-tests (Depends-on): Likewise.
40928         * modules/posix_spawn-tests (Depends-on): Likewise.
40929         * modules/posix_spawnp-tests (Depends-on): Likewise.
40930         * modules/stat-time-tests (Depends-on): Likewise.
40931         * modules/yesno-tests (Depends-on): Likewise.
40932
40933 2009-07-19  Bruno Haible  <bruno@clisp.org>
40934
40935         Unify conditionals.
40936         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
40937         macros, not at the compiler macros.
40938         * lib/pipe.c: Likewise.
40939         * lib/execute.c: Likewise.
40940         * lib/spawni.c: Likewise.
40941
40942 2009-07-19  Bruno Haible  <bruno@clisp.org>
40943
40944         Fix handling of closed stdin/stdout/stderr on mingw.
40945         * lib/w32spawn.h: Include unistd.h.
40946         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
40947         file descriptor with O_NOINHERIT flag.
40948         (fd_safer_noinherit): New function, based on fd-safer.c.
40949         (dup_safer_noinherit): New function, based on dup-safer.c.
40950         (undup_safer_noinherit): New function.
40951         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
40952         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
40953         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
40954         instead of fd_safer.
40955         * tests/test-pipe.c: Include <windows.h>.
40956         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
40957         result.
40958
40959         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
40960         from main.
40961         (test_pipe): Pass an extra argument for disambiguation.
40962         (main): Invoke parent_main or child_main.
40963
40964         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40965         consistently.
40966
40967 2009-07-18  Eric Blake  <ebb9@byu.net>
40968
40969         test-pipe: fix mingw build
40970         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40971
40972 2009-07-18  Bruno Haible  <bruno@clisp.org>
40973
40974         * modules/pipe-tests (Makefile.am): Fix typo.
40975
40976 2009-07-18  Eric Blake  <ebb9@byu.net>
40977
40978         error: fix mingw build
40979         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40980         Reported by Bruno Haible.
40981
40982         error: avoid undefined use of stdout
40983         * lib/error.c (error, error_at_line): Check that fd 1 is open
40984         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40985         is handling faults and the close_stdout module wants to report the
40986         detection of closed stdout as an error.
40987
40988 2009-07-17  Eric Blake  <ebb9@byu.net>
40989
40990         pipe: be robust in face of closed fds
40991         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40992         should cause child to misbehave.
40993         * modules/pipe-tests: New module.
40994         * tests/test-pipe.c: New file.
40995         * tests/test-pipe.sh: New file.
40996         Reported by Akim Demaille.
40997
40998 2009-07-14  Bruno Haible  <bruno@clisp.org>
40999
41000         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41001         Reported by anonymous kc.
41002
41003 2009-07-07  Jim Meyering  <meyering@redhat.com>
41004
41005         maint.mk: don't look for translatable strings in *.m4 or *.mk
41006         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41007         when searching for translatable strings.
41008
41009 2009-07-05  Jim Meyering  <meyering@redhat.com>
41010
41011         remove superfluous parentheses in STREQ definition
41012         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41013         * lib/getugroups.c (STREQ): Likewise.
41014         * lib/fnmatch.c (STREQ): Likewise.
41015         Spotted by Bruno Haible.
41016
41017 2009-07-04  Jim Meyering  <meyering@redhat.com>
41018
41019         argv-iter: new module
41020         * MODULES.html.sh: Add argv-iter.
41021         * lib/argv-iter.c, lib/argv-iter.h: New files.
41022         * modules/argv-iter: New file.
41023         * modules/argv-iter-tests: New file.
41024         * tests/test-argv-iter.c: Test it.
41025
41026 2009-07-04  Bruno Haible  <bruno@clisp.org>
41027
41028         Fix assertion.
41029         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41030         contains more exact copies of a given entry than file2, leave the extra
41031         copies unpaired rather than aborting.
41032         Reported by Eric Blake.
41033
41034 2009-07-02  Bruno Haible  <bruno@clisp.org>
41035
41036         Speedup git-merge-changelog for git cherry-pick.
41037         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41038         (entries_mapping_get): New function, extracted from compute_mapping.
41039         (entries_mapping_reverse_get): New function.
41040         (compute_mapping): Add a 'full' argument. Return the result in a
41041         'struct entries_mapping'.
41042         (main): Update. Access the mappings through entries_mapping_get.
41043         Reported by Eric Blake.
41044
41045 2009-07-02  Bruno Haible  <bruno@clisp.org>
41046
41047         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41048         best_i.
41049
41050 2009-07-02  Bruno Haible  <bruno@clisp.org>
41051
41052         Speed up approximate search for matching ChangeLog entries.
41053         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41054         argument. Call fstrcmp_bounded instead of fstrcmp.
41055         (compute_mapping, try_split_merged_entry, main): Update callers.
41056
41057 2009-07-02  Bruno Haible  <bruno@clisp.org>
41058
41059         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41060
41061 2009-06-30  Bruno Haible  <bruno@clisp.org>
41062
41063         Reduce the number of uc_is_cased calls.
41064         * lib/unicase.h (casing_suffix_context_t): Add
41065         'first_char_except_ignorable' field.
41066         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41067         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41068         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41069         Update initializer.
41070         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41071         case-ignorable characters.
41072         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41073         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41074         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41075         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41076         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41077
41078 2009-06-30  Bruno Haible  <bruno@clisp.org>
41079
41080         Tests for module 'unicase/ignorable'.
41081         * modules/unicase/ignorable-tests: New file.
41082         * tests/unicase/test-ignorable.c: New file, generated by
41083         gen-uni-tables.
41084
41085         Tests for module 'unicase/cased'.
41086         * modules/unicase/cased-tests: New file.
41087         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41088         * tests/unicase/test-predicate-part1.h: New file, derived from
41089         tests/unictype/test-predicate-part1.h.
41090         * tests/unicase/test-predicate-part2.h: New file, same as
41091         tests/unictype/test-predicate-part2.h.
41092
41093         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41094         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41095         (output_casing_properties): New function.
41096         (main): Call it.
41097         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41098         * lib/unicase/cased.c: Include unictype/bitmap.h.
41099         (uc_is_cased): Define through a bitmap lookup.
41100         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41101         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41102         (uc_is_case_ignorable): Define through a bitmap lookup.
41103         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41104         lib/unictype/bitmap.h.
41105         (Depends-on): Add inline. Clean up.
41106         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41107         lib/unictype/bitmap.h.
41108         (Depends-on): Add inline. Clean up.
41109         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41110         recognition.
41111         * tests/unicase/test-u16-tolower.c (main): Likewise.
41112         * tests/unicase/test-u32-tolower.c (main): Likewise.
41113
41114 2009-06-30  Bruno Haible  <bruno@clisp.org>
41115
41116         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41117         * lib/unicase/u16-casemap.c: Likewise.
41118         * lib/unicase/u32-casemap.c: Likewise.
41119
41120 2009-06-29  Bruno Haible  <bruno@clisp.org>
41121
41122         Define u32_casefold as a wrapper around u32_ct_casefold.
41123         * lib/unicase/u32-casefold.c: Update.
41124         * modules/unicase/u32-casefold (Depends-on): Add
41125         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41126         unicase/empty-suffix-context. Clean up.
41127
41128         Define u16_casefold as a wrapper around u16_ct_casefold.
41129         * lib/unicase/u16-casefold.c: Update.
41130         * modules/unicase/u16-casefold (Depends-on): Add
41131         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41132         unicase/empty-suffix-context. Clean up.
41133
41134         Define u8_casefold as a wrapper around u8_ct_casefold.
41135         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41136         * lib/unicase/u8-casefold.c: Update.
41137         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41138         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41139
41140         Define u32_totitle as a wrapper around u32_ct_totitle.
41141         * lib/unicase/u32-totitle.c: Update.
41142         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41143         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41144
41145         Define u16_totitle as a wrapper around u16_ct_totitle.
41146         * lib/unicase/u16-totitle.c: Update.
41147         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41148         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41149
41150         Define u8_totitle as a wrapper around u8_ct_totitle.
41151         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41152         functions.
41153         (FUNC): Delegate to U_CT_TOTITLE.
41154         * lib/unicase/u8-totitle.c: Update.
41155         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41156         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41157
41158         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41159         invocation.
41160         * modules/unicase/u32-tolower (Depends-on): Add
41161         unicase/empty-prefix-context, unicase/empty-suffix-context.
41162
41163         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41164         invocation.
41165         * modules/unicase/u16-tolower (Depends-on): Add
41166         unicase/empty-prefix-context, unicase/empty-suffix-context.
41167
41168         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41169         * modules/unicase/u8-tolower (Depends-on): Add
41170         unicase/empty-prefix-context, unicase/empty-suffix-context.
41171
41172         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41173         invocation.
41174         * modules/unicase/u32-toupper (Depends-on): Add
41175         unicase/empty-prefix-context, unicase/empty-suffix-context.
41176
41177         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41178         invocation.
41179         * modules/unicase/u16-toupper (Depends-on): Add
41180         unicase/empty-prefix-context, unicase/empty-suffix-context.
41181
41182         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41183         * modules/unicase/u8-toupper (Depends-on): Add
41184         unicase/empty-prefix-context, unicase/empty-suffix-context.
41185
41186         New module 'unicase/u32-ct-casefold'.
41187         * lib/unicase/u32-ct-casefold.c: New file.
41188         * modules/unicase/u32-ct-casefold: New file.
41189
41190         New module 'unicase/u16-ct-casefold'.
41191         * lib/unicase/u16-ct-casefold.c: New file.
41192         * modules/unicase/u16-ct-casefold: New file.
41193
41194         New module 'unicase/u8-ct-casefold'.
41195         * lib/unicase/u8-ct-casefold.c: New file.
41196         * lib/unicase/u-ct-casefold.h: New file, derived from
41197         lib/unicase/u-casefold.h.
41198         * modules/unicase/u8-ct-casefold: New file.
41199
41200         New module 'unicase/u32-ct-totitle'.
41201         * lib/unicase/u32-ct-totitle.c: New file.
41202         * modules/unicase/u32-ct-totitle: New file.
41203
41204         New module 'unicase/u16-ct-totitle'.
41205         * lib/unicase/u16-ct-totitle.c: New file.
41206         * modules/unicase/u16-ct-totitle: New file.
41207
41208         New module 'unicase/u8-ct-totitle'.
41209         * lib/unicase/u8-ct-totitle.c: New file.
41210         * lib/unicase/u-ct-totitle.h: New file, derived from
41211         lib/unicase/u-totitle.h.
41212         * modules/unicase/u8-ct-totitle: New file.
41213
41214         New module 'unicase/u32-ct-tolower'.
41215         * lib/unicase/u32-ct-tolower.c: New file.
41216         * modules/unicase/u32-ct-tolower: New file.
41217
41218         New module 'unicase/u16-ct-tolower'.
41219         * lib/unicase/u16-ct-tolower.c: New file.
41220         * modules/unicase/u16-ct-tolower: New file.
41221
41222         New module 'unicase/u8-ct-tolower'.
41223         * lib/unicase/u8-ct-tolower.c: New file.
41224         * modules/unicase/u8-ct-tolower: New file.
41225
41226         New module 'unicase/u32-ct-toupper'.
41227         * lib/unicase/u32-ct-toupper.c: New file.
41228         * modules/unicase/u32-ct-toupper: New file.
41229
41230         New module 'unicase/u16-ct-toupper'.
41231         * lib/unicase/u16-ct-toupper.c: New file.
41232         * modules/unicase/u16-ct-toupper: New file.
41233
41234         New module 'unicase/u8-ct-toupper'.
41235         * lib/unicase/u8-ct-toupper.c: New file.
41236         * modules/unicase/u8-ct-toupper: New file.
41237
41238         Add context arguments to u*_casemap functions.
41239         * lib/unicase/unicasemap.h: Include unicase.h.
41240         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41241         suffix_context arguments.
41242         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41243         functions.
41244         (FUNC): Add prefix_context and suffix_context arguments. Use
41245         uc_is_cased and uc_is_case_ignorable.
41246         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41247         * lib/unicase/u16-casemap.c: Likewise.
41248         * lib/unicase/u32-casemap.c: Likewise.
41249         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41250         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41251         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41252         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41253         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41254         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41255
41256         New module 'unicase/u32-suffix-context'.
41257         * lib/unicase/u32-suffix-context.c: New file.
41258         * modules/unicase/u32-suffix-context: New file.
41259
41260         New module 'unicase/u16-suffix-context'.
41261         * lib/unicase/u16-suffix-context.c: New file.
41262         * modules/unicase/u16-suffix-context: New file.
41263
41264         New module 'unicase/u8-suffix-context'.
41265         * lib/unicase/u8-suffix-context.c: New file.
41266         * lib/unicase/u-suffix-context.h: New file.
41267         * modules/unicase/u8-suffix-context: New file.
41268
41269         New module 'unicase/empty-suffix-context'.
41270         * lib/unicase/empty-suffix-context.c: New file.
41271         * modules/unicase/empty-suffix-context: New file.
41272
41273         New module 'unicase/u32-prefix-context'.
41274         * lib/unicase/u32-prefix-context.c: New file.
41275         * modules/unicase/u32-prefix-context: New file.
41276
41277         New module 'unicase/u16-prefix-context'.
41278         * lib/unicase/u16-prefix-context.c: New file.
41279         * modules/unicase/u16-prefix-context: New file.
41280
41281         New module 'unicase/u8-prefix-context'.
41282         * lib/unicase/u8-prefix-context.c: New file.
41283         * lib/unicase/u-prefix-context.h: New file.
41284         * lib/unicase/context.h: New file.
41285         * modules/unicase/u8-prefix-context: New file.
41286
41287         New module 'unicase/empty-prefix-context'.
41288         * lib/unicase/empty-prefix-context.c: New file.
41289         * modules/unicase/empty-prefix-context: New file.
41290
41291         New module 'unicase/ignorable'.
41292         * lib/unicase/ignorable.c: New file.
41293         * modules/unicase/ignorable: New file.
41294
41295         New module 'unicase/cased'.
41296         * lib/unicase/caseprop.h: New file.
41297         * lib/unicase/cased.c: New file.
41298         * modules/unicase/cased: New file.
41299
41300         New functions for case mapping of substrings.
41301         * lib/unicase.h (casing_prefix_context_t): New type.
41302         (unicase_empty_prefix_context): New variable.
41303         (u8_casing_prefix_context, u16_casing_prefix_context,
41304         u32_casing_prefix_context, u8_casing_prefixes_context,
41305         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41306         declarations.
41307         (casing_suffix_context_t): New type.
41308         (unicase_empty_suffix_context): New variable.
41309         (u8_casing_suffix_context, u16_casing_suffix_context,
41310         u32_casing_suffix_context, u8_casing_suffixes_context,
41311         u16_casing_suffixes_context, u32_casing_suffixes_context,
41312         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41313         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41314         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41315         declarations.
41316
41317 2009-06-28  Jim Meyering  <meyering@redhat.com>
41318
41319         boostrap: indent only with spaces
41320         * build-aux/bootstrap: Indent only with spaces, never TABs.
41321
41322         bootstrap: split long lines
41323         * build-aux/bootstrap: Keep line length < 80.
41324
41325         bootstrap: sync from coreutils
41326         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41327         just as autoreconf does.  Verify a list of prerequisite
41328         package-name,version-number pairs if defined in bootstrap.conf.
41329         Refer to README-prereq, if prerequisites are not satisfied.
41330
41331 2009-06-27  Eric Blake  <ebb9@byu.net>
41332
41333         tests: add test for bogus NULL definition
41334         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
41335         * tests/test-stdlib.c: Likewise.
41336         * tests/test-string.c: Likewise.
41337         * tests/test-locale.c: Likewise.
41338         * tests/test-unistd.c: Likewise.
41339         * modules/stdio-tests (Depends-on): Add verify.
41340         * modules/stdlib-tests (Depends-on): Likewise.
41341         * modules/string-tests (Depends-on): Likewise.
41342         * modules/locale-tests (Depends-on): Likewise.
41343         * modules/unistd-tests (Depends-on): Likewise.
41344
41345 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
41346
41347         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
41348         self-explaining comment.
41349         * m4/selinux-selinux-h: Update serial.
41350         (gl_LIBSELINUX): New macro, adding a warning for missing development
41351         packages to code extracted from...
41352         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
41353         Add warning for missing development packages here, too.
41354
41355 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
41356
41357         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
41358
41359 2009-06-25  Eric Blake  <ebb9@byu.net>
41360
41361         version-etc: fix regression
41362         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
41363         gcc.
41364         (version_etc): Use it, to catch bugs with trailing NULL.
41365         * lib/version-etc.c (version_etc_arn): Delete unused argument.
41366         (version_etc_va): Fix logic bug.
41367         * modules/version-etc-tests: Add test.
41368         * tests/test-version-etc.c: New file.
41369         * tests/test-version-etc.sh: Likewise.
41370
41371 2009-06-25  Sam Steingold  <sds@gnu.org>
41372
41373         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
41374         mbtowc declaration.
41375
41376 2009-06-25  Eric Blake  <ebb9@byu.net>
41377
41378         fpurge: migrate into <stdio.h>
41379         * lib/fpurge.h: Delete...
41380         * lib/stdio.in.h (fpurge): ...and declare here, instead.
41381         * lib/fpurge.c (fpurge): Change declaring header.
41382         * modules/fpurge (Files): Drop deleted file.
41383         (Depends-on): Add stdio.
41384         (configure.ac): Set witness.
41385         * modules/stdio (Makefile.am): Support fpurge macros.
41386         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41387         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
41388         * lib/fflush.c: Update client.
41389         * tests/test-fpurge.c: Likewise.
41390         * NEWS: Mention the change.
41391
41392 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41393
41394         * lib/argp-version-etc.c (program_authors): Add const
41395         qualifier.
41396         * lib/version-etc.c: Fix typos in the comments.
41397         * modules/argp-version-etc: Depends on version-etc.
41398
41399 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41400
41401         argp-version-etc: new module.
41402
41403         * lib/argp-version-etc.c: New file.
41404         * lib/argp-version-etc.h: New file.
41405         * modules/argp-version-etc: New file.
41406         * modules/argp-version-etc-tests: New file.
41407         * tests/test-argp-version-etc.c: New test.
41408         * tests/test-argp-version-etc-1.sh: New test.
41409
41410 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
41411
41412         Provide additional interfaces and documentation for version-etc
41413         module.
41414
41415         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
41416         interfaces.
41417         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
41418         prototypes.
41419
41420 2009-06-24  Bruno Haible  <bruno@clisp.org>
41421
41422         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
41423         HAVE_LIB${NAME} macro.
41424         Reported by Sam Steingold <sds@gnu.org>.
41425
41426 2009-06-23  Simon Josefsson  <simon@josefsson.org>
41427
41428         * modules/hash-tests (test_hash_LDADD): Link to libintl when
41429         needed.
41430
41431 2009-06-21  Bruno Haible  <bruno@clisp.org>
41432
41433         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
41434         work.
41435         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
41436         together with LIB${NAME}, LTLIB${NAME}.
41437         Reported by Sam Steingold <sds@gnu.org>.
41438
41439 2009-06-20  Jim Meyering  <meyering@redhat.com>
41440
41441         tests: make sc_require_test_exit_idiom more generic
41442         * top/maint.mk (Exit_witness_file): New overridable variable.
41443         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
41444         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
41445
41446 2009-06-19  Jim Meyering  <meyering@redhat.com>
41447
41448         hash: reverse order of src/dst parameters in an internal interface
41449         * lib/hash.c (transfer_entries): Reverse order of parameters to
41450         put DST before SRC.  Adjust callers.
41451
41452         tests: test-hash: avoid wholesale duplication
41453         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
41454         Instead, use a loop and add a single conditional.
41455
41456         tests: test-hash: allow seed selection via a command line argument
41457         * tests/test-hash.c (get_seed): New function.
41458         (main): Use it.
41459
41460 2009-06-19  Eric Blake  <ebb9@byu.net>
41461
41462         hash: avoid memory leak on allocation failure
41463         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
41464         failure.  Factor repeated algorithm...
41465         (transfer_entries): ...into new helper routine.
41466         (hash_delete): React to hash_rehash return value.
41467
41468         hash: reduce memory pressure in hash_rehash no-op case
41469         * lib/hash.c (next_prime): Avoid overflow.
41470         (hash_initialize): Factor bucket size computation...
41471         (compute_bucket_size): ...into new helper function.
41472         (hash_rehash): Use new function and open coding to reduce memory
41473         pressure, and avoid a memory leak in USE_OBSTACK code.
41474         Reported by Jim Meyering.
41475
41476 2009-06-18  Eric Blake  <ebb9@byu.net>
41477
41478         hash: make rotation more obvious
41479         * modules/hash (Depends-on): Add bitrotate and stdint.
41480         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
41481         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
41482         (SIZE_MAX): Rely on headers for definition.
41483         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
41484         (raw_hasher): Use rotr_sz.
41485         Suggested by Jim Meyering.
41486
41487         hash: fix memory leak in last patch
41488         * lib/hash.c (hash_rehash): Avoid memory leak.
41489
41490         hash: avoid no-op rehashing
41491         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
41492
41493         hash: provide default callback functions
41494         * lib/hash.c (raw_hasher, raw_comparator): New functions.
41495         (hash_initialize): Use them as defaults.
41496         * tests/test-hash.c (main): Test this.
41497
41498         hash: minor optimization
41499         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
41500         when possible.
41501         (hash_initialize): Document this promise.
41502         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
41503         * tests/test-hash.c (hash_compare_strings): Test this.
41504
41505 2009-06-18  Bruno Haible  <bruno@clisp.org>
41506
41507         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
41508         going to be replaced anyway.
41509
41510 2009-06-18  Bruno Haible  <bruno@clisp.org>
41511
41512         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
41513         in one place.
41514         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
41515         be replaced anyway.
41516
41517 2009-06-18  Eric Blake  <ebb9@byu.net>
41518
41519         hash: check for resize before insertion
41520         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
41521         threshold before insertion, so that a pathological hash_rehash
41522         that fills every bucket can still trigger another rehash.
41523
41524 2009-06-18  Jim Meyering  <meyering@redhat.com>
41525
41526         hash-tests: add a loop around the small tests
41527         * tests/test-hash.c (main): Repeat small tests with selected
41528         small initial table sizes.
41529
41530 2009-06-17  Eric Blake  <ebb9@byu.net>
41531
41532         hash: minor cleanups
41533         * lib/hash.h (hash_entry): Make opaque, by moving...
41534         * lib/hash.c (hash_entry): ...here.
41535         (hash_insert): Clarify restrictions on what can be inserted.
41536         (hash_get_next): Clarify when it is safe to remove an element
41537         during traversal.
41538         (check_tuning): Skip verification when tuning is known safe.
41539         (hash_initialize): Clarify restrictions on tuning.
41540
41541 2009-06-17  Jim Meyering  <jim@meyering.net>
41542         and Eric Blake  <ebb9@byu.net>
41543
41544         hash-tests: new module
41545         * modules/hash-tests: New file.
41546         * tests/test-hash.c: New file.
41547
41548 2009-06-17  Eric Blake  <ebb9@byu.net>
41549
41550         strstr-simple: document new module
41551         * MODULES.html.sh: Document new module.
41552
41553         strstr, strcasestr: replace on platforms with broken memchr
41554         * modules/strstr: Split into...
41555         * modules/strstr-simple: ...new module that does not care about
41556         performance, but does care about glibc bug.
41557         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
41558         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
41559         if platform memchr is broken, per Debian bug 521737.
41560         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
41561         memchr.
41562         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
41563         * doc/posix-functions/strstr.texi (strstr): Document the fix.
41564         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
41565         * modules/mountlist (Depends-on): Add strstr-simple.
41566         * modules/gen-uni-tables (Depends-on): Likewise.
41567         * modules/argz (Depends-on): Add strstr.
41568
41569 2009-06-17  Bruno Haible  <bruno@clisp.org>
41570
41571         * modules/posix_spawn-internal (Depends-on): Add errno.
41572
41573 2009-06-17  Bruno Haible  <bruno@clisp.org>
41574
41575         Define missing ESTALE on Interix 3.5.
41576         * lib/errno.in.h (ESTALE): Assign a value if missing.
41577         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
41578         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
41579         missing.
41580         * doc/posix-headers/errno.texi: Mention the Interix bug.
41581         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
41582
41583 2009-06-15  Eric Blake  <ebb9@byu.net>
41584
41585         memchr, memchr2: add valgrind exception
41586         * lib/memchr.valgrind: New file.
41587         * lib/memchr2.valgrind: New file.
41588         * modules/memchr (Files): Distribute valgrind file.
41589         * modules/memchr2 (Files): Likewise.
41590
41591         docs: memchr is no longer obsolete
41592         * MODULES.html.sh: Move memchr from obsolete to string.h section.
41593         * lib/string.in.h (memchr): Simplify logic.
41594
41595 2009-06-14  Jim Meyering  <meyering@redhat.com>
41596
41597         link-follow: fix the "checking..." message to not mention trailing slash
41598         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
41599         never considered trailing slashes.
41600
41601 2009-06-14  Bruno Haible  <bruno@clisp.org>
41602
41603         * m4/memchr.m4: Mention also the bug on IA-64.
41604         * doc/posix-functions/memchr.texi: Likewise.
41605
41606 2009-06-12  Eric Blake  <ebb9@byu.net>
41607
41608         memchr: detect broken x86_64 and alpha implementations
41609         * modules/memchr-tests (Depends-on): Move mmap detection...
41610         * modules/memchr (Depends-on): ...here.
41611         (configure.ac): Set indicator.
41612         * lib/string.in.h (memchr): Declare replacement.
41613         * modules/string (Makefile.am): Trigger replacement.
41614         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41615         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
41616         bugs.
41617         * doc/posix-functions/memchr.texi (memchr): Document the bug.
41618         * modules/getpagesize (License): Relax license.
41619
41620 2009-06-11  Bruno Haible  <bruno@clisp.org>
41621
41622         * lib/idpriv.h: Add more references.
41623
41624 2009-06-08  Bruno Haible  <bruno@clisp.org>
41625
41626         Tests for module 'idpriv-droptemp'.
41627         * modules/idpriv-droptemp-tests: New file.
41628         * tests/test-idpriv-droptemp.sh: New file.
41629         * tests/test-idpriv-droptemp.su.sh: New file.
41630         * tests/test-idpriv-droptemp.c: New file.
41631
41632         New module 'idpriv-droptemp'.
41633         * lib/idpriv-droptemp.c: New file.
41634         * modules/idpriv-droptemp: New file.
41635
41636 2009-06-08  Bruno Haible  <bruno@clisp.org>
41637
41638         Tests for module 'idpriv-drop'.
41639         * modules/idpriv-drop-tests: New file.
41640         * tests/test-idpriv-drop.sh: New file.
41641         * tests/test-idpriv-drop.su.sh: New file.
41642         * tests/test-idpriv-drop.c: New file.
41643
41644         New module 'idpriv-drop'.
41645         * lib/idpriv.h: New file.
41646         * lib-idpriv-drop.c: New file.
41647         * m4/idpriv.m4: New file.
41648         * modules/idpriv-drop: New file.
41649
41650 2009-06-08  Bruno Haible  <bruno@clisp.org>
41651
41652         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
41653         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41654         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41655         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41656         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41657         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41658         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41659
41660 2009-06-08  Eric Blake  <ebb9@byu.net>
41661
41662         test-strstr: use memory fence, when possible
41663         * tests/test-strstr.c (main): Use memory fence, in order to be
41664         more likely to trigger Debian bug 521737.
41665         * modules/strstr-tests (Files): Pull in additional files.
41666
41667         memchr: no longer obsolete, for wider field testing
41668         * modules/memchr (Status, Notice): Delete, this module is no
41669         longer obsolete.
41670         * modules/vasnprintf (Depends-on): Add memchr.
41671
41672 2009-06-07  Jim Meyering  <meyering@redhat.com>
41673
41674         hash: declare some functions with the warn_unused_result attribute
41675         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
41676
41677 2009-06-07  Bruno Haible  <bruno@clisp.org>
41678
41679         * tests/test-alignof.c: Don't test int64_t if it does not exist.
41680         Reported by Eric Blake.
41681
41682 2009-06-06  Eric Blake  <ebb9@byu.net>
41683
41684         test-alignof: fix typo with long double
41685         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
41686         compiler error.
41687
41688 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
41689
41690         Escape non-texinfo { and }s.
41691         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
41692         markup error.
41693
41694 2009-06-04  Jim Meyering  <meyering@redhat.com>
41695
41696         gitlog-to-changelog: don't infloop on an empty commit log
41697         * build-aux/gitlog-to-changelog: Warn about an empty log message.
41698         Reported by Boris Petersen <transacid@centerim.org>.
41699
41700 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
41701
41702         version-etc: extend for packagers
41703         Add three new configure options, intended for packagers:
41704           --with-packager="packager name"
41705           --with-packager-version="packager-specific version"
41706           --with-packager-bug-reports="packager bug reporting"
41707         An example with coreutils:
41708           $ ./configure \
41709             --with-packager=Gentoo \
41710             --with-packager-bug-report=http://bugs.gentoo.org/ \
41711             --with-packager-version="patchset 1.6"
41712           $ ./src/ls --version | head -n2
41713           ls (GNU coreutils) 7.1-dirty
41714           Packaged by Gentoo (patchset 1.6)
41715         Note that the bug reporting info via --help doesn't show up because
41716         coreutils uses its own custom emit_bug_reporting_address() implementation
41717         in src/system.h.  If it didn't, it'd look like:
41718           $ ./src/ls --help | tail -n4
41719           Report bugs to <bug-coreutils@gnu.org>.
41720           Report Gentoo bugs to <http://bugs.gentoo.org/>.
41721           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
41722           General help using GNU software: <http://www.gnu.org/gethelp/>.
41723         * lib/version-etc.c: Print new information, if provided.
41724         * m4/version-etc.m4: New file.
41725         * modules/version-etc (Files): Add m4/version-etc.m4.
41726         (configure.ac): Add gl_VERSION_ETC.
41727
41728 2009-05-31  Bruno Haible  <bruno@clisp.org>
41729
41730         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
41731         and 'int64_t'.
41732         * modules/alignof-tests (Dependencies): Add stdint.
41733         Reported by Eric Blake.
41734
41735 2009-05-31  Bruno Haible  <bruno@clisp.org>
41736
41737         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
41738         restriction due to compiler bugs.
41739         Reported by Eric Blake.
41740
41741 2009-05-31  Simon Josefsson  <simon@josefsson.org>
41742             Bruno Haible  <bruno@clisp.org>
41743
41744         Fix test-alignof failure.
41745         * lib/alignof.h (alignof_slot): New macro.
41746         (alignof_type): New macro, with the same semantics as the previous
41747         'alignof'.
41748         (alignof): Alias to alignof_slot.
41749         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
41750         check that the results are usable as constant expressions.
41751
41752 2009-05-31  Bruno Haible  <bruno@clisp.org>
41753
41754         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
41755         * tests/test-memchr.c (main): Check that memchr does not read past the
41756         first occurrence of the byte.
41757         * tests/test-strstr.c (main): Update comment.
41758         Suggested by Eric Blake.
41759
41760 2009-05-30  Bruno Haible  <bruno@clisp.org>
41761
41762         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
41763         detail how to use dumpbin.
41764         Reported by David Byron <dbyron@dbyron.com>.
41765
41766 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41767
41768         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
41769
41770 2009-06-02  Simon Josefsson  <simon@josefsson.org>
41771
41772         * m4/manywarnings.m4: Add GCC 4.4 warnings.
41773
41774 2009-05-28  Bruno Haible  <bruno@clisp.org>
41775
41776         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
41777         build-aux/ files.
41778
41779 2009-05-28  Simon Josefsson  <simon@josefsson.org>
41780
41781         * gnulib-tool (func_import): Transform license on build-aux/ files too.
41782
41783 2009-05-27  Simon Josefsson  <simon@josefsson.org>
41784
41785         * gnulib-tool (sed_transform_main_lib_file)
41786         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
41787         regexps.
41788
41789 2009-05-26  Simon Josefsson  <simon@josefsson.org>
41790
41791         * tests/test-strstr.c: Add another self-test.
41792         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
41793         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
41794
41795 2009-05-23  Bruno Haible  <bruno@clisp.org>
41796
41797         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
41798         change.
41799
41800 2009-05-21  Bruno Haible  <bruno@clisp.org>
41801
41802         Simplify use of mode_t varargs.
41803         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
41804         uses 'mode_t' or 'int'.
41805         * lib/openat.c (openat): Likewise.
41806         * lib/open-safer.c (open_safer): Likewise.
41807         * m4/mode_t.m4: New file.
41808         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
41809         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
41810         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
41811         * modules/open (Files): Add m4/mode_t.m4.
41812         * modules/openat (Files): Likewise.
41813         * modules/fcntl-safer (Files): Likewise.
41814         Suggested by Eric Blake.
41815
41816 2009-05-21  Pádraig Brady  <P@draigbrady.com>
41817
41818         * doc/glibc-functions/fallocate.texi: New file.
41819         * doc/gnulib.texi: Include it.
41820
41821 2009-05-21  Eric Blake  <ebb9@byu.net>
41822             Bruno Haible  <bruno@clisp.org>
41823
41824         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
41825         invocations.
41826         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41827
41828 2009-05-21  Eric Blake  <ebb9@byu.net>
41829             Bruno Haible  <bruno@clisp.org>
41830
41831         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
41832         include_next. Fix of 2008-11-20 commit.
41833         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
41834         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
41835         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
41836         NEXT_MATH_H.
41837         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
41838         instead of NEXT_MATH_H.
41839
41840 2009-05-21  Bruno Haible  <bruno@clisp.org>
41841
41842         Avoid redefinition warnings for SIZE_MAX.
41843         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
41844         Reported by Simon Josefsson.
41845
41846 2009-05-21  Bruno Haible  <bruno@clisp.org>
41847
41848         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
41849         AC_CACHE_VAL.
41850
41851 2009-05-20  Bruno Haible  <bruno@clisp.org>
41852
41853         Make zeroptr.h work on mingw.
41854         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
41855         mprotect.
41856         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
41857         * modules/memchr2-tests (configure.ac): Likewise.
41858         * modules/memcmp-tests (configure.ac): Likewise.
41859         * modules/memmem-tests (configure.ac): Likewise.
41860         * modules/memrchr-tests (configure.ac): Likewise.
41861         Reported by Simon Josefsson.
41862
41863 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41864
41865         * tests/test-glob.c: Include string.h for strcmp prototype.
41866
41867 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41868
41869         * modules/getdelim (Depends-on): Add explicit stdint, although it
41870         was implicitly already pulled in via realloc-posix.
41871         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
41872
41873 2009-05-20  Simon Josefsson  <simon@josefsson.org>
41874
41875         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
41876         G. Christensen" <tgc@jupiterrise.com>.
41877         * m4/sys_socket_h.m4: Check for sa_family_t.
41878         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
41879         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
41880         * tests/test-sys_socket.c: Check that sa_family_t works.
41881
41882 2009-05-18  Eric Blake  <ebb9@byu.net>
41883
41884         maint.mk: allow gnulib_dir in VPATH build
41885         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
41886
41887 2009-05-15  Jim Meyering  <meyering@redhat.com>
41888
41889         maint.mk: Give gnulib_dir a default definition.
41890         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
41891         Thus, most packages no longer need to specify this variable in cfg.mk
41892
41893 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
41894
41895         rename.m4: fix typos that would make non-mingw cross-configure fail
41896         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
41897
41898 2009-05-13  Eric Blake  <ebb9@byu.net>
41899
41900         mmap-anon: avoid out-of-order autoconf expansion
41901         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
41902         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
41903         * modules/memchr-tests (Depends-on): Add extensions.
41904         * modules/memchr2-tests (Depends-on): Add extensions.
41905         * modules/memcmp-tests (Depends-on): Add extensions.
41906         * modules/memmem-tests (Depends-on): Add extensions.
41907         * modules/memrchr-tests (Depends-on): Add extensions.
41908
41909 2009-05-13  Bruno Haible  <bruno@clisp.org>
41910
41911         Make some tests ISO C 99 compliant.
41912         * tests/zerosize-ptr.h: New file.
41913         * tests/test-memchr.c: Include zerosize-ptr.h.
41914         (main): Use a zero-size object pointer instead of NULL.
41915         * tests/test-memchr2.c: Include zerosize-ptr.h.
41916         (main): Use a zero-size object pointer instead of NULL.
41917         * tests/test-memcmp.c: Include zerosize-ptr.h.
41918         (main): Use a zero-size object pointer instead of NULL.
41919         * tests/test-memmem.c: Include zerosize-ptr.h.
41920         (main): Use a zero-size object pointer instead of NULL.
41921         * tests/test-memrchr.c: Include zerosize-ptr.h.
41922         (main): Use a zero-size object pointer instead of NULL.
41923         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
41924         m4/mmap-anon.m4.
41925         (Depends-on): Add getpagesize.
41926         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41927         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
41928         m4/mmap-anon.m4.
41929         (Depends-on): Add getpagesize.
41930         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41931         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
41932         m4/mmap-anon.m4.
41933         (Depends-on): Add getpagesize.
41934         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41935         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
41936         m4/mmap-anon.m4.
41937         (Depends-on): Add getpagesize.
41938         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41939         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
41940         m4/mmap-anon.m4.
41941         (Depends-on): Add getpagesize.
41942         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
41943
41944 2009-05-12  Bruno Haible  <bruno@clisp.org>
41945
41946         Tests for module 'alignof'.
41947         * modules/alignof-tests: New file.
41948         * tests/test-alignof.c: New file.
41949
41950 2009-05-12  Bruno Haible  <bruno@clisp.org>
41951
41952         Fix alignof macro.
41953         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
41954         vendor compilers that are always correct.
41955
41956 2009-05-12  Bruno Haible  <bruno@clisp.org>
41957
41958         Make the MAP_ANONYMOUS detection work on HP-UX 11.
41959         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
41960         not whether its fully works.
41961
41962 2009-05-12  Bruno Haible  <bruno@clisp.org>
41963
41964         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41965
41966 2009-05-12  Jim Meyering  <meyering@redhat.com>
41967
41968         * top/maint.mk: Adjust backslash alignment.
41969
41970 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41971
41972         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41973
41974 2009-05-11  Eric Blake  <ebb9@byu.net>
41975
41976         argp: avoid undefined behavior
41977         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41978         macros.
41979
41980 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41981
41982         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41983         user.name to prevent git commit from complaining.
41984
41985 2009-05-10  Bruno Haible  <bruno@clisp.org>
41986
41987         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41988         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41989         it rewrites every file name only once.
41990         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41991
41992 2009-05-08  Bruno Haible  <bruno@clisp.org>
41993
41994         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41995         instead of 'max'.
41996
41997 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41998
41999         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42000         sockaddr_storage test.
42001
42002 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42003
42004         * modules/sys_socket (Makefile.am): Substitute
42005         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42006         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42007         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42008         * tests/test-sys_socket.c: Check sockaddr_storage.
42009
42010 2009-05-08  Bruno Haible  <bruno@clisp.org>
42011
42012         New module 'alignof'.
42013         * lib/alignof.h: New file.
42014         * modules/alignof: New file.
42015
42016 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42017             Bruno Haible  <bruno@clisp.org>
42018
42019         Fix test-file-has-acl on FreeBSD.
42020         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42021         mask is implicitly added.
42022         * tests/test-file-has-acl.c: Include <signal.h>.
42023         (main): Terminate the test after 5 seconds.
42024         * modules/acl-tests (configure.ac): Check for alarm function.
42025
42026 2009-05-04  Bruno Haible  <bruno@clisp.org>
42027
42028         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42029         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42030         * modules/errno (configure.ac): Drop AC_REQUIRE.
42031         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42032         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42033
42034 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42035
42036         * modules/glob-tests: New module.
42037         * tests/test-glob.c: Add.
42038
42039 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42040
42041         * modules/fnmatch-tests: New module.
42042         * tests/test-fnmatch.c: Add.
42043
42044 2009-05-04  Eric Blake  <ebb9@byu.net>
42045
42046         maint: make the new no-submodule-changes rule VPATH-safe
42047         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42048
42049 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42050             Bruno Haible  <bruno@clisp.org>
42051
42052         acl: Fix infinite loop on FreeBSD.
42053         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42054         of return value from acl_get_entry.
42055         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42056         Likewise.
42057
42058 2009-05-03  Bruno Haible  <bruno@clisp.org>
42059
42060         * lib/acl-internal.h (acl_entries): Clarify return value.
42061         * lib/acl_entries.c (acl_entries): Likewise.
42062
42063 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42064
42065         Bug fix in acl module.
42066         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42067
42068 2009-05-03  Bruno Haible  <bruno@clisp.org>
42069
42070         Create gperf-generated file in the source dir, not in the build dir.
42071         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42072         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42073         * modules/unicase/locale-language (unicase/locale-languages.h):
42074         Likewise.
42075         * modules/unicase/special-casing (unicase/special-casing-table.h):
42076         Likewise.
42077         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42078         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42079         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42080         Reported by Ralf Wildenhues.
42081
42082 2009-05-03  Bruno Haible  <bruno@clisp.org>
42083
42084         * modules/fnmatch (Description, configure.ac): Taken from
42085         fnmatch-posix.
42086         * modules/fnmatch-posix: Turn into a symbolic reference to the
42087         'fnmatch' module, and deprecate.
42088         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42089
42090 2009-05-03  Bruno Haible  <bruno@clisp.org>
42091
42092         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42093         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42094         Reported by Ralf Wildenhues.
42095
42096 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42097
42098         * m4/fnmatch.m4: Fix fnmatch re-define.
42099
42100 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42101
42102         priv-set: new module and tests; adapt write-any-file
42103         * lib/priv-set.c: New file.
42104         * lib/priv-set.h: New file.
42105         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42106         * lib/write-any-file.c: Simplify by using priv-set module.
42107         * m4/priv-set.m4: New file.
42108         * modules/priv-set: New file.
42109         * modules/unlinkdir: Add dependency on priv-set module.
42110         * modules/write-any-file: Likewise.
42111
42112         Tests for module 'priv-set'.
42113         * modules/priv-set-tests: New file.
42114         * tests/test-priv-set.c: New file.
42115
42116 2009-05-03  Jim Meyering  <meyering@redhat.com>
42117             Bruno Haible  <bruno@clisp.org>
42118
42119         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42120         use the converted UTF-8 variant of the name instead.
42121
42122 2009-05-03  Jim Meyering  <meyering@redhat.com>
42123
42124         tests: tighten some getdate tests
42125         * tests/test-getdate.c (main): Tighten tests: require equality,
42126         not just greater than.  Set TZ envvar to UTC0.
42127
42128 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42129
42130         getdate: correctly interpret "next monday" when run on a Monday
42131         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42132         that e.g., "next tues" (when run on a tuesday) results in a date
42133         that is one week in the future, and not today's date.
42134         I.e., add a week when the wday is the same as the current one.
42135         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42136         and earlier by Martin Bernreuther and Jan Minář.
42137         * tests/test-getdate.c (main): Check that "next DAY" is always in
42138         the future and that "last DAY" is always in the past.
42139
42140 2009-05-02  Jim Meyering  <meyering@redhat.com>
42141
42142         build: ensure that a release build fails when a submodule is unclean
42143         * top/maint.mk (no-submodule-changes): New rule.
42144         (alpha beta major): Depend on it.
42145
42146 2009-05-02  Bruno Haible  <bruno@clisp.org>
42147
42148         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42149         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42150         shell variable gl_fnmatch_required to detect which variant is
42151         requested.
42152         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42153         gl_FUNC_FNMATCH_POSIX.
42154         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42155         exclude fnmatch-posix.
42156
42157 2009-05-02  Bruno Haible  <bruno@clisp.org>
42158
42159         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42160         * modules/mbsrtowcs (License): Change to LGPLv2+.
42161         * modules/strnlen1 (License): Likewise.
42162         Reported by Simon Josefsson.
42163
42164 2009-05-02  Bruno Haible  <bruno@clisp.org>
42165
42166         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42167         "cross".
42168         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42169         gnulib-tool was called with option --source-base=lib.
42170
42171 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42172
42173         Use automake *-local hooks without commands, for extensibility.
42174         * modules/localcharset (Makefile.am): Rename install-exec-local
42175         rule to install-exec-localcharset, and make it a prerequisite of
42176         install-exec-local.  Likewise, rename the uninstall-local rule to
42177         uninstall-localcharset, and make it a prerequisite of the former.
42178
42179 2009-05-01  Bruno Haible  <bruno@clisp.org>
42180
42181         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42182         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42183         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42185         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42186         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42187         m4/locale-zh.m4, m4/codeset.m4.
42188
42189         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42190         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42191         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42192         m4/locale-zh.m4.
42193
42194         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42195         REPLACE_WCRTOMB if mbstate_t must be replaced.
42196         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42197         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42198
42199 2009-05-01  Bruno Haible  <bruno@clisp.org>
42200
42201         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42202         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42203         dngettext, dcngettext, textdomain, bindtextdomain,
42204         bind_textdomain_codeset): Undefine before redefining.
42205
42206 2009-04-30  Bruno Haible  <bruno@clisp.org>
42207
42208         Fix bug introduced on 2009-04-25.
42209         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42210         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42211         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42212         is defined.
42213         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42214         is defined.
42215         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42216         is defined.
42217         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42218
42219 2009-04-28  Bruno Haible  <bruno@clisp.org>
42220
42221         Comment tweaks.
42222         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42223         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42224         * lib/unicase.h (u*_casexfrm): Likewise.
42225         Reported by Paolo Bonzini.
42226
42227 2009-04-28  Bruno Haible  <bruno@clisp.org>
42228
42229         Fix a compilation error.
42230         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42231         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42232         Reported by Jim Meyering.
42233
42234 2009-04-27  Bruno Haible  <bruno@clisp.org>
42235
42236         New module 'libunistring'.
42237         * modules/libunistring: New file.
42238         * m4/libunistring.m4: New file.
42239         * MODULES.html.sh (Unicode string functions): Add it.
42240
42241 2009-04-27  Eric Blake  <ebb9@byu.net>
42242
42243         maint.mk: allow package-specific header to provide <config.h>
42244         * top/maint.mk (sc_require_config_h): New variable.
42245         (sc_require_config_h, sc_require_config_h_first): Use it.
42246
42247 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42248
42249         * top/maint.mk (sc_avoid_if_before_free): Except
42250         useless-if-before-free script.
42251
42252 2009-04-27  Eric Blake  <ebb9@byu.net>
42253
42254         maintainer-makefile: depend on all required helper scripts
42255         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42256         useless-if-before-free.
42257         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42258         version, rather than assuming gnulib checkout is available.
42259         Reported by Simen Josefsson.
42260
42261 2009-04-26  Bruno Haible  <bruno@clisp.org>
42262
42263         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42264         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42265         "../" or "..".
42266
42267 2009-04-26  Bruno Haible  <bruno@clisp.org>
42268
42269         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42270         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42271         AC_LIB_HAVE_LINKFLAGS.
42272
42273 2009-04-26  Bruno Haible  <bruno@clisp.org>
42274
42275         Simplify calling convention of u*_conv_from_encoding.
42276         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42277         u32_conv_from_encoding): Expect a resultbuf argument and return the
42278         result directly as a pointer.
42279         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42280         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42281         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42282         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42283         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42284         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42285         Update.
42286         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42287         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42288         * lib/vasnprintf.c (VASNPRINTF): Update.
42289         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42290         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42291         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42292         * NEWS: Mention the change.
42293
42294 2009-04-26  Bruno Haible  <bruno@clisp.org>
42295
42296         Simplify calling convention of u*_conv_to_encoding.
42297         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42298         u32_conv_to_encoding): Expect a resultbuf argument and return the
42299         result directly as a pointer.
42300         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42301         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42302         freeing scaled_offsets if mem_iconveha failed.
42303         * lib/unicase/u-casexfrm.h (FUNC): Update.
42304         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42305         * lib/vasnprintf.c (VASNPRINTF): Update.
42306         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42307         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42308         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42309         * NEWS: Mention the change.
42310
42311 2009-04-26  Bruno Haible  <bruno@clisp.org>
42312
42313         Avoid test failures on AIX and OSF/1.
42314         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42315         malloc(0).
42316         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42317         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42318         Likewise.
42319         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42320         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42321         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42322         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42323         * doc/posix-functions/malloc.texi: Document the portability problem
42324         related to malloc(0).
42325
42326 2009-04-26  Bruno Haible  <bruno@clisp.org>
42327
42328         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42329         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42330         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
42331
42332 2009-04-25  Bruno Haible  <bruno@clisp.org>
42333
42334         Avoid link error when creating a namespace clean library.
42335         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
42336         as macro with arguments if already defined as an alias.
42337         * lib/signbitf.c (gl_signbitf): Don't undefine.
42338         * lib/signbitd.c (gl_signbitd): Don't undefine.
42339         * lib/signbitl.c (gl_signbitl): Don't undefine.
42340
42341 2009-04-25  Jim Meyering  <meyering@redhat.com>
42342
42343         vc-list-files: fix another quoting bug
42344         * build-aux/vc-list-files: Avoid sed backslash expansion
42345         of pathological directory names.
42346
42347 2009-04-25  Eric Blake  <ebb9@byu.net>
42348
42349         vc-list-files: fix shell quoting error
42350         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
42351         timestamp.
42352
42353 2009-04-25  Jim Meyering  <meyering@redhat.com>
42354
42355         vc-list-files: restore lost functionality with subdir argument
42356         * build-aux/vc-list-files: When given a non-"." sub-directory
42357         argument, substitute the $dir/ prefix back onto each resulting name.
42358         Otherwise, coreutils' root_tests check would fail.
42359
42360 2009-04-24  Eric Blake  <ebb9@byu.net>
42361
42362         vc-list-files: ignore git symlinks
42363         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
42364         than ls-files, to ignore git symlinks.
42365
42366         maint.mk: import improvements from m4
42367         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
42368         (move_if_change): Delete unused macro.
42369         (news-date-check, vc-diff-check): Support VPATH builds.
42370         (announcement): Likewise.  Split --bootstrap-tools list...
42371         (boostrap-tools): ...into separate list, which can be overridden
42372         in cfg.mk.
42373         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
42374         requiring dependency on useless-if-before-free module.
42375         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
42376         Support VPATH builds.
42377
42378 2009-04-24  Jim Meyering  <meyering@redhat.com>
42379
42380         maint.mk: remove coreutils-specific rules and variables
42381         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
42382         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
42383         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
42384
42385         maint.mk: remove obsolete rule
42386         * top/maint.mk (rel-check): Remove rule.
42387         (WGET, WGETFLAGS): Remove now-unused variables.
42388
42389 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42390
42391         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
42392         consistency.
42393
42394         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
42395         '$(PATH_SEPARATOR)' instead of ':'.
42396
42397 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42398
42399         * lib/getopt1.c (main): Use 'const' for static array.
42400
42401 2009-04-24  Simon Josefsson  <simon@josefsson.org>
42402
42403         * top/maint.mk: Sync with coreutils.
42404         * NEWS: Explain incompatibilities.
42405
42406 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42407             Bruno Haible  <bruno@clisp.org>
42408
42409         Fix cross-compilation results.
42410         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
42411         statement, as third argument of AC_TRY_RUN.
42412         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
42413         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
42414         Likewise.
42415         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
42416         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
42417         Likewise.
42418         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
42419         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
42420         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
42421
42422 2009-04-20  Bruno Haible  <bruno@clisp.org>
42423
42424         Avoid test failure on mingw.
42425         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
42426
42427 2009-04-20  Bruno Haible  <bruno@clisp.org>
42428
42429         Avoid compilation error on mingw.
42430         * modules/localename-tests (Depends-on): Add locale.
42431
42432 2009-04-19  Bruno Haible  <bruno@clisp.org>
42433
42434         Support for building a shared library on Windows platforms.
42435         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
42436         (main): Test the presence of UNINORM_NFC here.
42437         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
42438         (main): Test the presence of UNINORM_NFD here.
42439         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
42440         (main): Test the presence of UNINORM_NFKC here.
42441         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
42442         (main): Test the presence of UNINORM_NFKD here.
42443
42444 2009-04-19  Bruno Haible  <bruno@clisp.org>
42445
42446         Avoid a compiler warning.
42447         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
42448         Change type of variable 'sequence'.
42449
42450 2009-04-19  Bruno Haible  <bruno@clisp.org>
42451
42452         * modules/configmake (Makefile.am): When the contents of configmake.h
42453         does not change, arrange to preserve its modification time.
42454
42455 2009-04-17  Simon Josefsson  <simon@josefsson.org>
42456
42457         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
42458         gettext domain.
42459
42460 2009-04-16  Jim Meyering  <meyering@redhat.com>
42461
42462         useless-if-before-free: improve conversion code
42463         * build-aux/useless-if-before-free: Adjust code-in-comment to match
42464         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
42465
42466 2009-04-14  Bruno Haible  <bruno@clisp.org>
42467
42468         * modules/fcntl (Depends-on): Add extensions.
42469         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
42470
42471 2009-04-12  Ben Pfaff  <blp@gnu.org>
42472
42473         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
42474         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
42475
42476 2009-03-20  Ben Pfaff  <blp@gnu.org>
42477
42478         Make rename replace existing destinations on Windows.
42479         * m4/rename.m4: Add test for Mingw.
42480         * lib/rename.c: Add rename replacement that uses MoveFileEx with
42481         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
42482         * doc/posix-functions/rename.texi: Document.
42483
42484 2009-04-10  Bruno Haible  <bruno@clisp.org>
42485
42486         New include file "iconveh.h".
42487         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
42488         * lib/striconveh.h: Include it.
42489         (enum iconv_ilseq_handler): Remove definition.
42490         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
42491         striconveh.h.
42492         * lib/striconveha.c: Include striconveh.h.
42493         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
42494         * modules/striconveh (Files): Add lib/iconveh.h.
42495         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
42496         lib/striconveh.h.
42497
42498 2009-04-10  Bruno Haible  <bruno@clisp.org>
42499
42500         * lib/uniconv.h: Update comment.
42501
42502 2009-04-10  Bruno Haible  <bruno@clisp.org>
42503
42504         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
42505         always.
42506         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42507         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42508         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42509         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
42510         "unistring-notinline.h", so that the function gets defined always.
42511         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42512         * lib/unistr/u8-uctomb.c: Likewise.
42513         * lib/unistr/u16-mbtouc.c: Likewise.
42514         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42515         * lib/unistr/u16-uctomb.c: Likewise.
42516         * lib/unistr/u32-mbtouc.c: Likewise.
42517         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42518         * lib/unistr/u32-uctomb.c: Likewise.
42519
42520 2009-04-10  Bruno Haible  <bruno@clisp.org>
42521
42522         Mark 'utime' obsolete.
42523         * modules/utime (Status, Notice): New sections.
42524         Suggested by Jim Meyering.
42525
42526         Fix cross-compile guess for utime test.
42527         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
42528         autoconf.
42529         * doc/posix-functions/utime.texi: Give more precisions.
42530         Reported by Jan <ipif@ymail.com>.
42531
42532 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
42533
42534         filevercmp: correct today's change
42535         * lib/filevercmp.c: Also handle coreutils' test inputs.
42536         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
42537
42538         Fix regression in 'filevercmp' module. Thanks Sven Joachim
42539         for reporting it.
42540         * lib/filevercmp.c: Special handle for "", "." and "..".
42541         * tests/test-filevercmp.c: Enlarge the set suite.
42542
42543 2009-04-07  Jim Meyering  <meyering@redhat.com>
42544
42545         useless-if-before-free: show how to remove braced useless free, too
42546         * build-aux/useless-if-before-free: still only in a comment, though.
42547
42548 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
42549
42550         maint.mk: import changes to syntax-check macros from coreutils
42551         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
42552         Use them in the relevant macros.
42553
42554 2009-04-06  Bruno Haible  <bruno@clisp.org>
42555
42556         Fix unportable use of bit-fields.
42557         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
42558         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
42559         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
42560
42561 2009-04-06  Bruno Haible  <bruno@clisp.org>
42562
42563         Avoid test failures on AIX and OSF/1.
42564         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
42565         that malloc(0) = NULL.
42566         * tests/unicase/test-u8-tolower.c (check): Likewise.
42567         * tests/unicase/test-u8-totitle.c (check): Likewise.
42568         * tests/unicase/test-u8-toupper.c (check): Likewise.
42569         * tests/unicase/test-u16-casefold.c (check): Likewise.
42570         * tests/unicase/test-u16-tolower.c (check): Likewise.
42571         * tests/unicase/test-u16-totitle.c (check): Likewise.
42572         * tests/unicase/test-u16-toupper.c (check): Likewise.
42573         * tests/unicase/test-u32-casefold.c (check): Likewise.
42574         * tests/unicase/test-u32-tolower.c (check): Likewise.
42575         * tests/unicase/test-u32-totitle.c (check): Likewise.
42576         * tests/unicase/test-u32-toupper.c (check): Likewise.
42577         * tests/uninorm/test-u8-nfc.c (check): Likewise.
42578         * tests/uninorm/test-u8-nfd.c (check): Likewise.
42579         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
42580         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
42581         * tests/uninorm/test-u16-nfc.c (check): Likewise.
42582         * tests/uninorm/test-u16-nfd.c (check): Likewise.
42583         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
42584         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
42585         * tests/uninorm/test-u32-nfc.c (check): Likewise.
42586         * tests/uninorm/test-u32-nfd.c (check): Likewise.
42587         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
42588         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
42589
42590 2009-04-05  Bruno Haible  <bruno@clisp.org>
42591
42592         Work around an autoconf limitation.
42593         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
42594         comment line if it would be longer than 3 KB.
42595
42596 2009-04-05  Bruno Haible  <bruno@clisp.org>
42597
42598         Avoid test failure with libiconv-1.13.
42599         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
42600         of the expected test results.
42601
42602 2009-04-05  Bruno Haible  <bruno@clisp.org>
42603
42604         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
42605         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
42606         that it should be installed.
42607
42608 2009-04-05  Bruno Haible  <bruno@clisp.org>
42609
42610         * gnulib-tool: New option --copy-file.
42611         (func_usage): Document it.
42612         (func_dest_tmpfilename): Moved out of func_import.
42613         (func_add_file, func_update_file): New functions, extracted from
42614         func_import.
42615         (func_import): Update.
42616
42617 2009-04-05  Karl Berry  <karl@gnu.org>
42618
42619         * README: prominently mention gnulib-tool.
42620         Rearrange sections so getting the code is near the top.
42621
42622 2009-04-05  Bruno Haible  <bruno@clisp.org>
42623
42624         * lib/unicase.h: Mention u*_cmp2.
42625         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42626         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
42627         * lib/unicase/ulc-casecmp.c: Likewise.
42628         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
42629         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
42630         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
42631         unistr/u8-cmp.
42632         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
42633         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
42634         unistr/u16-cmp.
42635         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
42636         unistr/u32-cmp.
42637
42638         * lib/uninorm.h: Mention u*_cmp2.
42639         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
42640         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
42641         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
42642         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
42643         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
42644         unistr/u8-cmp.
42645         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
42646         unistr/u16-cmp.
42647         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
42648         unistr/u32-cmp.
42649
42650         New module 'unistr/u32-cmp2'.
42651         * lib/unistr/u32-cmp2.c: New file.
42652         * modules/unistr/u32-cmp2: New file.
42653
42654         New module 'unistr/u16-cmp2'.
42655         * lib/unistr/u16-cmp2.c: New file.
42656         * modules/unistr/u16-cmp2: New file.
42657
42658         New module 'unistr/u8-cmp2'.
42659         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
42660         * lib/unistr/u8-cmp2.c: New file.
42661         * lib/unistr/u-cmp2.h: New file.
42662         * modules/unistr/u8-cmp2: New file.
42663
42664 2009-04-05  Bruno Haible  <bruno@clisp.org>
42665
42666         * lib/unictype.h (uc_property_is_valid): New macro.
42667         * tests/unictype/test-pr_byname.c (main): Use it.
42668
42669         * lib/unistr.h: Doc fixes.
42670         * lib/uniconv.h: Doc fixes.
42671         * lib/unictype.h: Doc fixes.
42672
42673 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
42674
42675         Port coreutils 7.2 to Solaris 8.
42676
42677         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
42678         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
42679         for Solaris 8.  This is a bit of a hack, as it means it's the
42680         caller's responsibility to add -lnsl if needed, but most likely it
42681         won't be needed since only getaddrinfo uses this and getaddrinfo
42682         isn't needed on Solaris 8.
42683
42684         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
42685         problem to Solaris 8 encountered with coreutils 7.2, which
42686         resulted in a message "fnmatch.c:292: warning: passing argument 4
42687         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
42688         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
42689
42690 2009-04-03  Simon Josefsson  <simon@josefsson.org>
42691
42692         * m4/ld-version-script.m4: Add FIXME comment.
42693
42694 2009-04-02  Simon Josefsson  <simon@josefsson.org>
42695
42696         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
42697         SOVERSION variable.
42698
42699 2009-04-02  Bruno Haible  <bruno@clisp.org>
42700
42701         * Makefile (info, html, dvi, pdf): Combine the rules.
42702         Suggested by Jim Meyering.
42703
42704 2009-04-01  Bruno Haible  <bruno@clisp.org>
42705
42706         * Makefile (info, html, dvi, pdf): New targets.
42707         Reported by Reuben Thomas <rrt@sc3d.org>.
42708
42709 2009-04-01  Bruno Haible  <bruno@clisp.org>
42710
42711         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
42712         can be put into PATH.
42713         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
42714
42715 2009-04-01  Bruno Haible  <bruno@clisp.org>
42716
42717         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
42718
42719 2009-04-01  Bruno Haible  <bruno@clisp.org>
42720
42721         Rename module 'visibility'.
42722         * modules/lib-symbol-visibility: Renamed from modules/visibility.
42723         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
42724         * doc/gnulib.texi: Update.
42725         * MODULES.html.sh (Misc): Update.
42726         * NEWS: Mention the change.
42727
42728 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42729
42730         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
42731         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
42732         Eric Blake <ebb9@byu.net> for review.
42733         * MODULES.html.sh: Add lib-msvc-compat.
42734         * doc/gnulib.texi: Link to new section.
42735         * m4/ld-output-def.m4: New file.
42736         * doc/ld-output-def.texi: New file.
42737
42738 2009-04-01  Simon Josefsson  <simon@josefsson.org>
42739
42740         Rename ld-version-script to lib-symbol-versions.  Suggested by
42741         Bruno Haible <bruno@clisp.org>.
42742         * modules/ld-version-script: Renamed to lib-symbol-versions.
42743         * doc/ld-version-script.texi: Fix module name.
42744         * MODULES.html.sh: Add lib-symbol-versions.
42745
42746 2009-03-31  Simon Josefsson  <simon@josefsson.org>
42747
42748         * modules/u64-tests: New file.
42749         * tests/test-u64.c: New file.
42750
42751 2009-03-04  Simon Josefsson  <simon@josefsson.org>
42752
42753         * MODULES.html.sh: Mention u64.
42754         * modules/u64: New module.
42755         * modules/crypto/sha512: Depend on u64 module instead of providing
42756         u64.h.
42757
42758 2009-03-27  Eric Blake  <ebb9@byu.net>
42759
42760         test-strerror: make debugging EAI_SYSTEM easier
42761         * modules/getaddrinfo-tests (Depends-on): Add strerror.
42762         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
42763         failure was EAI_SYSTEM.
42764
42765 2009-03-25  Bruno Haible  <bruno@clisp.org>
42766
42767         Fix a problem with --enable-relocatable on Solaris 7.
42768         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
42769         since 2008-02-24.
42770
42771 2009-03-25  Eric Blake  <ebb9@byu.net>
42772
42773         test-sockets: avoid gcc warning
42774         * tests/test-sockets.c (main): Silence compiler warning.
42775
42776 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
42777
42778         New modules nproc, pthread, contributed by Glen Lenker.
42779
42780         * MODULES.html.sh: Add pthread, nproc.
42781         * lib/nproc.c: New file.
42782         * lib/nproc.h: New file.
42783         * lib/pthread.in.h: New file.
42784         * m4/pthread.m4: New file.
42785         * modules/nproc: New file.
42786         * modules/pthread: New file.
42787
42788 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42789
42790         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
42791         New variable.
42792
42793 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
42794
42795         filevercmp: handle simple~ and numbered.~3~ backup suffixes
42796         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
42797         * tests/test-filevercmp.c: Add tests for backup suffixes.
42798
42799 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42800
42801         * modules/stdlib (Depends-on): Add stdint, needed when defining
42802         struct random_data on, for example, HP-UX 10.20.  Reported by
42803         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42804
42805 2009-03-24  Simon Josefsson  <simon@josefsson.org>
42806
42807         * lib/readline.c (readline): Call fflush on stdout after printing
42808         prompt.
42809
42810 2009-03-20  Bruno Haible  <bruno@clisp.org>
42811
42812         Remove dependency from 'close' module to -lws2_32 on native Windows.
42813         * lib/close-hook.h: New file.
42814         * lib/close-hook.c: New file.
42815         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
42816         w32sock.h.
42817         (_gl_close_fd_maybe_socket): Remove function.
42818         (rpl_close): Invoke execute_all_close_hooks instead of
42819         _gl_close_fd_maybe_socket.
42820         * lib/sockets.c: Include close-hook.h, w32sock.h.
42821         (close_fd_maybe_socket): New function, essentially from lib/close.c.
42822         (close_sockets_hook): New variable.
42823         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
42824         (gl_sockets_cleanup): Unregister it.
42825         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
42826         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
42827         * modules/close-hook: New file.
42828         * modules/close (Files): Remove lib/w32sock.h.
42829         (Depends-on): Add close-hook.
42830         (Link): Remove section.
42831         * modules/sockets (Files): Add lib/w32sock.h.
42832         (Depends-on): Add close-hook.
42833         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
42834         invocation.
42835         * NEWS: Mention that LIB_CLOSE is gone.
42836
42837 2009-03-23  Eric Blake  <ebb9@byu.net>
42838
42839         signal-tests: test previous patch
42840         * tests/test-signal.c: New file.
42841         * modules/signal-tests: Likewise.
42842
42843         signal.h: always support 'volatile sig_atomic_t'
42844         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
42845         (gl_SIGNAL_H_DEFAULTS): Add a default.
42846         * modules/signal (Makefile.am): Substitute if needed.
42847         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
42848         users can blindly add volatile.
42849         * doc/posix-headers/signal.texi (signal.h): Document it.
42850         Reported by Matthew Woehlke.
42851
42852 2009-03-23  Jim Meyering  <meyering@redhat.com>
42853
42854         pathmax: PATH_MAX: use pathconf only when available
42855         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
42856         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
42857         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
42858         This avoids a link failure in a PSP cross-compilation environment
42859         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
42860
42861         * lib/vasnprintf.c (divide): Fix typo in comment.
42862
42863 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42864
42865         * gnulib-tool (func_filter_filelist): Fix comment.
42866
42867 2009-03-20  Bruno Haible  <bruno@clisp.org>
42868
42869         Make sockets.h self-contained.
42870         * lib/sockets.c: Include sockets.h first.
42871         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
42872
42873 2009-03-19  Eric Blake  <ebb9@byu.net>
42874
42875         doc: mention more functions added in cygwin 1.7.0
42876         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
42877         addition.
42878         * doc/posix-functions/log2f.texi: Likewise.
42879
42880 2009-03-19  Jim Meyering  <meyering@redhat.com>
42881
42882         fsusage: avoid syntax error due to statement-before-declaration
42883         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
42884         after all declarations.  Reported by Matthew Woehlke in
42885         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
42886
42887 2009-03-18  Eric Blake  <ebb9@byu.net>
42888
42889         build-aux/compile: sync from automake
42890         * build-aux/compile: New file, from automake.
42891         * config/srclist.txt: Mention build-aux/compile.
42892
42893 2009-03-17  Bruno Haible  <bruno@clisp.org>
42894
42895         * lib/git-merge-changelog.c: Fix typo in comment.
42896         Reported by Reuben Thomas <rrt@sc3d.org>.
42897
42898 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
42899
42900         * m4/regex.m4: update and improve help for
42901         --without-included-regex.
42902
42903 2009-03-17  Simon Josefsson  <simon@josefsson.org>
42904
42905         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
42906         failure on missing include files.
42907
42908 2009-03-17  Eric Blake  <ebb9@byu.net>
42909
42910         doc: mention more functions added in cygwin 1.7.0
42911         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
42912         addition.
42913         * doc/posix-functions/fwscanf.texi: Likewise.
42914         * doc/posix-functions/swprintf.texi: Likewise.
42915         * doc/posix-functions/swscanf.texi: Likewise.
42916         * doc/posix-functions/vfwprintf.texi: Likewise.
42917         * doc/posix-functions/vfwscanf.texi: Likewise.
42918         * doc/posix-functions/vswprintf.texi: Likewise.
42919         * doc/posix-functions/vswscanf.texi: Likewise.
42920         * doc/posix-functions/vwprintf.texi: Likewise.
42921         * doc/posix-functions/vwscanf.texi: Likewise.
42922         * doc/posix-functions/wcscasecmp.texi: Likewise.
42923         * doc/posix-functions/wcsdup.texi: Likewise.
42924         * doc/posix-functions/wcsftime.texi: Likewise.
42925         * doc/posix-functions/wcsncasecmp.texi: Likewise.
42926         * doc/posix-functions/wprintf.texi: Likewise.
42927         * doc/posix-functions/wscanf.texi: Likewise.
42928         * doc/glibc-functions/gethostbyname2.texi: Likewise.
42929
42930 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42931
42932         maint.mk: really add $(AM_MAKEFLAGS)
42933         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
42934         was inadvertently omitted in the last commit.
42935         Spotted by Bruno Haible.
42936
42937         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
42938         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
42939         $(AM_MAKEFLAGS)' rather than plain `make'.
42940
42941         gnulib-tool: execute $MAKE not make
42942         * gnulib-tool: Default $MAKE to 'make'.
42943         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
42944         than make.  Initialize $MAKE in the do-autobuild script.
42945
42946         gnulib-tool: use $MAKE not make in generated files
42947         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
42948         make, in generated files.  Initialize $MAKE in the do-autobuild
42949         script.
42950
42951         * top/GNUmakefile (_have-git-version-gen): Fix typo.
42952
42953         GNUmakefile: disable parallelism only for multiple, recursive targets
42954         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
42955         additions in the Makefile.
42956         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
42957         by Automake.
42958         (.NOTPARALLEL): Only disable parallel builds if multiple targets
42959         are listed on the command line and at least one of them is
42960         listed in $(ALL_RECURSIVE_TARGETS).
42961
42962 2009-03-14  Bruno Haible  <bruno@clisp.org>
42963
42964         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42965         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42966         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42967         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42968         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42969         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42970         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42971         unistr/u8-uctomb.
42972         * modules/unistr/u8-strchr (Depends-on): Likewise.
42973         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42974         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42975         unistr/u16-uctomb.
42976         * modules/unistr/u16-strchr (Depends-on): Likewise.
42977         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42978
42979 2009-03-12  Bruno Haible  <bruno@clisp.org>
42980
42981         Work around select() bug on Interix 3.5.
42982         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42983         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42984         * m4/select.m4: New file.
42985         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42986         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42987         * modules/select (Files): Add m4/select.m4.
42988         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42989         * modules/nanosleep (Depends-on): Add select.
42990         * modules/poll (Depends-on): Likewise.
42991         * doc/posix-functions/select.texi: Mention the Interix bug.
42992         Reported by Markus Duft <mduft@gentoo.org>.
42993
42994         * lib/select.c: Renamed from lib/winsock-select.c.
42995         * modules/select (Files): Add lib/select.c, remove
42996         lib/winsock-select.c.
42997         (configure.ac): Update.
42998
42999 2009-03-12  Jim Meyering  <meyering@redhat.com>
43000
43001         avoid gcc warnings about unused macro definitions
43002         * lib/readtokens.c (STREQ): Remove unused definition.
43003         * lib/xmalloc.c (SIZE_MAX): Likewise.
43004         * lib/openat-die.c (N_): Likewise.
43005         * lib/mountlist.c (SIZE_MAX): Remove definition.
43006         Instead, include <stdint.h>.
43007         * lib/readutmp.c: Likewise.
43008         * modules/readutmp (Depends-on): Add stdint.
43009         * modules/mountlist (Depends-on): Add stdint.
43010         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43011
43012 2009-03-10  Bruno Haible  <bruno@clisp.org>
43013
43014         Tests for module 'mbmemcasecoll'.
43015         * modules/mbmemcasecoll-tests: New file.
43016         * tests/test-mbmemcasecoll1.sh: New file.
43017         * tests/test-mbmemcasecoll2.sh: New file.
43018         * tests/test-mbmemcasecoll3.sh: New file.
43019         * tests/test-mbmemcasecoll.c: New file.
43020
43021         New module 'mbmemcasecoll'.
43022         * lib/mbmemcasecoll.h: New file.
43023         * lib/mbmemcasecoll.c: New file.
43024         * modules/mbmemcasecoll: New file.
43025
43026         * tests/test-mbmemcasecmp.h: New file, extracted from
43027         tests/test-mbmemcasecmp.c.
43028         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43029         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43030         (main): Update.
43031         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43032
43033 2009-03-09  Bruno Haible  <bruno@clisp.org>
43034
43035         Tests for module 'mbmemcasecmp'.
43036         * modules/mbmemcasecmp-tests: New file.
43037         * tests/test-mbmemcasecmp1.sh: New file.
43038         * tests/test-mbmemcasecmp2.sh: New file.
43039         * tests/test-mbmemcasecmp3.sh: New file.
43040         * tests/test-mbmemcasecmp.c: New file.
43041
43042         New module 'mbmemcasecmp'.
43043         * lib/mbmemcasecmp.h: New file.
43044         * lib/mbmemcasecmp.c: New file.
43045         * modules/mbmemcasecmp: New file.
43046
43047 2009-03-09  Bruno Haible  <bruno@clisp.org>
43048
43049         Tests for module 'unicase/ulc-casecoll'.
43050         * modules/unicase/ulc-casecoll-tests: New file.
43051         * tests/unicase/test-ulc-casecoll1.sh: New file.
43052         * tests/unicase/test-ulc-casecoll2.sh: New file.
43053         * tests/unicase/test-ulc-casecoll.c: New file.
43054
43055         New module 'unicase/ulc-casecoll'.
43056         * lib/unicase.h (ulc_casecoll): New declaration.
43057         * lib/unicase/ulc-casecoll.c: New file.
43058         * modules/unicase/ulc-casecoll: New file.
43059
43060         New module 'unicase/ulc-casexfrm'.
43061         * lib/unicase.h (ulc_casexfrm): New declaration.
43062         * lib/unicase/ulc-casexfrm.c: New file.
43063         * modules/unicase/ulc-casexfrm: New file.
43064
43065 2009-03-09  Bruno Haible  <bruno@clisp.org>
43066
43067         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43068         invocations.
43069
43070         * m4/mbscasecmp.m4: Remove file.
43071         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43072         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43073
43074         * m4/mbscasestr.m4: Remove file.
43075         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43076         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43077
43078         * m4/mbschr.m4: Remove file.
43079         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43080         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43081
43082         * m4/mbscspn.m4: Remove file.
43083         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43084         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43085
43086         * m4/mbslen.m4: Remove file.
43087         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43088         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43089
43090         * m4/mbsncasecmp.m4: Remove file.
43091         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43092         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43093
43094         * m4/mbsnlen.m4: Remove file.
43095         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43096         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43097
43098         * m4/mbspbrk.m4: Remove file.
43099         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43100         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43101
43102         * m4/mbspcasecmp.m4: Remove file.
43103         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43104         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43105
43106         * m4/mbsrchr.m4: Remove file.
43107         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43108         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43109
43110         * m4/mbssep.m4: Remove file.
43111         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43112         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43113
43114         * m4/mbsspn.m4: Remove file.
43115         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43116         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43117
43118         * m4/mbsstr.m4: Remove file.
43119         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43120         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43121
43122         * m4/mbstok_r.m4: Remove file.
43123         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43124         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43125
43126         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43127
43128         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43129         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43130
43131         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43132
43133 2009-03-08  Bruno Haible  <bruno@clisp.org>
43134
43135         Tests for module 'unicase/ulc-casecmp'.
43136         * modules/unicase/ulc-casecmp-tests: New file.
43137         * tests/unicase/test-ulc-casecmp1.sh: New file.
43138         * tests/unicase/test-ulc-casecmp2.sh: New file.
43139         * tests/unicase/test-ulc-casecmp.c: New file.
43140
43141         New module 'unicase/ulc-casecmp'.
43142         * lib/unicase.h (ulc_casecmp): New declaration.
43143         * lib/unicase/ulc-casecmp.c: New file.
43144         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43145         'const SRC_UNIT *'.
43146         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43147         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43148         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43149         * modules/unicase/ulc-casecmp: New file.
43150
43151         Tests for module 'unicase/u32-is-cased'.
43152         * modules/unicase/u32-is-cased-tests: New file.
43153         * tests/unicase/test-u32-is-cased.c: New file.
43154
43155         Tests for module 'unicase/u16-is-cased'.
43156         * modules/unicase/u16-is-cased-tests: New file.
43157         * tests/unicase/test-u16-is-cased.c: New file.
43158
43159         Tests for module 'unicase/u8-is-cased'.
43160         * modules/unicase/u8-is-cased-tests: New file.
43161         * tests/unicase/test-u8-is-cased.c: New file.
43162         * tests/unicase/test-is-cased.h: New file.
43163
43164         New module 'unicase/u32-is-cased'.
43165         * lib/unicase/u32-is-cased.c: New file.
43166         * modules/unicase/u32-is-cased: New file.
43167
43168         New module 'unicase/u16-is-cased'.
43169         * lib/unicase/u16-is-cased.c: New file.
43170         * modules/unicase/u16-is-cased: New file.
43171
43172         New module 'unicase/u8-is-cased'.
43173         * lib/unicase/u8-is-cased.c: New file.
43174         * lib/unicase/u-is-cased.h: New file.
43175         * modules/unicase/u8-is-cased: New file.
43176
43177         Tests for module 'unicase/u32-is-casefolded'.
43178         * modules/unicase/u32-is-casefolded-tests: New file.
43179         * tests/unicase/test-u32-is-casefolded.c: New file.
43180
43181         Tests for module 'unicase/u16-is-casefolded'.
43182         * modules/unicase/u16-is-casefolded-tests: New file.
43183         * tests/unicase/test-u16-is-casefolded.c: New file.
43184
43185         Tests for module 'unicase/u8-is-casefolded'.
43186         * modules/unicase/u8-is-casefolded-tests: New file.
43187         * tests/unicase/test-u8-is-casefolded.c: New file.
43188         * tests/unicase/test-is-casefolded.h: New file.
43189
43190         New module 'unicase/u32-is-casefolded'.
43191         * lib/unicase/u32-is-casefolded.c: New file.
43192         * modules/unicase/u32-is-casefolded: New file.
43193
43194         New module 'unicase/u16-is-casefolded'.
43195         * lib/unicase/u16-is-casefolded.c: New file.
43196         * modules/unicase/u16-is-casefolded: New file.
43197
43198         New module 'unicase/u8-is-casefolded'.
43199         * lib/unicase/u8-is-casefolded.c: New file.
43200         * modules/unicase/u8-is-casefolded: New file.
43201
43202         Tests for module 'unicase/u32-is-titlecase'.
43203         * modules/unicase/u32-is-titlecase-tests: New file.
43204         * tests/unicase/test-u32-is-titlecase.c: New file.
43205
43206         Tests for module 'unicase/u16-is-titlecase'.
43207         * modules/unicase/u16-is-titlecase-tests: New file.
43208         * tests/unicase/test-u16-is-titlecase.c: New file.
43209
43210         Tests for module 'unicase/u8-is-titlecase'.
43211         * modules/unicase/u8-is-titlecase-tests: New file.
43212         * tests/unicase/test-u8-is-titlecase.c: New file.
43213         * tests/unicase/test-is-titlecase.h: New file.
43214
43215         New module 'unicase/u32-is-titlecase'.
43216         * lib/unicase/u32-is-titlecase.c: New file.
43217         * modules/unicase/u32-is-titlecase: New file.
43218
43219         New module 'unicase/u16-is-titlecase'.
43220         * lib/unicase/u16-is-titlecase.c: New file.
43221         * modules/unicase/u16-is-titlecase: New file.
43222
43223         New module 'unicase/u8-is-titlecase'.
43224         * lib/unicase/u8-is-titlecase.c: New file.
43225         * modules/unicase/u8-is-titlecase: New file.
43226
43227         Tests for module 'unicase/u32-is-lowercase'.
43228         * modules/unicase/u32-is-lowercase-tests: New file.
43229         * tests/unicase/test-u32-is-lowercase.c: New file.
43230
43231         Tests for module 'unicase/u16-is-lowercase'.
43232         * modules/unicase/u16-is-lowercase-tests: New file.
43233         * tests/unicase/test-u16-is-lowercase.c: New file.
43234
43235         Tests for module 'unicase/u8-is-lowercase'.
43236         * modules/unicase/u8-is-lowercase-tests: New file.
43237         * tests/unicase/test-u8-is-lowercase.c: New file.
43238         * tests/unicase/test-is-lowercase.h: New file.
43239
43240         New module 'unicase/u32-is-lowercase'.
43241         * lib/unicase/u32-is-lowercase.c: New file.
43242         * modules/unicase/u32-is-lowercase: New file.
43243
43244         New module 'unicase/u16-is-lowercase'.
43245         * lib/unicase/u16-is-lowercase.c: New file.
43246         * modules/unicase/u16-is-lowercase: New file.
43247
43248         New module 'unicase/u8-is-lowercase'.
43249         * lib/unicase/u8-is-lowercase.c: New file.
43250         * modules/unicase/u8-is-lowercase: New file.
43251
43252         Tests for module 'unicase/u32-is-uppercase'.
43253         * modules/unicase/u32-is-uppercase-tests: New file.
43254         * tests/unicase/test-u32-is-uppercase.c: New file.
43255
43256         Tests for module 'unicase/u16-is-uppercase'.
43257         * modules/unicase/u16-is-uppercase-tests: New file.
43258         * tests/unicase/test-u16-is-uppercase.c: New file.
43259
43260         Tests for module 'unicase/u8-is-uppercase'.
43261         * modules/unicase/u8-is-uppercase-tests: New file.
43262         * tests/unicase/test-u8-is-uppercase.c: New file.
43263         * tests/unicase/test-is-uppercase.h: New file.
43264
43265         New module 'unicase/u32-is-uppercase'.
43266         * lib/unicase/u32-is-uppercase.c: New file.
43267         * modules/unicase/u32-is-uppercase: New file.
43268
43269         New module 'unicase/u16-is-uppercase'.
43270         * lib/unicase/u16-is-uppercase.c: New file.
43271         * modules/unicase/u16-is-uppercase: New file.
43272
43273         New module 'unicase/u8-is-uppercase'.
43274         * lib/unicase/u8-is-uppercase.c: New file.
43275         * modules/unicase/u8-is-uppercase: New file.
43276
43277         New module 'unicase/u32-is-invariant'.
43278         * lib/unicase/u32-is-invariant.c: New file.
43279         * modules/unicase/u32-is-invariant: New file.
43280
43281         New module 'unicase/u16-is-invariant'.
43282         * lib/unicase/u16-is-invariant.c: New file.
43283         * modules/unicase/u16-is-invariant: New file.
43284
43285         New module 'unicase/u8-is-invariant'.
43286         * lib/unicase/u8-is-invariant.c: New file.
43287         * lib/unicase/invariant.h: New file.
43288         * lib/unicase/u-is-invariant.h: New file.
43289         * modules/unicase/u8-is-invariant: New file.
43290
43291         Tests for module 'unicase/u32-casecoll'.
43292         * modules/unicase/u32-casecoll-tests: New file.
43293         * tests/unicase/test-u32-casecoll.c: New file.
43294
43295         Tests for module 'unicase/u16-casecoll'.
43296         * modules/unicase/u16-casecoll-tests: New file.
43297         * tests/unicase/test-u16-casecoll.c: New file.
43298
43299         Tests for module 'unicase/u8-casecoll'.
43300         * modules/unicase/u8-casecoll-tests: New file.
43301         * tests/unicase/test-u8-casecoll.c: New file.
43302
43303         New module 'unicase/u32-casecoll'.
43304         * lib/unicase/u32-casecoll.c: New file.
43305         * modules/unicase/u32-casecoll: New file.
43306
43307         New module 'unicase/u16-casecoll'.
43308         * lib/unicase/u16-casecoll.c: New file.
43309         * modules/unicase/u16-casecoll: New file.
43310
43311         New module 'unicase/u8-casecoll'.
43312         * lib/unicase/u8-casecoll.c: New file.
43313         * lib/unicase/u-casecoll.h: New file.
43314         * modules/unicase/u8-casecoll: New file.
43315
43316         New module 'unicase/u32-casexfrm'.
43317         * lib/unicase/u32-casexfrm.c: New file.
43318         * modules/unicase/u32-casexfrm: New file.
43319
43320         New module 'unicase/u16-casexfrm'.
43321         * lib/unicase/u16-casexfrm.c: New file.
43322         * modules/unicase/u16-casexfrm: New file.
43323
43324         New module 'unicase/u8-casexfrm'.
43325         * lib/unicase/u8-casexfrm.c: New file.
43326         * lib/unicase/u-casexfrm.h: New file.
43327         * modules/unicase/u8-casexfrm: New file.
43328
43329         Tests for module 'unicase/u32-casecmp'.
43330         * modules/unicase/u32-casecmp-tests: New file.
43331         * tests/unicase/test-u32-casecmp.c: New file.
43332
43333         Tests for module 'unicase/u16-casecmp'.
43334         * modules/unicase/u16-casecmp-tests: New file.
43335         * tests/unicase/test-u16-casecmp.c: New file.
43336
43337         Tests for module 'unicase/u8-casecmp'.
43338         * modules/unicase/u8-casecmp-tests: New file.
43339         * tests/unicase/test-u8-casecmp.c: New file.
43340         * tests/unicase/test-casecmp.h: New file.
43341
43342         New module 'unicase/u32-casecmp'.
43343         * lib/unicase/u32-casecmp.c: New file.
43344         * modules/unicase/u32-casecmp: New file.
43345
43346         New module 'unicase/u16-casecmp'.
43347         * lib/unicase/u16-casecmp.c: New file.
43348         * modules/unicase/u16-casecmp: New file.
43349
43350         New module 'unicase/u8-casecmp'.
43351         * lib/unicase/u8-casecmp.c: New file.
43352         * lib/unicase/u-casecmp.h: New file.
43353         * modules/unicase/u8-casecmp: New file.
43354
43355         Tests for module 'unicase/u32-casefold'.
43356         * modules/unicase/u32-casefold-tests: New file.
43357         * tests/unicase/test-u32-casefold.c: New file.
43358
43359         Tests for module 'unicase/u16-casefold'.
43360         * modules/unicase/u16-casefold-tests: New file.
43361         * tests/unicase/test-u16-casefold.c: New file.
43362
43363         Tests for module 'unicase/u8-casefold'.
43364         * modules/unicase/u8-casefold-tests: New file.
43365         * tests/unicase/test-u8-casefold.c: New file.
43366
43367         New module 'unicase/u32-casefold'.
43368         * lib/unicase/u32-casefold.c: New file.
43369         * modules/unicase/u32-casefold: New file.
43370
43371         New module 'unicase/u16-casefold'.
43372         * lib/unicase/u16-casefold.c: New file.
43373         * modules/unicase/u16-casefold: New file.
43374
43375         New module 'unicase/u8-casefold'.
43376         * lib/unicase/u8-casefold.c: New file.
43377         * lib/unicase/u-casefold.h: New file.
43378         * modules/unicase/u8-casefold: New file.
43379
43380         New module 'unicase/tocasefold'.
43381         * lib/unicase/casefold.h: New file.
43382         * lib/unicase/tocasefold.c: New file.
43383         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
43384         * modules/unicase/tocasefold: New file.
43385
43386         Tests for module 'unicase/u32-totitle'.
43387         * modules/unicase/u32-totitle-tests: New file.
43388         * tests/unicase/test-u32-totitle.c: New file.
43389
43390         Tests for module 'unicase/u16-totitle'.
43391         * modules/unicase/u16-totitle-tests: New file.
43392         * tests/unicase/test-u16-totitle.c: New file.
43393
43394         Tests for module 'unicase/u8-totitle'.
43395         * modules/unicase/u8-totitle-tests: New file.
43396         * tests/unicase/test-u8-totitle.c: New file.
43397
43398         New module 'unicase/u32-totitle'.
43399         * lib/unicase/u32-totitle.c: New file.
43400         * modules/unicase/u32-totitle: New file.
43401
43402         New module 'unicase/u16-totitle'.
43403         * lib/unicase/u16-totitle.c: New file.
43404         * modules/unicase/u16-totitle: New file.
43405
43406         New module 'unicase/u8-totitle'.
43407         * lib/unicase/u8-totitle.c: New file.
43408         * lib/unicase/u-totitle.h: New file.
43409         * modules/unicase/u8-totitle: New file.
43410
43411         Tests for module 'unicase/u32-tolower'.
43412         * modules/unicase/u32-tolower-tests: New file.
43413         * tests/unicase/test-u32-tolower.c: New file.
43414
43415         Tests for module 'unicase/u16-tolower'.
43416         * modules/unicase/u16-tolower-tests: New file.
43417         * tests/unicase/test-u16-tolower.c: New file.
43418
43419         Tests for module 'unicase/u8-tolower'.
43420         * modules/unicase/u8-tolower-tests: New file.
43421         * tests/unicase/test-u8-tolower.c: New file.
43422
43423         New module 'unicase/u32-tolower'.
43424         * lib/unicase/u32-tolower.c: New file.
43425         * modules/unicase/u32-tolower: New file.
43426
43427         New module 'unicase/u16-tolower'.
43428         * lib/unicase/u16-tolower.c: New file.
43429         * modules/unicase/u16-tolower: New file.
43430
43431         New module 'unicase/u8-tolower'.
43432         * lib/unicase/u8-tolower.c: New file.
43433         * modules/unicase/u8-tolower: New file.
43434
43435         Tests for module 'unicase/u32-toupper'.
43436         * modules/unicase/u32-toupper-tests: New file.
43437         * tests/unicase/test-u32-toupper.c: New file.
43438
43439         Tests for module 'unicase/u16-toupper'.
43440         * modules/unicase/u16-toupper-tests: New file.
43441         * tests/unicase/test-u16-toupper.c: New file.
43442
43443         Tests for module 'unicase/u8-toupper'.
43444         * modules/unicase/u8-toupper-tests: New file.
43445         * tests/unicase/test-u8-toupper.c: New file.
43446
43447         New module 'unicase/u32-toupper'.
43448         * lib/unicase/u32-toupper.c: New file.
43449         * modules/unicase/u32-toupper: New file.
43450
43451         New module 'unicase/u16-toupper'.
43452         * lib/unicase/u16-toupper.c: New file.
43453         * modules/unicase/u16-toupper: New file.
43454
43455         New module 'unicase/u8-toupper'.
43456         * lib/unicase/u8-toupper.c: New file.
43457         * modules/unicase/u8-toupper: New file.
43458
43459         New module 'unicase/u32-casemap'.
43460         * lib/unicase/u32-casemap.c: New file.
43461         * modules/unicase/u32-casemap: New file.
43462
43463         New module 'unicase/u16-casemap'.
43464         * lib/unicase/u16-casemap.c: New file.
43465         * modules/unicase/u16-casemap: New file.
43466
43467         New module 'unicase/u8-casemap'.
43468         * lib/unicase/unicasemap.h: New file.
43469         * lib/unicase/u8-casemap.c: New file.
43470         * lib/unicase/u-casemap.h: New file.
43471         * modules/unicase/u8-casemap: New file.
43472
43473         New module 'unicase/special-casing'.
43474         * lib/unicase/special-casing.h: New file.
43475         * lib/unicase/special-casing.c: New file.
43476         * lib/unicase/special-casing-table.gperf: New file, generated by
43477         gen-uni-tables.c.
43478         * modules/unicase/special-casing: New file.
43479
43480         Tests for module 'unicase/locale-language'.
43481         * modules/unicase/locale-language-tests: New file.
43482         * tests/unicase/test-locale-language.sh: New file.
43483         * tests/unicase/test-locale-language.c: New file.
43484
43485         New module 'unicase/locale-language'.
43486         * lib/unicase/locale-language.c: New file.
43487         * lib/unicase/locale-languages.gperf: New file.
43488         * modules/unicase/locale-language: New file.
43489
43490         Generate more tables for case conversion and case folding.
43491         * lib/gen-uni-tables.c (SCC_*): New enum items.
43492         (struct special_casing_rule): New type.
43493         (casing_rules, num_casing_rules, allocated_casing_rules): New
43494         variables.
43495         (add_casing_rule, fill_casing_rules): New functions.
43496         (struct casefold_rule): New type.
43497         (casefolding_rules, num_casefolding_rules,
43498         allocated_casefolding_rules): New variables.
43499         (fill_casefolding_rules): New function.
43500         (unicode_casefold): New variable.
43501         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
43502         sort_casing_rules, output_casing_rules): New functions.
43503         (main): Accept to more arguments: SpecialCasing.txt and
43504         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
43505         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
43506         Output mapping for casefolding.
43507
43508         * lib/unicase.h: Include stdbool.h, uninorm.h.
43509         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
43510         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
43511         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
43512         arguments.
43513         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
43514         resultp arguments.
43515         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
43516         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
43517         resultp arguments.
43518         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
43519         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
43520         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
43521         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
43522         declarations.
43523         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
43524
43525 2009-03-08  Bruno Haible  <bruno@clisp.org>
43526
43527         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43528         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
43529         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
43530         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43531
43532 2009-03-07  Bruno Haible  <bruno@clisp.org>
43533
43534         Adjust u*_normcmp, u*_normcoll API.
43535         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
43536         u16_normcoll, u32_normcoll): Change failure conventions.
43537         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
43538         errno and return -1.
43539         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
43540
43541 2009-03-07  Bruno Haible  <bruno@clisp.org>
43542
43543         Tests for module 'uninorm/u32-normcoll'.
43544         * modules/uninorm/u32-normcoll-tests: New file.
43545         * tests/uninorm/test-u32-normcoll.c: New file.
43546
43547         Tests for module 'uninorm/u16-normcoll'.
43548         * modules/uninorm/u16-normcoll-tests: New file.
43549         * tests/uninorm/test-u16-normcoll.c: New file.
43550
43551         Tests for module 'uninorm/u8-normcoll'.
43552         * modules/uninorm/u8-normcoll-tests: New file.
43553         * tests/uninorm/test-u8-normcoll.c: New file.
43554
43555 2009-03-07  Bruno Haible  <bruno@clisp.org>
43556
43557         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
43558         tests/uninorm/test-u32-normcmp.c.
43559         * tests/uninorm/test-u32-normcmp.c: Include it.
43560         (test_nonascii): New function, extracted from main. Add some more
43561         tests.
43562         (main): Invoke test_ascii and test_nonascii.
43563         * modules/uninorm/u32-normcmp-tests (Files): Add
43564         tests/uninorm/test-u32-normcmp.h.
43565         (Depends-on): Remove uninorm/u32-normcmp.
43566
43567         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
43568         tests/uninorm/test-u16-normcmp.c.
43569         * tests/uninorm/test-u16-normcmp.c: Include it.
43570         (test_nonascii): New function, extracted from main. Add some more
43571         tests.
43572         (main): Invoke test_ascii and test_nonascii.
43573         * modules/uninorm/u16-normcmp-tests (Files): Add
43574         tests/uninorm/test-u16-normcmp.h.
43575         (Depends-on): Remove uninorm/u16-normcmp.
43576
43577         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
43578         tests/uninorm/test-u8-normcmp.c.
43579         * tests/uninorm/test-u8-normcmp.c: Include it.
43580         (test_nonascii): New function, extracted from main. Add some more
43581         tests.
43582         (main): Invoke test_ascii and test_nonascii.
43583         * modules/uninorm/u8-normcmp-tests (Files): Add
43584         tests/uninorm/test-u8-normcmp.h.
43585         (Depends-on): Remove uninorm/u8-normcmp.
43586
43587 2009-03-07  Bruno Haible  <bruno@clisp.org>
43588
43589         New module 'uninorm/u32-normcoll'.
43590         * lib/uninorm/u32-normcoll.c: New file.
43591         * modules/uninorm/u32-normcoll: New file.
43592
43593         New module 'uninorm/u16-normcoll'.
43594         * lib/uninorm/u16-normcoll.c: New file.
43595         * modules/uninorm/u16-normcoll: New file.
43596
43597         New module 'uninorm/u8-normcoll'.
43598         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
43599         declarations.
43600         * lib/uninorm/u8-normcoll.c: New file.
43601         * lib/uninorm/u-normcoll.h: New file.
43602         * modules/uninorm/u8-normcoll: New file.
43603
43604         New module 'uninorm/u32-normxfrm'.
43605         * lib/uninorm/u32-normxfrm.c: New file.
43606         * modules/uninorm/u32-normxfrm: New file.
43607
43608         New module 'uninorm/u16-normxfrm'.
43609         * lib/uninorm/u16-normxfrm.c: New file.
43610         * modules/uninorm/u16-normxfrm: New file.
43611
43612         New module 'uninorm/u8-normxfrm'.
43613         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
43614         declarations.
43615         * lib/uninorm/u8-normxfrm.c: New file.
43616         * lib/uninorm/u-normxfrm.h: New file.
43617         * modules/uninorm/u8-normxfrm: New file.
43618
43619 2009-03-07  Bruno Haible  <bruno@clisp.org>
43620
43621         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
43622         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
43623         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
43624
43625 2009-03-07  Bruno Haible  <bruno@clisp.org>
43626
43627         New module 'memxfrm'.
43628         * lib/memxfrm.h: New file.
43629         * lib/memxfrm.c: New file.
43630         * modules/memxfrm: New file.
43631
43632 2009-03-07  Bruno Haible  <bruno@clisp.org>
43633
43634         New module 'memcmp2'.
43635         * lib/memcmp2.h: New file.
43636         * lib/memcmp2.c: New file.
43637         * modules/memcmp2: New file.
43638
43639 2009-03-07  Bruno Haible  <bruno@clisp.org>
43640
43641         Tests for module 'uninorm/decomposing-form'.
43642         * modules/uninorm/decomposing-form-tests: New file.
43643         * tests/uninorm/test-decomposing-form.c: New file.
43644
43645         New module 'uninorm/decomposing-form'.
43646         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
43647         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
43648         Add 'decomposing_variant' field.
43649         * lib/uninorm/decomposing-form.c: New file.
43650         * lib/uninorm/nfc.c (uninorm_nfc): Update.
43651         * lib/uninorm/nfd.c (uninorm_nfd): Update.
43652         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
43653         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
43654         * modules/uninorm/decomposing-form: New file.
43655         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
43656         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
43657
43658 2009-03-07  Bruno Haible  <bruno@clisp.org>
43659
43660         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
43661         strings.
43662
43663 2009-03-06  Bruno Haible  <bruno@clisp.org>
43664
43665         Tests for module 'uninorm/u32-normcmp'.
43666         * tests/uninorm/test-u32-normcmp.c: New file.
43667         * modules/uninorm/u32-normcmp-tests: New file.
43668
43669         Tests for module 'uninorm/u16-normcmp'.
43670         * tests/uninorm/test-u16-normcmp.c: New file.
43671         * modules/uninorm/u16-normcmp-tests: New file.
43672
43673         Tests for module 'uninorm/u8-normcmp'.
43674         * tests/uninorm/test-u8-normcmp.c: New file.
43675         * modules/uninorm/u8-normcmp-tests: New file.
43676
43677         New module 'uninorm/u32-normcmp'.
43678         * lib/uninorm/u32-normcmp.c: New file.
43679         * modules/uninorm/u32-normcmp: New file.
43680
43681         New module 'uninorm/u16-normcmp'.
43682         * lib/uninorm/u16-normcmp.c: New file.
43683         * modules/uninorm/u16-normcmp: New file.
43684
43685         New module 'uninorm/u8-normcmp'.
43686         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
43687         declarations.
43688         * lib/uninorm/u8-normcmp.c: New file.
43689         * lib/uninorm/u-normcmp.h: New file.
43690         * modules/uninorm/u8-normcmp: New file.
43691
43692 2009-03-06  Bruno Haible  <bruno@clisp.org>
43693
43694         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
43695         Reported by Eric Blake.
43696
43697 2009-03-06  Eric Blake  <ebb9@byu.net>
43698             Bruno Haible  <bruno@clisp.org>
43699
43700         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
43701         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
43702         condition.
43703         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43704         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
43705         condition.
43706         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
43707
43708 2009-03-06  Eric Blake  <ebb9@byu.net>
43709
43710         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
43711         to avoid compiler warnings.
43712         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
43713
43714 2009-03-05  Bruno Haible  <bruno@clisp.org>
43715
43716         * tests/test-ftell.c (main): Disable test beyond end of file on
43717         FreeMiNT.
43718         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43719
43720 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
43721
43722         * lib/filevercmp.c: Move hidden files up in ordering.
43723         * tests/test-filevercmp.c: Add tests for hidden files.
43724
43725 2009-03-04  Bruno Haible  <bruno@clisp.org>
43726
43727         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
43728         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
43729         AM_CFLAGS.
43730         Reported by Simon Josefsson.
43731
43732 2009-03-03  Bruno Haible  <bruno@clisp.org>
43733
43734         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
43735         Reported by Simon Josefsson.
43736
43737         * doc/ld-version-script.texi: Update node reference.
43738
43739 2009-03-03  Bruno Haible  <bruno@clisp.org>
43740
43741         * modules/visibility (License): Change to 'unlimited'.
43742         Suggested by Simon Josefsson.
43743
43744 2009-03-03  Jim Meyering  <meyering@redhat.com>
43745
43746         unlinkdir: cannot_unlink_dir may modify process state
43747         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
43748         it's neither thread-safe nor appropriate for use in a library.
43749
43750 2009-03-03  Eric Blake  <ebb9@byu.net>
43751
43752         test-closein: silence test under Darwin
43753         * tests/test-closein.sh: Ignore stderr from cat, since we don't
43754         care if it dies from EPIPE or EBADF.
43755
43756 2009-03-03  Bruno Haible  <bruno@clisp.org>
43757
43758         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
43759         earlier.
43760         * doc/visibility.texi: Fix @node and @section.
43761
43762 2009-03-03  Simon Josefsson  <simon@josefsson.org>
43763
43764         * doc/gnulib.texi: Link to sections for ld version script and
43765         visibility.
43766         * doc/visibility.texi: Add @node and @section.
43767         * modules/ld-version-script: New module.
43768         * m4/ld-version-script.m4: New file.
43769         * doc/ld-version-script.texi: New file.
43770
43771 2009-03-02  David Lutterkort  <lutter@redhat.com>
43772
43773         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
43774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43775
43776 2009-03-02  Bruno Haible  <bruno@clisp.org>
43777
43778         * doc/visibility.texi: Mention libtool's -export-symbols option.
43779
43780 2009-03-02  Jim Meyering  <meyering@redhat.com>
43781
43782         announce-gen: new option: --no-print-checksums
43783         * build-aux/announce-gen (usage): Describe it.
43784         (print_checksums): Print a newline here, not in the [*] footnote.
43785         (main): Honor it.
43786
43787 2009-03-01  Bruno Haible  <bruno@clisp.org>
43788
43789         Use socklen_t in the native Windows replacements prototypes.
43790         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
43791         instead of 'int'.
43792         * lib/getsockopt.c (rpl_getsockopt): Likewise.
43793         * lib/setsockopt.c (rpl_setsockopt): Likewise.
43794         * modules/getsockopt (Depends-on): Add socklen.
43795         * modules/setsockopt (Depends-on): Add socklen.
43796
43797 2009-03-01  Bruno Haible  <bruno@clisp.org>
43798
43799         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
43800         least 4.2.
43801
43802 2009-03-01  Eric Blake  <ebb9@byu.net>
43803             Bruno Haible  <bruno@clisp.org>
43804
43805         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
43806         error messages.
43807         * lib/wait-process.c (wait_subprocess): Omit error message about
43808         deadly signal sent to the child of termsigp != NULL.
43809
43810 2009-03-01  Eric Blake  <ebb9@byu.net>
43811
43812         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
43813
43814 2009-03-01  Bruno Haible  <bruno@clisp.org>
43815
43816         Avoid a gcc warning.
43817         * tests/test-sched.c (b): Make global.
43818         Reported by Eric Blake.
43819
43820 2009-01-19  Martin Lambers  <marlam@marlam.de>
43821
43822         Provide POSIX semantics for socket timeout options on W32.
43823         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
43824         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
43825         * modules/setsockopt: Depend on sys_time module for struct timeval.
43826         * modules/getsockopt: Depend on sys_time module for struct timeval.
43827
43828 2009-03-01  Simon Josefsson  <simon@josefsson.org>
43829
43830         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
43831         __USE_GNU, for consistency with netdb.in.h.
43832         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43833
43834 2009-03-01  Bruno Haible  <bruno@clisp.org>
43835
43836         More support for FreeMiNT.
43837         * lib/fseeko.c (rpl_fseeko): Complete last commit.
43838         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43839
43840 2009-03-01  Bruno Haible  <bruno@clisp.org>
43841
43842         More support for FreeMiNT.
43843         * lib/fpurge.c (fpurge): Correct last commit.
43844         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43845
43846 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43847
43848         Fix unportable awk script in vc-list-files.
43849         * build-aux/vc-list-files: In the replacement awk script, use
43850         substr with a second argument of 1, not zero.
43851         Report by Simon Josefsson.
43852
43853 2009-02-28  Bruno Haible  <bruno@clisp.org>
43854
43855         More support for FreeMiNT.
43856         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
43857         to FreeMiNT today.
43858         * lib/fwriting.c (fwriting): Likewise.
43859         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
43860
43861 2009-02-28  Bruno Haible  <bruno@clisp.org>
43862
43863         * tests/test-freadseek.c (main): Disable test beyond end of file on
43864         FreeMiNT.
43865         * tests/test-ftello.c (main): Likewise.
43866         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
43867
43868 2009-02-28  Bruno Haible  <bruno@clisp.org>
43869
43870         Add tentative support for FreeMiNT.
43871         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
43872         * lib/fpurge.c (fpurge): Likewise.
43873         * lib/freadable.c (freadable): Likewise.
43874         * lib/freading.c (freading): Likewise.
43875         * lib/freadptr.c (freadptr): Likewise.
43876         * lib/freadseek.c (freadptrinc): Likewise.
43877         * lib/fseeko.c (rpl_fseeko): Likewise.
43878         * lib/fseterr.c (fseterr): Likewise.
43879         * lib/fwritable.c (fwritable): Likewise.
43880         * lib/fwriting.c (fwriting): Likewise.
43881         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
43882         Hourihane.
43883         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43884
43885 2009-02-28  Bruno Haible  <bruno@clisp.org>
43886
43887         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
43888         SIGCHLD.
43889         Reported by Jim Meyering.
43890
43891 2009-02-28  Bruno Haible  <bruno@clisp.org>
43892
43893         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
43894         Mention the results of these tests on various platforms.
43895         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
43896         order.
43897         * doc/posix-functions/printf.texi: Likewise.
43898         * doc/posix-functions/snprintf.texi: Likewise.
43899         * doc/posix-functions/sprintf.texi: Likewise.
43900         * doc/posix-functions/vfprintf.texi: Likewise.
43901         * doc/posix-functions/vprintf.texi: Likewise.
43902         * doc/posix-functions/vsnprintf.texi: Likewise.
43903         * doc/posix-functions/vsprintf.texi: Likewise.
43904         * doc/glibc-functions/obstack_printf.texi: Likewise.
43905         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
43906
43907 2009-02-28  Bruno Haible  <bruno@clisp.org>
43908
43909         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
43910         Reported by Loïc Minier <lool@dooz.org>.
43911
43912 2009-02-27  Bruno Haible  <bruno@clisp.org>
43913
43914         * gnulib-tool (func_import): Make the sed expression used to create the
43915         sed script for updating the .gitignore file POSIX compliant.
43916         Reported by Eric Blake.
43917
43918 2009-02-27  Bruno Haible  <bruno@clisp.org>
43919
43920         * gnulib-tool (sed): Don't alias as "sed --posix".
43921         Reported by Eric Blake.
43922
43923 2009-02-27  Bruno Haible  <bruno@clisp.org>
43924
43925         Avoid test link errors.
43926         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
43927         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
43928         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
43929         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
43930         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43931
43932 2009-02-27  Bruno Haible  <bruno@clisp.org>
43933
43934         Avoid spurious "(cached)" in configure output.
43935         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
43936         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
43937         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43938         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43939         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43940         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
43941         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43942         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
43943         Reported by Eric Blake.
43944
43945 2009-02-27  Eric Blake  <ebb9@byu.net>
43946
43947         printf: fix regression in previous patch
43948         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
43949
43950 2009-02-27  Bruno Haible  <bruno@clisp.org>
43951
43952         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
43953         value.
43954         * lib/stdint.in.h: Likewise.
43955         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
43956
43957 2009-02-27  Eric Blake  <ebb9@byu.net>
43958
43959         doc: mention more functions added in cygwin 1.7.0
43960         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
43961         addition.
43962         * doc/posix-functions/open_wmemstream.texi: Likewise.
43963         * doc/posix-functions/wcsnlen.texi: Likewise.
43964         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43965         * doc/posix-functions/wcstod.texi: Likewise.
43966         * doc/posix-functions/wcstof.texi: Likewise.
43967         * doc/posix-functions/wcstoimax.texi: Likewise.
43968         * doc/posix-functions/wcstok.texi: Likewise.
43969         * doc/posix-functions/wcstoumax.texi: Likewise.
43970
43971         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43972         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43973         * doc/posix-functions/fprintf.texi: Update.
43974         * doc/posix-functions/printf.texi: Update.
43975         * doc/posix-functions/snprintf.texi: Update.
43976         * doc/posix-functions/sprintf.texi: Update.
43977         * doc/posix-functions/vfprintf.texi: Update.
43978         * doc/posix-functions/vprintf.texi: Update.
43979         * doc/posix-functions/vsnprintf.texi: Update.
43980         * doc/posix-functions/vsprintf.texi: Update.
43981         * doc/glibc-functions/obstack_printf.texi: Update.
43982         * doc/glibc-functions/obstack_vprintf.texi: Update.
43983
43984 2009-02-26  Eric Blake  <ebb9@byu.net>
43985
43986         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43987         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43988         compilation bug by using runtime conversion.
43989         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43990         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43991         * modules/ceill-tests (Files): Use nan.h.
43992         * modules/floorl-tests (Files): Likewise.
43993         * modules/frexpl-tests (Files): Likewise.
43994         * modules/isnanl-tests (Files): Likewise.
43995         * modules/ldexpl-tests (Files): Likewise.
43996         * modules/roundl-tests (Files): Likewise.
43997         * modules/truncl-tests (Files): Likewise.
43998         * tests/test-ceill.c (main): Use a working NaN.
43999         * tests/test-floorl.c (main): Likewise.
44000         * tests/test-frexpl.c (main): Likewise.
44001         * tests/test-isnan.c (test_long_double): Likewise.
44002         * tests/test-isnanl.h (main): Likewise.
44003         * tests/test-ldexpl.h (main): Likewise.
44004         * tests/test-roundl.h (main): Likewise.
44005         * tests/test-truncl.h (main): Likewise.
44006         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44007
44008 2009-02-26  Eric Blake  <ebb9@byu.net>
44009             Bruno Haible  <bruno@clisp.org>
44010
44011         Work around a *printf bug with %ls on Solaris.
44012         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44013         precision is specified, sprintf stops converting the wide string
44014         argument when the number of bytes that have been produced by this
44015         conversion equals or exceeds the precision.
44016         * doc/posix-functions/fprintf.texi: Update.
44017         * doc/posix-functions/printf.texi: Update.
44018         * doc/posix-functions/snprintf.texi: Update.
44019         * doc/posix-functions/sprintf.texi: Update.
44020         * doc/posix-functions/vfprintf.texi: Update.
44021         * doc/posix-functions/vprintf.texi: Update.
44022         * doc/posix-functions/vsnprintf.texi: Update.
44023         * doc/posix-functions/vsprintf.texi: Update.
44024         * doc/glibc-functions/obstack_printf.texi: Update.
44025         * doc/glibc-functions/obstack_vprintf.texi: Update.
44026
44027 2009-02-26  Eric Blake  <ebb9@byu.net>
44028
44029         stdlib: favor compiler check of random.h
44030         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44031         to avoid an ObjC random.h installed by Swarm.
44032
44033 2009-02-26  Bruno Haible  <bruno@clisp.org>
44034
44035         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44036         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44037         Reported by Gary V. Vaughan <gary@gnu.org>.
44038
44039 2009-02-26  Bruno Haible  <bruno@clisp.org>
44040
44041         Fix *printf behaviour regarding the %ls directive.
44042         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44043         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44044         NEED_PRINTF_DIRECTIVE_LS.
44045         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44046         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44047         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44048         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44049         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44050         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44051         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44052         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44053         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44054         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44055         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44056         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44057         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44058         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44059         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44060         * doc/posix-functions/fprintf.texi: Update.
44061         * doc/posix-functions/printf.texi: Update.
44062         * doc/posix-functions/snprintf.texi: Update.
44063         * doc/posix-functions/sprintf.texi: Update.
44064         * doc/posix-functions/vfprintf.texi: Update.
44065         * doc/posix-functions/vprintf.texi: Update.
44066         * doc/posix-functions/vsnprintf.texi: Update.
44067         * doc/posix-functions/vsprintf.texi: Update.
44068         * doc/glibc-functions/obstack_printf.texi: Update.
44069         * doc/glibc-functions/obstack_vprintf.texi: Update.
44070         Reported by Eric Blake.
44071
44072 2009-02-25  Bruno Haible  <bruno@clisp.org>
44073
44074         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44075         with known value.
44076         Reported by Gary V. Vaughan <gary@gnu.org>.
44077
44078 2009-02-25  Bruno Haible  <bruno@clisp.org>
44079
44080         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44081         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44082         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44083         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44084         Reported by Gary V. Vaughan <gary@gnu.org>.
44085
44086 2009-02-25  Bruno Haible  <bruno@clisp.org>
44087
44088         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44089         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44090         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44091         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44092         Reported by Gary V. Vaughan <gary@gnu.org>.
44093
44094 2009-02-25  Eric Blake  <ebb9@byu.net>
44095
44096         tests: skip fseek/ftell tests if ungetc is broken
44097         * m4/ungetc.m4: New file.
44098         * modules/fseek-tests: Split test, so ungetc dependency is
44099         separate from rest of test.
44100         * modules/fseeko-tests: Likewise.
44101         * modules/ftell-tests: Likewise.
44102         * modules/ftello-tests: Likewise.
44103         * tests/test-fseek.c (main): Isolate ungetc dependency.
44104         * tests/test-fseeko.c (main): Likewise.
44105         * tests/test-ftell.c (main): Likewise.
44106         * tests/test-ftello.c (main): Likewise.
44107         * tests/test-fseek2.sh: New file.
44108         * tests/test-fseeko2.sh: Likewise.
44109         * tests/test-ftell2.sh: Likewise.
44110         * tests/test-ftello2.sh: Likewise.
44111
44112 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44113
44114         test-getaddrinfo: fix usage of skip return code 77
44115         * tests/test-gettaddrinfo.c: Return skip code 77 only
44116         for first occurance of skip (4x77 is not 77)
44117
44118 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44119
44120         strtod: avoid C99 decl-after-statement
44121         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44122
44123 2009-02-24  Eric Blake  <ebb9@byu.net>
44124
44125         strtod: detect HP-UX 11.31 bug
44126         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44127         Reported by Gary V. Vaughan.
44128
44129 2009-02-23  Bruno Haible  <bruno@clisp.org>
44130
44131         Fix invalid read past end of memory block.
44132         * lib/vasnprintf.c (DCHAR_SET): Define.
44133         (local_wcslen): Define only when needed.
44134         (local_strnlen, local_wcsnlen): New functions.
44135         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44136         directives that involve a conversion ourselves.
44137         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44138         wcsnlen, mbrtowc, wcrtomb.
44139         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44140         * tests/test-vasprintf-posix.c (test_function): Likewise.
44141         * tests/test-snprintf-posix.h (test_function): Likewise.
44142         * tests/test-sprintf-posix.h (test_function): Likewise.
44143         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44144
44145 2009-02-22  Bruno Haible  <bruno@clisp.org>
44146
44147         Implement new clarified decomposition of Hangul syllables.
44148         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44149         of type LTV, return only a pairwise decomposition.
44150         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44151         Likewise.
44152         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44153         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44154         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44155
44156 2009-02-22  Bruno Haible  <bruno@clisp.org>
44157
44158         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44159         zero-length results and shrink excess allocated memory.
44160         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44161         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44162         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44163         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44164         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44165         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44166         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44167         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44168         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44169         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44170         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44171         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44172
44173 2009-02-21  Bruno Haible  <bruno@clisp.org>
44174
44175         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44176         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44177         spaces after a period. Put a space between a macro name and its
44178         argument list. Trivial rewordings.
44179         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44180         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44181         (main): Return 0 explicitly.
44182
44183 2009-02-21  Bruno Haible  <bruno@clisp.org>
44184
44185         Tests for module 'uninorm/filter'.
44186         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44187         * modules/uninorm/filter-tests: New file.
44188
44189         New module 'uninorm/filter'.
44190         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44191         uninorm_filter_flush, uninorm_filter_free): New declarations.
44192         * lib/uninorm/uninorm-filter.c: New file.
44193         * modules/uninorm/filter: New file.
44194
44195 2009-02-21  Bruno Haible  <bruno@clisp.org>
44196
44197         Tests for module 'uninorm/nfkc'.
44198         * tests/uninorm/test-nfkc.c: New file.
44199         * tests/uninorm/test-u8-nfkc.c: New file.
44200         * tests/uninorm/test-u16-nfkc.c: New file.
44201         * tests/uninorm/test-u32-nfkc.c: New file.
44202         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44203         * tests/uninorm/test-u32-nfkc-big.c: New file.
44204         * modules/uninorm/nfkc-tests: New file.
44205
44206         New module 'uninorm/nfkc'.
44207         * lib/uninorm/nfkc.c: New file.
44208         * modules/uninorm/nfkc: New file.
44209
44210         Tests for module 'uninorm/nfkd'.
44211         * tests/uninorm/test-nfkd.c: New file.
44212         * tests/uninorm/test-u8-nfkd.c: New file.
44213         * tests/uninorm/test-u16-nfkd.c: New file.
44214         * tests/uninorm/test-u32-nfkd.c: New file.
44215         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44216         * tests/uninorm/test-u32-nfkd-big.c: New file.
44217         * modules/uninorm/nfkd-tests: New file.
44218
44219         New module 'uninorm/nfkd'.
44220         * lib/uninorm/nfkd.c: New file.
44221         * modules/uninorm/nfkd: New file.
44222
44223         Tests for module 'uninorm/nfc'.
44224         * tests/uninorm/test-nfc.c: New file.
44225         * tests/uninorm/test-u8-nfc.c: New file.
44226         * tests/uninorm/test-u16-nfc.c: New file.
44227         * tests/uninorm/test-u32-nfc.c: New file.
44228         * tests/uninorm/test-u32-nfc-big.sh: New file.
44229         * tests/uninorm/test-u32-nfc-big.c: New file.
44230         * modules/uninorm/nfc-tests: New file.
44231
44232         New module 'uninorm/nfc'.
44233         * lib/uninorm/nfc.c: New file.
44234         * modules/uninorm/nfc: New file.
44235
44236         Tests for module 'uninorm/nfd'.
44237         * tests/uninorm/test-nfd.c: New file.
44238         * tests/uninorm/test-u8-nfd.c: New file.
44239         * tests/uninorm/test-u16-nfd.c: New file.
44240         * tests/uninorm/test-u32-nfd.c: New file.
44241         * tests/uninorm/test-u32-nfd-big.sh: New file.
44242         * tests/uninorm/test-u32-nfd-big.c: New file.
44243         * tests/uninorm/test-u32-normalize-big.h: New file.
44244         * tests/uninorm/test-u32-normalize-big.c: New file.
44245         * tests/uninorm/NormalizationTest.txt: New file, created from
44246         Unicode 5.1.0 NormalizationTest.txt.
44247         * modules/uninorm/nfd-tests: New file.
44248
44249         New module 'uninorm/nfd'.
44250         * lib/uninorm/nfd.c: New file.
44251         * modules/uninorm/nfd: New file.
44252
44253         New module 'uninorm/u32-normalize'.
44254         * lib/uninorm/u32-normalize.c: New file.
44255         * modules/uninorm/u32-normalize: New file.
44256
44257         New module 'uninorm/u16-normalize'.
44258         * lib/uninorm/u16-normalize.c: New file.
44259         * modules/uninorm/u16-normalize: New file.
44260
44261         New module 'uninorm/u8-normalize'.
44262         * lib/uninorm/u8-normalize.c: New file.
44263         * lib/uninorm/normalize-internal.h: New file.
44264         * lib/uninorm/u-normalize-internal.h: New file.
44265         * modules/uninorm/u8-normalize: New file.
44266
44267         New module 'uninorm/decompose-internal'.
44268         * lib/uninorm/decompose-internal.c: New file.
44269         * modules/uninorm/decompose-internal: New file.
44270
44271         Tests for module 'uninorm/composition'.
44272         * tests/uninorm/test-composition.c: New file.
44273         * modules/uninorm/composition-tests: New file.
44274
44275         New module 'uninorm/composition'.
44276         * lib/uninorm/composition.c: New file.
44277         * lib/uninorm/composition-table.gperf: New file, generated by
44278         gen-uni-tables.
44279         * modules/uninorm/composition: New file.
44280
44281         Tests for module 'uninorm/compat-decomposition'.
44282         * tests/uninorm/test-compat-decomposition.c: New file.
44283         * modules/uninorm/compat-decomposition-tests: New file.
44284
44285         New module 'uninorm/compat-decomposition'.
44286         * lib/uninorm/decompose-internal.h: New file.
44287         * lib/uninorm/compat-decomposition.c: New file.
44288         * modules/uninorm/compat-decomposition: New file.
44289
44290         Tests for module 'uninorm/canonical-decomposition'.
44291         * tests/uninorm/test-canonical-decomposition.c: New file.
44292         * modules/uninorm/canonical-decomposition-tests: New file.
44293
44294         New module 'uninorm/canonical-decomposition'.
44295         * lib/uninorm/canonical-decomposition.c: New file.
44296         * modules/uninorm/canonical-decomposition: New file.
44297
44298         Tests for module 'uninorm/decomposition'.
44299         * tests/uninorm/test-decomposition.c: New file.
44300         * modules/uninorm/decomposition-tests: New file.
44301
44302         New module 'uninorm/decomposition'.
44303         * lib/uninorm/decomposition.c: New file.
44304         * modules/uninorm/decomposition: New file.
44305
44306         New module 'uninorm/decomposition-table'.
44307         * lib/uninorm/decomposition-table.h: New file.
44308         * lib/uninorm/decomposition-table.c: New file.
44309         * lib/uninorm/decomposition-table1.h: New file, generated by
44310         gen-uni-tables.
44311         * lib/uninorm/decomposition-table2.h: New file, generated by
44312         gen-uni-tables.
44313         * modules/uninorm/decomposition-table: New file.
44314
44315         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44316         (UC_DECOMP_*): New enumeration items.
44317         (get_decomposition): New function.
44318         (struct decomp_table): New type.
44319         (output_decomposition, output_decomposition_tables): New functions.
44320         (unicode_composition_exclusions): New variable.
44321         (fill_composition_exclusions, debug_output_composition_tables): New
44322         functions.
44323         (main): Accept one more argument. Invoke fill_composition_exclusions.
44324         Output decomposition and composition tables.
44325
44326         New module 'uninorm/base'.
44327         * lib/uninorm.h: New file.
44328         * lib/unictype.h: Update comment.
44329         * modules/uninorm/base: New file.
44330
44331 2009-02-21  David Lutterkort  <lutter@redhat.com>
44332
44333         Tests for module 'safe-alloc'.
44334         * tests/test-safe-alloc.c: New file.
44335         * modules/safe-alloc-tests: New file.
44336
44337         New module 'safe-alloc'.
44338         * lib/safe-alloc.h: New file.
44339         * lib/safe-alloc.c: New file.
44340         * m4/safe-alloc.m4: New file.
44341         * modules/safe-alloc: New file.
44342         * doc/safe-alloc.texi: New file.
44343         * doc/gnulib.texi: Include it.
44344         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44345         safe-alloc.
44346
44347 2009-02-18  Bruno Haible  <bruno@clisp.org>
44348
44349         Fix link error on non-glibc systems.
44350         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
44351         variable.
44352         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44353
44354 2009-02-18  Jim Meyering  <meyering@redhat.com>
44355
44356         fts: avoid used-uninitialized error due to recent change
44357         * lib/fts.c (fts_read): Guard uses of the new member,
44358         parent->fts_n_dirs_remaining, since it's not relevant for
44359         the parent of a directory specified on the command-line.
44360
44361 2009-02-17  James Youngman  <jay@gnu.org>
44362             Bruno Haible  <bruno@clisp.org>
44363
44364         * m4/include_next.m4: Reformulate comment.
44365
44366 2009-02-16  Jim Meyering  <meyering@redhat.com>
44367
44368         fts: add #if guards so that the fts_lgpl module still builds
44369         * lib/fts.c: Guard just-added hash-table-using parts with
44370         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
44371         Reported by Simon Josefsson.
44372
44373 2009-02-15  Bruno Haible  <bruno@clisp.org>
44374
44375         * modules/array-mergesort-tests: New file.
44376         * tests/test-array-mergesort.c: New file.
44377
44378         New module 'array-mergesort'.
44379         * modules/array-mergesort: New file.
44380         * lib/array-mergesort.h: New file.
44381
44382 2009-02-15  Bruno Haible  <bruno@clisp.org>
44383
44384         Fix 2009-02-07 commit.
44385         * lib/gen-uni-tables.c (output_predicate, output_category,
44386         output_combclass, output_bidi_category, output_decimal_digit,
44387         output_digit, output_numeric, output_mirror, output_scripts,
44388         output_ident_category, output_simple_mapping): Fix format directives.
44389         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
44390
44391 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
44392
44393         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
44394         fixes are available from IBM.
44395
44396 2009-02-13  Jim Meyering  <meyering@redhat.com>
44397
44398         fts: arrange not to stat non-directories in more cases
44399         This makes GNU find (when it doesn't need to stat each file)
44400         *much* more efficient at traversing reiserfs file systems.
44401         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
44402         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
44403         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
44404         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
44405         (leaf_optimization_applies): New function.
44406         (LCO_hash, LCO_compare): New helper functions.
44407         (link_count_optimize_ok): New function.
44408         (fts_stat): Initialize new member (if dir).
44409         (fts_read): Decrement parent's fts_n_dirs_remaining count if
44410         we've just stat'ed a directory.  Skip the stat call when possible.
44411         ---
44412         Note this AFS-related exchange:
44413         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
44414         and note find's pioctl call in find/fstype.c.
44415         But that is necessary only if you want to enable the
44416         optimization for AFS, and for now, I don't.
44417
44418         fts: move a function definition "up" (no semantic change)
44419         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
44420         "up" to precede upcoming use of a related function.
44421
44422 2009-02-11  Jim Meyering  <meyering@redhat.com>
44423
44424         fts: correct internal computation of nlinks (optimization-related)
44425         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
44426         whether the current entry is a directory, so don't test it.
44427
44428 2009-02-10  Bruno Haible  <bruno@clisp.org>
44429
44430         Tests for module 'uniwbrk/ulc-wordbreaks'.
44431         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
44432         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
44433         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
44434
44435         Tests for module 'uniwbrk/u32-wordbreaks'.
44436         * modules/uniwbrk/u32-wordbreaks-tests: New file.
44437         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
44438
44439         Tests for module 'uniwbrk/u16-wordbreaks'.
44440         * modules/uniwbrk/u16-wordbreaks-tests: New file.
44441         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
44442
44443         Tests for module 'uniwbrk/u8-wordbreaks'.
44444         * modules/uniwbrk/u8-wordbreaks-tests: New file.
44445         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
44446
44447 2009-02-10  Bruno Haible  <bruno@clisp.org>
44448
44449         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
44450         property.
44451         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
44452         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
44453         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
44454
44455 2009-02-10  Simon Josefsson  <simon@josefsson.org>
44456
44457         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
44458         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
44459
44460 2009-02-10  Bruno Haible  <bruno@clisp.org>
44461
44462         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
44463         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
44464         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
44465         * lib/unilbrk/u8-possible-linebreaks.c: Update.
44466         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
44467         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
44468
44469 2009-02-09  Simon Josefsson  <simon@josefsson.org>
44470
44471         * lib/sockets.h (gl_fd_to_handle): New function.
44472
44473         * tests/test-sockets.c: Call gl_fd_to_handle.
44474
44475 2009-02-09  Bruno Haible  <bruno@clisp.org>
44476
44477         * doc/havelib.texi: Document the conventions on bi-arch systems.
44478
44479 2009-02-08  Bruno Haible  <bruno@clisp.org>
44480
44481         Document the AC_LIB_LINKFLAGS macro.
44482         * doc/havelib.texi: New file, mostly written on 2005-05-24.
44483         * doc/gnulib.texi: Include it.
44484
44485 2009-02-08  Bruno Haible  <bruno@clisp.org>
44486
44487         Fix wrong order of sections, compared to TOC.
44488         * doc/gnulib.texi: Include relocatable-maint.texi after the
44489         "Regular expressions" node, not before.
44490
44491 2009-02-08  Bruno Haible  <bruno@clisp.org>
44492
44493         Tests for module 'unicase/totitle'.
44494         * modules/unicase/totitle-tests: New file.
44495
44496         Tests for module 'unicase/tolower'.
44497         * modules/unicase/tolower-tests: New file.
44498
44499         Tests for module 'unicase/toupper'.
44500         * modules/unicase/toupper-tests: New file.
44501         * tests/unicase/test-mapping-part1.h: New file.
44502         * tests/unicase/test-mapping-part2.h: New file.
44503
44504         New module 'unicase/totitle'.
44505         * modules/unicase/totitle: New file.
44506         * lib/unicase/totitle.c: New file.
44507
44508         New module 'unicase/tolower'.
44509         * modules/unicase/tolower: New file.
44510         * lib/unicase/tolower.c: New file.
44511
44512         New module 'unicase/toupper'.
44513         * modules/unicase/toupper: New file.
44514         * lib/unicase/toupper.c: New file.
44515         * lib/unicase/simple-mapping.h: New file.
44516
44517         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
44518         (mapping_table): New structure.
44519         (output_simple_mapping): New function.
44520         (main): Invoke output_simple_mapping_test and output_simple_mapping.
44521         * modules/gen-uni-tables (Description): Update.
44522         * lib/unicase/toupper.h: New file, automatically generated by
44523         gen-uni-tables.
44524         * lib/unicase/tolower.h: New file, automatically generated by
44525         gen-uni-tables.
44526         * lib/unicase/totitle.h: New file, automatically generated by
44527         gen-uni-tables.
44528         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
44529         gen-uni-tables.
44530         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
44531         gen-uni-tables.
44532         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
44533         gen-uni-tables.
44534
44535         New module 'unicase/base'.
44536         * modules/unicase/base: New file.
44537         * lib/unicase.h: New file.
44538
44539 2009-02-08  Bruno Haible  <bruno@clisp.org>
44540
44541         New module 'uniwbrk/ulc-wordbreaks'.
44542         * modules/uniwbrk/ulc-wordbreaks: New file.
44543         * lib/uniwbrk/ulc-wordbreaks.c: New file.
44544
44545         New module 'uniwbrk/u32-wordbreaks'.
44546         * modules/uniwbrk/u32-wordbreaks: New file.
44547         * lib/uniwbrk/u32-wordbreaks.c: New file.
44548
44549         New module 'uniwbrk/u16-wordbreaks'.
44550         * modules/uniwbrk/u16-wordbreaks: New file.
44551         * lib/uniwbrk/u16-wordbreaks.c: New file.
44552
44553         New module 'uniwbrk/u8-wordbreaks'.
44554         * modules/uniwbrk/u8-wordbreaks: New file.
44555         * lib/uniwbrk/u8-wordbreaks.c: New file.
44556         * lib/uniwbrk/u-wordbreaks.h: New file.
44557
44558         New module 'uniwbrk/table'.
44559         * modules/uniwbrk/table: New file.
44560         * lib/uniwbrk/wbrktable.h: New file.
44561         * lib/uniwbrk/wbrktable.c: New file.
44562
44563         New module 'uniwbrk/wordbreak-property'.
44564         * modules/uniwbrk/wordbreak-property: New file.
44565         * lib/uniwbrk/wordbreak-property.c: New file.
44566
44567         * lib/gen-uni-tables.c (WBP_*): New enum items.
44568         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
44569         (unicode_org_wbp): New variable.
44570         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
44571         New functions.
44572         (wbp_table): New structure.
44573         (output_wbp, output_wbrk_tables): New functions.
44574         (main): Accept additional argument. Invoke fill_org_wbp,
44575         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
44576         output_wbrk_tables.
44577         * modules/gen-uni-tables (Description): Update.
44578         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
44579         gen-uni-tables.
44580
44581         New module 'uniwbrk/base'.
44582         * modules/uniwbrk/base: New file.
44583         * lib/uniwbrk.h: New file.
44584
44585 2009-02-08  Bruno Haible  <bruno@clisp.org>
44586
44587         Update to Unicode 5.1.0.
44588         * lib/gen-uni-tables.c (is_property_alphabetic): Include
44589         U+2185..U+2188.
44590         (is_property_default_ignorable_code_point): Don't include characters
44591         of category Cc or Cs and not-a-characters.
44592         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
44593         U+0D79, U+109E, U+109F, U+A60C.
44594         * lib/unictype/bidi_of.h: Regenerated.
44595         * lib/unictype/blocks.h: Regenerated.
44596         * lib/unictype/categ_C.h: Regenerated.
44597         * lib/unictype/categ_Cf.h: Regenerated.
44598         * lib/unictype/categ_Cn.h: Regenerated.
44599         * lib/unictype/categ_L.h: Regenerated.
44600         * lib/unictype/categ_Ll.h: Regenerated.
44601         * lib/unictype/categ_Lm.h: Regenerated.
44602         * lib/unictype/categ_Lo.h: Regenerated.
44603         * lib/unictype/categ_Lu.h: Regenerated.
44604         * lib/unictype/categ_M.h: Regenerated.
44605         * lib/unictype/categ_Mc.h: Regenerated.
44606         * lib/unictype/categ_Me.h: Regenerated.
44607         * lib/unictype/categ_Mn.h: Regenerated.
44608         * lib/unictype/categ_N.h: Regenerated.
44609         * lib/unictype/categ_Nd.h: Regenerated.
44610         * lib/unictype/categ_Nl.h: Regenerated.
44611         * lib/unictype/categ_No.h: Regenerated.
44612         * lib/unictype/categ_P.h: Regenerated.
44613         * lib/unictype/categ_Pd.h: Regenerated.
44614         * lib/unictype/categ_Pe.h: Regenerated.
44615         * lib/unictype/categ_Pf.h: Regenerated.
44616         * lib/unictype/categ_Pi.h: Regenerated.
44617         * lib/unictype/categ_Po.h: Regenerated.
44618         * lib/unictype/categ_Ps.h: Regenerated.
44619         * lib/unictype/categ_S.h: Regenerated.
44620         * lib/unictype/categ_Sk.h: Regenerated.
44621         * lib/unictype/categ_Sm.h: Regenerated.
44622         * lib/unictype/categ_So.h: Regenerated.
44623         * lib/unictype/categ_of.h: Regenerated.
44624         * lib/unictype/combining.h: Regenerated.
44625         * lib/unictype/ctype_alnum.h: Regenerated.
44626         * lib/unictype/ctype_alpha.h: Regenerated.
44627         * lib/unictype/ctype_graph.h: Regenerated.
44628         * lib/unictype/ctype_lower.h: Regenerated.
44629         * lib/unictype/ctype_print.h: Regenerated.
44630         * lib/unictype/ctype_punct.h: Regenerated.
44631         * lib/unictype/ctype_upper.h: Regenerated.
44632         * lib/unictype/decdigit.h: Regenerated.
44633         * lib/unictype/digit.h: Regenerated.
44634         * lib/unictype/mirror.h: Regenerated.
44635         * lib/unictype/numeric.h: Regenerated.
44636         * lib/unictype/pr_alphabetic.h: Regenerated.
44637         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
44638         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
44639         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
44640         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
44641         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
44642         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
44643         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
44644         * lib/unictype/pr_combining.h: Regenerated.
44645         * lib/unictype/pr_dash.h: Regenerated.
44646         * lib/unictype/pr_decimal_digit.h: Regenerated.
44647         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
44648         * lib/unictype/pr_deprecated.h: Regenerated.
44649         * lib/unictype/pr_diacritic.h: Regenerated.
44650         * lib/unictype/pr_extender.h: Regenerated.
44651         * lib/unictype/pr_format_control.h: Regenerated.
44652         * lib/unictype/pr_grapheme_base.h: Regenerated.
44653         * lib/unictype/pr_grapheme_extend.h: Regenerated.
44654         * lib/unictype/pr_grapheme_link.h: Regenerated.
44655         * lib/unictype/pr_id_continue.h: Regenerated.
44656         * lib/unictype/pr_id_start.h: Regenerated.
44657         * lib/unictype/pr_ideographic.h: Regenerated.
44658         * lib/unictype/pr_ignorable_control.h: Regenerated.
44659         * lib/unictype/pr_lowercase.h: Regenerated.
44660         * lib/unictype/pr_math.h: Regenerated.
44661         * lib/unictype/pr_numeric.h: Regenerated.
44662         * lib/unictype/pr_other_alphabetic.h: Regenerated.
44663         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
44664         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
44665         * lib/unictype/pr_other_id_continue.h: Regenerated.
44666         * lib/unictype/pr_other_lowercase.h: Regenerated.
44667         * lib/unictype/pr_other_math.h: Regenerated.
44668         * lib/unictype/pr_punctuation.h: Regenerated.
44669         * lib/unictype/pr_sentence_terminal.h: Regenerated.
44670         * lib/unictype/pr_soft_dotted.h: Regenerated.
44671         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
44672         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
44673         * lib/unictype/pr_unified_ideograph.h: Regenerated.
44674         * lib/unictype/pr_uppercase.h: Regenerated.
44675         * lib/unictype/pr_xid_continue.h: Regenerated.
44676         * lib/unictype/pr_xid_start.h: Regenerated.
44677         * lib/unictype/pr_zero_width.h: Regenerated.
44678         * lib/unictype/scripts.h: Regenerated.
44679         * lib/unictype/scripts_byname.gperf: Regenerated.
44680         * lib/unictype/sy_java_ident.h: Regenerated.
44681         * lib/unilbrk/lbrkprop1.h: Regenerated.
44682         * lib/unilbrk/lbrkprop2.h: Regenerated.
44683         * tests/unictype/test-categ_C.c: Regenerated.
44684         * tests/unictype/test-categ_Cf.c: Regenerated.
44685         * tests/unictype/test-categ_Cn.c: Regenerated.
44686         * tests/unictype/test-categ_L.c: Regenerated.
44687         * tests/unictype/test-categ_Ll.c: Regenerated.
44688         * tests/unictype/test-categ_Lm.c: Regenerated.
44689         * tests/unictype/test-categ_Lo.c: Regenerated.
44690         * tests/unictype/test-categ_Lu.c: Regenerated.
44691         * tests/unictype/test-categ_M.c: Regenerated.
44692         * tests/unictype/test-categ_Mc.c: Regenerated.
44693         * tests/unictype/test-categ_Me.c: Regenerated.
44694         * tests/unictype/test-categ_Mn.c: Regenerated.
44695         * tests/unictype/test-categ_N.c: Regenerated.
44696         * tests/unictype/test-categ_Nd.c: Regenerated.
44697         * tests/unictype/test-categ_Nl.c: Regenerated.
44698         * tests/unictype/test-categ_No.c: Regenerated.
44699         * tests/unictype/test-categ_P.c: Regenerated.
44700         * tests/unictype/test-categ_Pd.c: Regenerated.
44701         * tests/unictype/test-categ_Pe.c: Regenerated.
44702         * tests/unictype/test-categ_Pf.c: Regenerated.
44703         * tests/unictype/test-categ_Pi.c: Regenerated.
44704         * tests/unictype/test-categ_Po.c: Regenerated.
44705         * tests/unictype/test-categ_Ps.c: Regenerated.
44706         * tests/unictype/test-categ_S.c: Regenerated.
44707         * tests/unictype/test-categ_Sk.c: Regenerated.
44708         * tests/unictype/test-categ_Sm.c: Regenerated.
44709         * tests/unictype/test-categ_So.c: Regenerated.
44710         * tests/unictype/test-ctype_alnum.c: Regenerated.
44711         * tests/unictype/test-ctype_alpha.c: Regenerated.
44712         * tests/unictype/test-ctype_graph.c: Regenerated.
44713         * tests/unictype/test-ctype_lower.c: Regenerated.
44714         * tests/unictype/test-ctype_print.c: Regenerated.
44715         * tests/unictype/test-ctype_punct.c: Regenerated.
44716         * tests/unictype/test-ctype_upper.c: Regenerated.
44717         * tests/unictype/test-decdigit.h: Regenerated.
44718         * tests/unictype/test-digit.h: Regenerated.
44719         * tests/unictype/test-numeric.h: Regenerated.
44720         * tests/unictype/test-pr_alphabetic.c: Regenerated.
44721         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
44722         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
44723         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
44724         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
44725         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
44726         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
44727         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
44728         * tests/unictype/test-pr_combining.c: Regenerated.
44729         * tests/unictype/test-pr_dash.c: Regenerated.
44730         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
44731         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
44732         * tests/unictype/test-pr_deprecated.c: Regenerated.
44733         * tests/unictype/test-pr_diacritic.c: Regenerated.
44734         * tests/unictype/test-pr_extender.c: Regenerated.
44735         * tests/unictype/test-pr_format_control.c: Regenerated.
44736         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
44737         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
44738         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
44739         * tests/unictype/test-pr_id_continue.c: Regenerated.
44740         * tests/unictype/test-pr_id_start.c: Regenerated.
44741         * tests/unictype/test-pr_ideographic.c: Regenerated.
44742         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
44743         * tests/unictype/test-pr_lowercase.c: Regenerated.
44744         * tests/unictype/test-pr_math.c: Regenerated.
44745         * tests/unictype/test-pr_numeric.c: Regenerated.
44746         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
44747         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
44748         Regenerated.
44749         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
44750         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
44751         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
44752         * tests/unictype/test-pr_other_math.c: Regenerated.
44753         * tests/unictype/test-pr_punctuation.c: Regenerated.
44754         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
44755         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
44756         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
44757         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
44758         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
44759         * tests/unictype/test-pr_uppercase.c: Regenerated.
44760         * tests/unictype/test-pr_xid_continue.c: Regenerated.
44761         * tests/unictype/test-pr_xid_start.c: Regenerated.
44762         * tests/unictype/test-pr_zero_width.c: Regenerated.
44763
44764         Update to Unicode 5.1.0.
44765         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
44766         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
44767         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
44768         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
44769         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
44770         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
44771         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
44772         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
44773         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
44774         (nonspacing_table_ind): Update.
44775         * tests/uniwidth/test-uc_width2.sh: Update expected result.
44776
44777         Update to Unicode 5.1.0.
44778         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
44779         code transform.
44780         * lib/uniname/uniname.c (unicode_character_name,
44781         unicode_name_character): Add the range 0x1Fxxx to the code transform.
44782         * lib/uniname/uninames.h: Regenerated.
44783         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
44784
44785 2009-02-07  Bruno Haible  <bruno@clisp.org>
44786
44787         Merge gen-ctype and gen-lbrk into a single program.
44788         * lib/gen-uni-tables.c: New file, incorporating
44789         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
44790         Add directory prefixes to the names of the generated files.
44791         * lib/unictype/gen-ctype.c: Remove file.
44792         * lib/unilbrk/gen-lbrk.c: Remove file.
44793         * modules/gen-uni-tables: New file.
44794         * modules/unictype/gen-ctype: Remove file.
44795         * modules/unilbrk/gen-lbrk: Remove file.
44796
44797 2009-02-07  Bruno Haible  <bruno@clisp.org>
44798
44799         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
44800
44801         New module 'unistr/u32-strcoll'.
44802         * modules/unistr/u32-strcoll: New file.
44803         * lib/unistr/u32-strcoll.c: New file.
44804
44805         New module 'unistr/u16-strcoll'.
44806         * modules/unistr/u16-strcoll: New file.
44807         * lib/unistr/u16-strcoll.c: New file.
44808
44809         New module 'unistr/u8-strcoll'.
44810         * modules/unistr/u8-strcoll: New file.
44811         * lib/unistr/u8-strcoll.c: New file.
44812         * lib/unistr/u-strcoll.h: New file.
44813
44814 2009-02-07  Bruno Haible  <bruno@clisp.org>
44815
44816         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
44817         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44818         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
44819         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
44820         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
44821         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
44822
44823 2009-02-07  Bruno Haible  <bruno@clisp.org>
44824
44825         Make 64-bit clean.
44826         * lib/unictype/gen-ctype.c (output_predicate, output_category,
44827         output_combclass, output_bidi_category, output_decimal_digit,
44828         output_digit, output_numeric, output_mirror, output_scripts,
44829         output_ident_category): Use proper width specifier in format strings.
44830
44831 2009-02-07  Bruno Haible  <bruno@clisp.org>
44832
44833         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
44834         failure behaviour.
44835
44836 2009-02-07  Jim Meyering  <meyering@redhat.com>
44837
44838         regex: avoid compilation failure with upcoming gcc-4.4
44839         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
44840         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
44841         "... error: integer overflow in preprocessor expression".
44842
44843 2009-02-05  Ben Pfaff  <blp@gnu.org>
44844
44845         Fix link errors on Windows when close module is used.
44846         * modules/close: Add $(LIB_CLOSE) to Link section.
44847         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
44848         $(LIB_CLOSE) on Windows.
44849
44850 2009-02-05  Jim Meyering  <meyering@redhat.com>
44851
44852         still avoid unused-parameter warnings, but do it cleanly
44853         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
44854         (get_fs_usage): Cast to void instead.
44855         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
44856         (dev_from_mount_options, read_file_system_list): Cast to void.
44857         Prompted by Bruno Haible.
44858
44859 2009-02-04  Jim Meyering  <meyering@redhat.com>
44860
44861         fsusage.c: correct copyright year
44862         * lib/fsusage.c: Reflect year in which the change is pushed into
44863
44864         avoid misc. warnings
44865         * lib/fsusage.c (UNUSED_PARAM): Define.
44866         (get_fs_usage): Mark parameter "disk" as unused.
44867         * lib/getugroups.c (getgrent): Use "void" in prototype.
44868         * lib/mountlist.c: Mark unused parameters.
44869         (read_file_system_list): Declare a local with "const".
44870         * lib/nanosleep.c (getnow): Declare static.
44871         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
44872
44873         dirfd: set errno upon failure
44874         * lib/dirfd.c: Include <errno.h>.
44875         Set errno to ENOTSUP when returning -1.
44876         * modules/dirfd (Depends-on): Add errno.
44877         Suggested by John Kodis <kodis@comcast.net>.
44878
44879 2009-02-01  Bruno Haible  <bruno@clisp.org>
44880
44881         Don't assume sizeof (long) >= sizeof (void *).
44882         * lib/memcmp.c: Include stdint.h.
44883         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
44884         srcp2 to 'const byte *'.
44885         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
44886         types to uintptr_t.
44887         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
44888         * modules/memcmp (Depends-on): Add stdint.
44889         Reported by Ozkan Sezer <sezeroz@gmail.com>.
44890
44891 2009-01-30  Eric Blake  <ebb9@byu.net>
44892
44893         fix more require-before-expand issues
44894         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
44895         expand, AC_PROG_AWK.
44896         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
44897
44898 2009-01-28  Eric Blake  <ebb9@byu.net>
44899
44900         version-etc: use consistent URL formatting
44901         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
44902         Improve formatting.  Use fputs for string without %.
44903
44904 2009-01-28  Jim Meyering  <meyering@redhat.com>
44905
44906         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
44907         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
44908         "underquoted definition of NAME" from autoconf-2.59.
44909
44910 2009-01-28  Bruno Haible  <bruno@clisp.org>
44911
44912         * doc/gnulib.texi: Add "Obsolete modules" to index.
44913
44914 2009-01-28  Jim Meyering  <meyering@redhat.com>
44915
44916         useless-if-before-free: recognize more variants
44917         * build-aux/useless-if-before-free: Also recognize e.g.,
44918         if (NULL != p) free (p);
44919
44920 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
44921
44922         test-getaddrinfo: skip (don't fail) this test when there's no network
44923         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
44924         on the presumption that it means you lack network access.
44925
44926 2009-01-26  Jim Meyering  <meyering@redhat.com>
44927
44928         fflush: avoid warnings on modern systems
44929         * lib/fflush.c (rpl_fflush): Move declarations of locals,
44930         pos and result, into scopes where they're used.
44931
44932 2009-01-26  Eric Blake  <ebb9@byu.net>
44933
44934         Silence warning reintroduced by recent extensions patch.
44935         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
44936         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
44937         autoconf.
44938
44939         Backport improved autoconf semantics of AC_DEFUN_ONCE.
44940         * m4/00gnulib.m4: New file.
44941         * gnulib-tool (func_get_filelist): Always use it.
44942         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
44943         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
44944
44945 2009-01-25  Bruno Haible  <bruno@clisp.org>
44946
44947         Make test-quotearg work on MacOS X and AIX.
44948         * tests/test-quotearg.sh: New file.
44949         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
44950         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
44951         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
44952         include <libintl.h>.
44953         (fake_locale): Remove variable.
44954         (gettext, dgettext, dcgettext): Remove functions.
44955         (main): Instead of setting a fake locale, set a real locale. Call
44956         textdomain and bindtextdomain.
44957         * modules/quotearg-tests (Files): Add the new files.
44958         (Depends-on): Add gettext, setenv, unsetenv.
44959         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
44960         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
44961         Augment TESTS_ENVIRONMENT.
44962
44963 2009-01-25  Bruno Haible  <bruno@clisp.org>
44964
44965         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44966         fr_FR.ISO8859-1 locale on MacOS X.
44967         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44968         ja_JP.eucJP locale on MacOS X.
44969         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44970         zh_CN.GB18030 locale on MacOS X.
44971
44972 2009-01-25  Bruno Haible  <bruno@clisp.org>
44973
44974         Avoid link errors on MacOS X 10.3.
44975         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44976         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44977
44978 2009-01-25  Bruno Haible  <bruno@clisp.org>
44979
44980         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44981         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44982         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44983         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44984         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44985         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44986         posix_spawnattr_init, posix_spawnattr_setsigmask,
44987         posix_spawnattr_setflags, posix_spawnattr_destroy.
44988
44989         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44990         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44991         * modules/execute (Files): Remove m4/posix_spawn.m4.
44992         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44993         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44994         posix_spawnattr_init, posix_spawnattr_setsigmask,
44995         posix_spawnattr_setflags, posix_spawnattr_destroy.
44996
44997 2009-01-25  Bruno Haible  <bruno@clisp.org>
44998
44999         * lib/glthread/threadlib.c: Include <stdlib.h>.
45000
45001 2009-01-25  Bruno Haible  <bruno@clisp.org>
45002
45003         * lib/glthread/threadlib.c (dummy): New declaration.
45004
45005 2009-01-25  Bruno Haible  <bruno@clisp.org>
45006
45007         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45008         multibyte characters also for the GB18030 encoding. Don't crash when
45009         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45010
45011 2009-01-25  Bruno Haible  <bruno@clisp.org>
45012
45013         Avoid redefining 'struct random_data' on OSF/1 5.1.
45014         * lib/stdlib.in.h: Include <random.h> if it exists.
45015         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45016         HAVE_RANDOM_H. Include <random.h> when testing whether
45017         'struct random_data' exists.
45018         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45019
45020 2009-01-25  Bruno Haible  <bruno@clisp.org>
45021
45022         Don't install charset.alias on MacOS X >= 10.3.
45023         * lib/localcharset.c (DARWIN7): New macro.
45024         (get_charset_aliases): Hardcode the result for Darwin7.
45025         * modules/localcharset (install-exec-local): Don't install
45026         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45027
45028 2009-01-25  Bruno Haible  <bruno@clisp.org>
45029
45030         Don't install charset.alias on mingw and Cygwin.
45031         * modules/localcharset (install-exec-local): Don't install
45032         charset.alias on mingw and Cygwin, if the file does not yet exist.
45033         The result for these platforms is hardcoded in localcharset.c.
45034
45035 2009-01-25  Bruno Haible  <bruno@clisp.org>
45036
45037         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45038         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45039         before requiring AC_USE_SYSTEM_EXTENSIONS.
45040
45041 2009-01-25  Jim Meyering  <meyering@redhat.com>
45042
45043         c-strtod: avoid warnings
45044         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45045         "assignment discards qualifiers from pointer target type" warnings.
45046
45047 2009-01-24  Bruno Haible  <bruno@clisp.org>
45048
45049         Add support for non-UTF-8 locales on MacOS X.
45050         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45051         canonical encodings. For Darwin 7 and newer, don't map traditional
45052         encodings to UTF-8.
45053         Reported by Vincent Lefevre <vincent@vinc17.org>
45054         at <http://savannah.gnu.org/bugs/?25235>.
45055
45056 2009-01-24  Bruno Haible  <bruno@clisp.org>
45057
45058         * doc/gnulib.texi (Obsolete modules): New section.
45059         Reported by Mike Frysinger <vapier@gentoo.org>.
45060
45061 2009-01-24  Bruno Haible  <bruno@clisp.org>
45062
45063         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45064         (%.dvi): New rule.
45065
45066 2009-01-24  Bruno Haible  <bruno@clisp.org>
45067
45068         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45069         Reported by Eric Blake.
45070
45071 2009-01-24  Bruno Haible  <bruno@clisp.org>
45072
45073         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45074         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45075         Reported by Gary V. Vaughan <gary@gnu.org>.
45076
45077 2009-01-24  Bruno Haible  <bruno@clisp.org>
45078
45079         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45080
45081 2009-01-23  Bruno Haible  <bruno@clisp.org>
45082
45083         Make c-strtod, c-strtold usable in libraries.
45084         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45085         (C_STRTOD): Call strdup instead of xstrdup.
45086         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45087         * modules/c-strtold (Depends-on): Likewise.
45088         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45089         * NEWS: Mention the change.
45090         Reported by Michael Gold <mgold@ncf.ca>.
45091
45092 2009-01-23  Jim Meyering  <meyering@redhat.com>
45093
45094         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45095         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45096         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45097
45098 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45099
45100         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45101         GNU CoreUtils.
45102         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45103         * modules/version-etc (Description): Update.
45104
45105 2009-01-22  Bruno Haible  <bruno@clisp.org>
45106
45107         Cache the C locale object.
45108         * lib/c-strtod.c (c_locale_cache): New variable.
45109         (c_locale): New function.
45110         (C_STRTOD): Use it, and don't call freelocale.
45111         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45112         Suggested by Paolo Bonzini.
45113
45114 2009-01-21  Bruno Haible  <bruno@clisp.org>
45115
45116         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45117         conditions other than overflow.
45118
45119 2009-01-21  Bruno Haible  <bruno@clisp.org>
45120
45121         * lib/c-strtod.c: Include errno.h.
45122         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45123         value from STRTOD_L and STRTOD.
45124
45125 2009-01-21  Bruno Haible  <bruno@clisp.org>
45126         and Jim Meyering  <meyering@redhat.com>
45127
45128         nanosleep: skip configure test (fail it) for apple universal builds
45129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45130         universal builds, assume that nanosleep does not work.
45131         * modules/nanosleep (Depends-on): Add multiarch.
45132
45133         mktime: skip configure test (fail it) for apple universal builds
45134         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45135         universal builds, assume that mktime does not work.
45136         * modules/mktime (Depends-on): Add multiarch.
45137
45138 2009-01-21  Eric Blake  <ebb9@byu.net>
45139
45140         multiarch: avoid expand-before-require warning
45141         * modules/multiarch (configure.ac): Require, rather than expand,
45142         gl_MULTIARCH.
45143         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45144         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45145         enforce that all clients require it.  Partial reversion of
45146         2008-12-29 patch.
45147
45148         error: avoid expand-before-require warning
45149         * modules/errno (configure.ac): Require, rather than expand,
45150         gl_HEADER_ERRNO_H.
45151         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45152         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45153         enforce that all clients require it.
45154
45155         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45156         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45157         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45158         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45159
45160 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45161
45162         Revert:
45163         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45164
45165         regex: do not depend on obsolete modules.
45166         * modules/regex: Remove memcmp and memmove.
45167
45168 2009-01-20  Bruno Haible  <bruno@clisp.org>
45169
45170         Make the 'link' module link on Windows NT 4.
45171         * lib/link.c (_WIN32_WINNT): Don't define.
45172         (CreateHardLinkFuncType): New type.
45173         (CreateHardLinkFunc, initialized): New variables.
45174         (initialize): New function.
45175         (link): Invoke CreateHardLink indirectly through the function pointer.
45176
45177 2009-01-20  Bruno Haible  <bruno@clisp.org>
45178
45179         Fix compilation failure on mingw.
45180         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45181
45182 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45183
45184         * doc/c-strtod.texi: Mention a couple of restrictions.
45185
45186 2009-01-20  Jim Meyering  <meyering@redhat.com>
45187
45188         gettimeofday: move more declarations out of functions
45189         * lib/gettimeofday.c: Move extern declarations of tzset and
45190         gmtime out of containing functions.  Prompted by Bruno Haible.
45191
45192 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45193
45194         regex: do not depend on obsolete modules.
45195         * modules/regex: Remove memcmp and memmove.
45196
45197 2009-01-19  Bruno Haible  <bruno@clisp.org>
45198
45199         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45200         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45201         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45202         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45203         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45204
45205 2009-01-19  Bruno Haible  <bruno@clisp.org>
45206
45207         * tests/test-link.c: Include <errno.h>.
45208         (main): Exit with code 77 when a hard link cannot be created due to
45209         the file system.
45210         * tests/test-link.sh: Skip test when a hard link cannot be created due
45211         to the file system.
45212         Suggested by Eric Blake.
45213
45214 2009-01-19  Martin Lambers  <marlam@marlam.de>
45215
45216         * modules/link-tests: New file.
45217         * tests/test-link.sh: New file.
45218         * tests/test-link.c: New file.
45219
45220 2009-01-19  Eric Blake  <ebb9@byu.net>
45221
45222         doc: mention another function added in cygwin 1.7.0
45223         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45224         Another new function in cygwin 1.7.
45225
45226 2009-01-19  Bruno Haible  <bruno@clisp.org>
45227
45228         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45229         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45230         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45231         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45232         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45233         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45234         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45235         * m4/md4.m4 (gl_MD4): Likewise.
45236         * m4/md5.m4 (gl_MD5): Likewise.
45237         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45238         * m4/sha1.m4 (gl_SHA1): Likewise.
45239         * m4/sha256.m4 (gl_SHA256): Likewise.
45240         * m4/sha512.m4 (gl_SHA512): Likewise.
45241
45242 2009-01-19  Bruno Haible  <bruno@clisp.org>
45243
45244         * modules/uniname/uniname-tests (Depends-on): Add progname.
45245         * tests/uniname/test-uninames.c: Include progname.h.
45246         (main): Call set_program_name.
45247
45248         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45249         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45250         (main): Call set_program_name.
45251
45252         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45253         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45254         (main): Call set_program_name.
45255
45256         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45257         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45258         (main): Call set_program_name.
45259
45260         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45261         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45262         (main): Call set_program_name.
45263
45264         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45265         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45266         (main): Call set_program_name.
45267
45268         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45269         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45270         (main): Call set_program_name.
45271
45272         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45273         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45274         (main): Call set_program_name.
45275
45276         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45277         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45278         (main): Call set_program_name.
45279
45280 2009-01-19  Eric Blake  <ebb9@byu.net>
45281
45282         test-unistd: test previous patch
45283         * tests/test-unistd.c: Test *_FILENO macros.
45284
45285         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45286         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45287         Guarantee a definition.
45288         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45289         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45290         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45291         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45292         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45293         Likewise.
45294         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45295         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45296         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45297         Likewise.
45298         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45299         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45300         (STDERR_FILENO): Likewise.
45301         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45302         (STDERR_FILENO): Likewise.
45303         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45304         (STDERR_FILENO): Likewise.
45305         Reported by Elbert Pol.
45306
45307 2009-01-19  Eric Blake  <ebb9@byu.net>
45308
45309         doc: mention more functions added in cygwin 1.7.0
45310         * doc/posix-functions/abort.texi (abort): Update wording related
45311         to cygwin.
45312         * doc/posix-functions/daylight.texi (daylight): Likewise.
45313         * doc/posix-functions/optarg.texi (optarg): Likewise.
45314         * doc/posix-functions/optarg.texi (opterr): Likewise.
45315         * doc/posix-functions/optarg.texi (optind): Likewise.
45316         * doc/posix-functions/optarg.texi (optopt): Likewise.
45317         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45318         worked in 1.5.x, and was withdrawn in 1.7.
45319         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45320         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45321         cygwin versions.
45322         * doc/posix-functions/perror.texi (perror): Likewise.
45323         * doc/posix-functions/printf.texi (printf): Likewise.
45324         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45325         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45326         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45327         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45328         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45329         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45330         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
45331         Likewise.
45332         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
45333         Likewise.
45334         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
45335         this function.
45336         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
45337         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
45338         Likewise.
45339         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
45340         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
45341         * doc/posix-functions/confstr.texi (confstr): Likewise.
45342         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
45343         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
45344         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
45345         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
45346         * doc/posix-functions/fputws.texi (fputws): Likewise.
45347         * doc/posix-functions/fwide.texi (fwide): Likewise.
45348         * doc/posix-functions/getwc.texi (getwc): Likewise.
45349         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
45350         * doc/posix-functions/putwc.texi (putwc): Likewise.
45351         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
45352         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
45353         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
45354         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
45355         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
45356         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
45357         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
45358         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
45359         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
45360         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
45361         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
45362
45363 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45364
45365         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
45366         * lib/ioctl.c: Include <sys/ioctl.h>.
45367
45368 2009-01-19  Simon Josefsson  <simon@josefsson.org>
45369
45370         * modules/getdate-tests (Depends-on): Add progname.
45371         * tests/test-getdate.c: Use progname module, to avoid link errors
45372         on non-glibc systems.
45373
45374 2009-01-18  Simon Josefsson  <simon@josefsson.org>
45375
45376         * modules/filenamecat-tests (Depends-on): Add progname.
45377         * modules/fstrcmp-tests (Depends-on): Likewise.
45378
45379         * tests/test-filenamecat.c: Use progname module, to avoid link
45380         errors on non-glibc systems.
45381         * tests/test-fstrcmp.c: Likewise.
45382
45383 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
45384
45385         gettimeofday: avoid warning: nested extern declaration of 'localtime'
45386         * lib/gettimeofday.c: Move extern declaration out of function.
45387
45388 2009-01-18  Bruno Haible  <bruno@clisp.org>
45389
45390         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
45391         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
45392         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
45393
45394 2009-01-18  Bruno Haible  <bruno@clisp.org>
45395
45396         * lib/strftime.c (MEMPCPY): Remove unused macro.
45397         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
45398
45399 2009-01-18  Martin Lambers  <marlam@marlam.de>
45400
45401         New module 'link'.
45402         * lib/unistd.in.h (link): New declaration.
45403         * lib/link.c: New file.
45404         * m4/link.m4: New file.
45405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
45406         HAVE_LINK.
45407         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
45408         * modules/link: New file.
45409         * doc/posix-functions/link.texi: Mention the new module.
45410
45411 2009-01-18  Bruno Haible  <bruno@clisp.org>
45412
45413         * tests/test-avltree_list.c (main): Call set_program_name.
45414         * tests/test-avltree_oset.c (main): Likewise.
45415         * tests/test-obstack-printf.c: Include progname.h.
45416         (main): Call set_program_name.
45417         * tests/test-quotearg.c: Include progname.h.
45418         (main): Call set_program_name.
45419         * tests/test-xmemdup0.c: Include progname.h.
45420         (main): Call set_program_name.
45421
45422 2009-01-18  Bruno Haible  <bruno@clisp.org>
45423
45424         New module 'alphasort'.
45425         * lib/dirent.in.h (alphasort): New declaration.
45426         * lib/alphasort.c: New file, from glibc with modifications.
45427         * m4/alphasort.m4: New file.
45428         * modules/alphasort: New file.
45429         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
45430         HAVE_ALPHASORT.
45431         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
45432         HAVE_ALPHASORT.
45433         * doc/posix-functions/alphasort.texi: Mention the new module and the
45434         portability problems.
45435
45436 2009-01-18  Bruno Haible  <bruno@clisp.org>
45437
45438         New module 'scandir'.
45439         * lib/dirent.in.h (scandir): New declaration.
45440         * lib/scandir.c: New file, from glibc with modifications.
45441         * m4/scandir.m4: New file.
45442         * modules/scandir: New file.
45443         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
45444         HAVE_SCANDIR.
45445         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
45446         HAVE_SCANDIR.
45447         * doc/posix-functions/scandir.texi: Mention the new module and the
45448         portability problems.
45449
45450 2009-01-17  Bruno Haible  <bruno@clisp.org>
45451
45452         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
45453         Update documentation.
45454         (func_remove_suffix): Escape all dots in the suffix. Update
45455         documentation.
45456         (func_filter_filelist): Update documentation.
45457         Reported by Ralf Wildenhues.
45458
45459 2009-01-17  Bruno Haible  <bruno@clisp.org>
45460
45461         * modules/dprintf-posix-tests: New file.
45462         * tests/test-dprintf-posix.sh: New file.
45463         * tests/test-dprintf-posix.c: New file.
45464
45465         New modules 'dprintf', 'dprintf-posix'.
45466         * lib/stdio.in.h (dprintf): New declaration.
45467         * lib/dprintf.c: New file.
45468         * m4/dprintf.m4: New file.
45469         * m4/dprintf-posix.m4: New file.
45470         * modules/dprintf: New file.
45471         * modules/dprintf-posix: New file.
45472         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
45473         HAVE_DPRINTF, REPLACE_DPRINTF.
45474         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
45475         HAVE_DPRINTF, REPLACE_DPRINTF.
45476         * doc/posix-functions/dprintf.texi: Mention the new modules.
45477
45478 2009-01-17  Bruno Haible  <bruno@clisp.org>
45479
45480         * modules/vdprintf-posix-tests: New file.
45481         * tests/test-vdprintf-posix.sh: New file.
45482         * tests/test-vdprintf-posix.c: New file.
45483
45484         New modules 'vdprintf', 'vdprintf-posix'.
45485         * lib/stdio.in.h (vdprintf): New declaration.
45486         * lib/vdprintf.c: New file.
45487         * m4/vdprintf.m4: New file.
45488         * m4/vdprintf-posix.m4: New file.
45489         * modules/vdprintf: New file.
45490         * modules/vdprintf-posix: New file.
45491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
45492         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45493         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
45494         HAVE_VDPRINTF, REPLACE_VDPRINTF.
45495         * doc/posix-functions/vdprintf.texi: Mention the new modules.
45496
45497 2009-01-17  Bruno Haible  <bruno@clisp.org>
45498
45499         Fix replacement of fopen on mingw.
45500         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
45501         mingw.
45502
45503 2009-01-17  Bruno Haible  <bruno@clisp.org>
45504
45505         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
45506         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
45507
45508 2009-01-17  Bruno Haible  <bruno@clisp.org>
45509
45510         Avoid test-fflush2.sh failure on mingw.
45511         * tests/test-fflush2.c: Include binary-io.h.
45512         (main): Put standard input into binary mode.
45513         * modules/fflush-tests (Depends-on): Add binary-io.
45514
45515 2009-01-17  Bruno Haible  <bruno@clisp.org>
45516
45517         * lib/wchar.in.h: In another particular situation, include only the
45518         system's <wchar.h> file.
45519         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
45520         Reported by Albert Chin-A-Young <china@thewrittenword.com>
45521         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
45522
45523 2009-01-17  Bruno Haible  <bruno@clisp.org>
45524
45525         Support for stripping executables in --enable-relocatable.
45526         * build-aux/install-reloc: Expect one more argument, or an environment
45527         variable RELOC_STRIP_PROG. If set, strip the destination program and
45528         its wrapper.
45529         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
45530         RELOC_STRIP_PROG.
45531         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
45532         to set RELOCATABLE_STRIP.
45533         * NEWS: Mention the new Makefile requirement.
45534
45535 2009-01-17  Bruno Haible  <bruno@clisp.org>
45536
45537         * build-aux/install-reloc: Remove debugging information left over by
45538         C compiler on MacOS X.
45539
45540 2009-01-17  Bruno Haible  <bruno@clisp.org>
45541
45542         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
45543         * lib/progreloc.c (find_executable): Fix type of pointer passed to
45544         _NSGetExecutablePath.
45545
45546 2009-01-16  Jim Meyering  <meyering@redhat.com>
45547
45548         strerror: avoid warnings about discarding "const"
45549         * lib/strerror.c (rpl_strerror): Instead of returning a const
45550         string from each and every "case", use a variable, and add a single
45551         cast after the switch.
45552
45553 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
45554
45555         * lib/arpa_inet.in.h: Add extern "C" block for C++.
45556
45557 2009-01-16  Bruno Haible  <bruno@clisp.org>
45558
45559         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
45560         array initializer syntax that also works in C++ mode.
45561         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45562
45563 2009-01-16  Jim Meyering  <meyering@redhat.com>
45564
45565         poll: suppress a warning
45566         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
45567         to ignore "...unsigned expression < 0 is always false" warnings.
45568
45569 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
45570
45571         poll: remove declarations of unused variables
45572         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
45573         sockbuf and optlen.
45574
45575 2009-01-15  Bruno Haible  <bruno@clisp.org>
45576
45577         Make fflush-after-ungetc POSIX compliant on BSD systems.
45578         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
45579         (clear_ungetc_buffer): Implement also for other systems.
45580         (rpl_fflush): On glibc systems, invoke
45581         clear_ungetc_buffer_preserving_position. Otherwise, invoke
45582         clear_ungetc_buffer after fetching the stream's position, not before.
45583
45584 2009-01-15  Bruno Haible  <bruno@clisp.org>
45585
45586         Make fflush-after-ungetc POSIX compliant on glibc systems.
45587         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
45588         after ungetc.
45589         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
45590         (rpl_fflush): On glibc systems, simply call the system's fflush
45591         function after clearing the ungetc buffer.
45592         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
45593         Instead, lseek only to the end of file, then use the system's fseeko
45594         for the rest. On glibc systems, reset the EOF indicator bit.
45595
45596 2009-01-15  Jim Meyering  <meyering@redhat.com>
45597
45598         openmp.m4: revert quote-adding change, for portability to older autoconf
45599         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
45600         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
45601         Simon Josefsson noticed the problem when using autoconf-2.61.
45602
45603 2009-01-15  Bruno Haible  <bruno@clisp.org>
45604
45605         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
45606         * tests/test-fflush2.c (ASSERT): Always fail.
45607         (main): Add two tests for fflush() after ungetc(), taking into account
45608         the Austin Group's clarification.
45609         Suggested by Eric Blake.
45610
45611 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
45612
45613         mktime.m4: remove K&R-style function prototypes
45614         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
45615         for the Sun C++ compiler.
45616
45617 2009-01-14  Bruno Haible  <bruno@clisp.org>
45618
45619         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
45620         while including <wchar.h>.
45621         * lib/wchar.in.h: In two particular situations on HP-UX, include only
45622         the system's <wchar.h> file.
45623         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45624
45625 2009-01-14  Bruno Haible  <bruno@clisp.org>
45626
45627         * m4/csharp.m4: Don't mention gettext on the serial number line.
45628         * m4/csharpexec.m4: Likewise.
45629         * m4/eaccess.m4: Likewise.
45630         * m4/javaexec.m4: Likewise.
45631         * m4/sig_atomic_t.m4: Likewise.
45632         * m4/tmpdir.m4: Likewise.
45633         * m4/intldir.m4: Bump gettext version.
45634         * m4/lib-ld.m4: Likewise.
45635
45636 2009-01-14  Bruno Haible  <bruno@clisp.org>
45637
45638         * lib/progname.c (set_program_name): Add more comments.
45639         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
45640
45641 2009-01-14  Simon Josefsson  <simon@josefsson.org>
45642
45643         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
45644         were sys/stat.h does not define it.
45645
45646 2009-01-14  Jim Meyering  <meyering@redhat.com>
45647
45648         many *.m4 files: improve m4 quoting
45649         99% of this change was performed by running the following commands:
45650         git ls-files | grep '\.m4$' | xargs perl -pi \
45651           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
45652           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45653           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
45654           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
45655         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
45656         The remainder were to add Copyright dates, increment serial numbers,
45657         undo some changes in comments, exclude m4/intl.m4, and add quotes
45658         around the "1" in ",1" where the unusual spacing prohibited the
45659         above regexps from doing the job.  For more details, see
45660         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
45661         * m4/acl.m4: Modified.
45662         * m4/afs.m4: Likewise.
45663         * m4/alloca.m4: Likewise.
45664         * m4/argp.m4: Likewise.
45665         * m4/argz.m4: Likewise.
45666         * m4/atexit.m4: Likewise.
45667         * m4/bison-i18n.m4: Likewise.
45668         * m4/bison.m4: Likewise.
45669         * m4/byteswap.m4: Likewise.
45670         * m4/c-stack.m4: Likewise.
45671         * m4/c-strtod.m4: Likewise.
45672         * m4/calloc.m4: Likewise.
45673         * m4/canonicalize-lgpl.m4: Likewise.
45674         * m4/chown.m4: Likewise.
45675         * m4/clock_time.m4: Likewise.
45676         * m4/codeset.m4: Likewise.
45677         * m4/copy-file.m4: Likewise.
45678         * m4/csharp.m4: Likewise.
45679         * m4/csharpcomp.m4: Likewise.
45680         * m4/csharpexec.m4: Likewise.
45681         * m4/d-ino.m4: Likewise.
45682         * m4/d-type.m4: Likewise.
45683         * m4/dirfd.m4: Likewise.
45684         * m4/double-slash-root.m4: Likewise.
45685         * m4/eaccess.m4: Likewise.
45686         * m4/eealloc.m4: Likewise.
45687         * m4/environ.m4: Likewise.
45688         * m4/errno_h.m4: Likewise.
45689         * m4/euidaccess.m4: Likewise.
45690         * m4/execute.m4: Likewise.
45691         * m4/fatal-signal.m4: Likewise.
45692         * m4/fchdir.m4: Likewise.
45693         * m4/fcntl_h.m4: Likewise.
45694         * m4/fileblocks.m4: Likewise.
45695         * m4/filenamecat.m4: Likewise.
45696         * m4/findprog.m4: Likewise.
45697         * m4/flexmember.m4: Likewise.
45698         * m4/fnmatch.m4: Likewise.
45699         * m4/fopen.m4: Likewise.
45700         * m4/fpending.m4: Likewise.
45701         * m4/fprintf-posix.m4: Likewise.
45702         * m4/free.m4: Likewise.
45703         * m4/frexp.m4: Likewise.
45704         * m4/frexpl.m4: Likewise.
45705         * m4/fsusage.m4: Likewise.
45706         * m4/ftruncate.m4: Likewise.
45707         * m4/gc-camellia.m4: Likewise.
45708         * m4/gc-random.m4: Likewise.
45709         * m4/gc.m4: Likewise.
45710         * m4/getaddrinfo.m4: Likewise.
45711         * m4/getcwd-abort-bug.m4: Likewise.
45712         * m4/getcwd-path-max.m4: Likewise.
45713         * m4/getdate.m4: Likewise.
45714         * m4/getdomainname.m4: Likewise.
45715         * m4/getgroups.m4: Likewise.
45716         * m4/gethostname.m4: Likewise.
45717         * m4/gethrxtime.m4: Likewise.
45718         * m4/getline.m4: Likewise.
45719         * m4/getloadavg.m4: Likewise.
45720         * m4/getndelim2.m4: Likewise.
45721         * m4/getpass.m4: Likewise.
45722         * m4/gettext.m4: Likewise.
45723         * m4/gettime.m4: Likewise.
45724         * m4/gettimeofday.m4: Likewise.
45725         * m4/gnulib-common.m4: Likewise.
45726         * m4/group-member.m4: Likewise.
45727         * m4/host-os.m4: Likewise.
45728         * m4/iconv.m4: Likewise.
45729         * m4/iconv_open.m4: Likewise.
45730         * m4/inet_ntop.m4: Likewise.
45731         * m4/inet_pton.m4: Likewise.
45732         * m4/inline.m4: Likewise.
45733         * m4/intldir.m4: Likewise.
45734         * m4/intlmacosx.m4: Likewise.
45735         * m4/intmax.m4: Likewise.
45736         * m4/intmax_t.m4: Likewise.
45737         * m4/inttypes.m4: Likewise.
45738         * m4/inttypes_h.m4: Likewise.
45739         * m4/inttypes-pri.m4: Likewise.
45740         * m4/isapipe.m4: Likewise.
45741         * m4/isnand.m4: Likewise.
45742         * m4/isnanf.m4: Likewise.
45743         * m4/isnanl.m4: Likewise.
45744         * m4/javacomp.m4: Likewise.
45745         * m4/javaexec.m4: Likewise.
45746         * m4/jm-winsz1.m4: Likewise.
45747         * m4/jm-winsz2.m4: Likewise.
45748         * m4/lchown.m4: Likewise.
45749         * m4/lcmessage.m4: Likewise.
45750         * m4/ldexpl.m4: Likewise.
45751         * m4/lib-ld.m4: Likewise.
45752         * m4/lib-link.m4: Likewise.
45753         * m4/libsigsegv.m4: Likewise.
45754         * m4/link-follow.m4: Likewise.
45755         * m4/localcharset.m4: Likewise.
45756         * m4/locale-fr.m4: Likewise.
45757         * m4/locale-ja.m4: Likewise.
45758         * m4/locale-tr.m4: Likewise.
45759         * m4/locale-zh.m4: Likewise.
45760         * m4/lock.m4: Likewise.
45761         * m4/longlong.m4: Likewise.
45762         * m4/ls-mntd-fs.m4: Likewise.
45763         * m4/lstat.m4: Likewise.
45764         * m4/malloc.m4: Likewise.
45765         * m4/mathl.m4: Likewise.
45766         * m4/mbrtowc.m4: Likewise.
45767         * m4/mbstate_t.m4: Likewise.
45768         * m4/mbswidth.m4: Likewise.
45769         * m4/memchr.m4: Likewise.
45770         * m4/memcmp.m4: Likewise.
45771         * m4/memcpy.m4: Likewise.
45772         * m4/memmem.m4: Likewise.
45773         * m4/memmove.m4: Likewise.
45774         * m4/mempcpy.m4: Likewise.
45775         * m4/memrchr.m4: Likewise.
45776         * m4/memset.m4: Likewise.
45777         * m4/minmax.m4: Likewise.
45778         * m4/mkdir-slash.m4: Likewise.
45779         * m4/mkdtemp.m4: Likewise.
45780         * m4/mktime.m4: Likewise.
45781         * m4/mmap-anon.m4: Likewise.
45782         * m4/mountlist.m4: Likewise.
45783         * m4/nanosleep.m4: Likewise.
45784         * m4/nls.m4: Likewise.
45785         * m4/nocrash.m4: Likewise.
45786         * m4/open.m4: Likewise.
45787         * m4/openat.m4: Likewise.
45788         * m4/openmp.m4: Likewise.
45789         * m4/pathmax.m4: Likewise.
45790         * m4/perl.m4: Likewise.
45791         * m4/physmem.m4: Likewise.
45792         * m4/pipe.m4: Likewise.
45793         * m4/po.m4: Likewise.
45794         * m4/poll.m4: Likewise.
45795         * m4/posixtm.m4: Likewise.
45796         * m4/posixver.m4: Likewise.
45797         * m4/printf-frexp.m4: Likewise.
45798         * m4/printf-frexpl.m4: Likewise.
45799         * m4/printf-posix.m4: Likewise.
45800         * m4/printf-posix-rpl.m4: Likewise.
45801         * m4/printf.m4: Likewise.
45802         * m4/progtest.m4: Likewise.
45803         * m4/putenv.m4: Likewise.
45804         * m4/readline.m4: Likewise.
45805         * m4/readlink.m4: Likewise.
45806         * m4/readutmp.m4: Likewise.
45807         * m4/realloc.m4: Likewise.
45808         * m4/regex.m4: Likewise.
45809         * m4/relocatable.m4: Likewise.
45810         * m4/relocatable-lib.m4: Likewise.
45811         * m4/rename-dest-slash.m4: Likewise.
45812         * m4/rename.m4: Likewise.
45813         * m4/rmdir-errno.m4: Likewise.
45814         * m4/rmdir.m4: Likewise.
45815         * m4/roundf.m4: Likewise.
45816         * m4/roundl.m4: Likewise.
45817         * m4/rpmatch.m4: Likewise.
45818         * m4/save-cwd.m4: Likewise.
45819         * m4/selinux-selinux-h.m4: Likewise.
45820         * m4/setenv.m4: Likewise.
45821         * m4/settime.m4: Likewise.
45822         * m4/sig2str.m4: Likewise.
45823         * m4/sig_atomic_t.m4: Likewise.
45824         * m4/signalblocking.m4: Likewise.
45825         * m4/signbit.m4: Likewise.
45826         * m4/sigpipe.m4: Likewise.
45827         * m4/sockets.m4: Likewise.
45828         * m4/sockpfaf.m4: Likewise.
45829         * m4/st_dm_mode.m4: Likewise.
45830         * m4/stat-time.m4: Likewise.
45831         * m4/stdbool.m4: Likewise.
45832         * m4/stdint.m4: Likewise.
45833         * m4/stdint_h.m4: Likewise.
45834         * m4/stpcpy.m4: Likewise.
45835         * m4/stpncpy.m4: Likewise.
45836         * m4/strcase.m4: Likewise.
45837         * m4/strchrnul.m4: Likewise.
45838         * m4/strcspn.m4: Likewise.
45839         * m4/strdup.m4: Likewise.
45840         * m4/strftime.m4: Likewise.
45841         * m4/strndup.m4: Likewise.
45842         * m4/strnlen.m4: Likewise.
45843         * m4/strpbrk.m4: Likewise.
45844         * m4/strptime.m4: Likewise.
45845         * m4/strsep.m4: Likewise.
45846         * m4/strtod.m4: Likewise.
45847         * m4/strtoimax.m4: Likewise.
45848         * m4/strtok_r.m4: Likewise.
45849         * m4/strtol.m4: Likewise.
45850         * m4/strtoll.m4: Likewise.
45851         * m4/strtoul.m4: Likewise.
45852         * m4/strtoull.m4: Likewise.
45853         * m4/strtoumax.m4: Likewise.
45854         * m4/strverscmp.m4: Likewise.
45855         * m4/threadlib.m4: Likewise.
45856         * m4/timegm.m4: Likewise.
45857         * m4/tm_gmtoff.m4: Likewise.
45858         * m4/tmpdir.m4: Likewise.
45859         * m4/tmpfile.m4: Likewise.
45860         * m4/tzset.m4: Likewise.
45861         * m4/uintmax_t.m4: Likewise.
45862         * m4/unlinkdir.m4: Likewise.
45863         * m4/unlocked-io.m4: Likewise.
45864         * m4/uptime.m4: Likewise.
45865         * m4/userspec.m4: Likewise.
45866         * m4/utimbuf.m4: Likewise.
45867         * m4/utime.m4: Likewise.
45868         * m4/utimes-null.m4: Likewise.
45869         * m4/utimes.m4: Likewise.
45870         * m4/vararrays.m4: Likewise.
45871         * m4/vasnprintf.m4: Likewise.
45872         * m4/vfprintf-posix.m4: Likewise.
45873         * m4/vprintf-posix.m4: Likewise.
45874         * m4/wait-process.m4: Likewise.
45875         * m4/wchar_t.m4: Likewise.
45876         * m4/wint_t.m4: Likewise.
45877         * m4/write-any-file.m4: Likewise.
45878         * m4/yield.m4: Likewise.
45879
45880 2009-01-13  Bruno Haible  <bruno@clisp.org>
45881
45882         Avoid test-copy-file.sh failures when ACL support insufficient.
45883         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
45884         TESTS_ENVIRONMENT.
45885         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
45886         Reported by Jim Meyering.
45887
45888 2009-01-13  Bruno Haible  <bruno@clisp.org>
45889
45890         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
45891         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
45892         * modules/unistdio/u8-printf-parse (Files): Likewise.
45893         * modules/unistdio/u32-printf-parse (Files): Likewise.
45894         * modules/unistdio/ulc-printf-parse (Files): Likewise.
45895
45896 2009-01-13  Simon Josefsson  <simon@josefsson.org>
45897
45898         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
45899         and m4/inttypes_h.m4 too.
45900
45901 2009-01-12  Eric Blake  <ebb9@byu.net>
45902
45903         tests: IRIX 6.2 cc can't compile -0.0 into .data
45904         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
45905         rather than at compile-time.
45906         * tests/test-floorl.c (minus_zero): Likewise.
45907         * tests/test-frexpl.c (minus_zero): Likewise.
45908         * tests/test-isnan.c (minus_zerol): Likewise.
45909         * tests/test-isnanl.h (minus_zero): Likewise.
45910         * tests/test-ldexpl.c (minus_zero): Likewise.
45911         * tests/test-roundl.c (minus_zero): Likewise.
45912         * tests/test-signbit.c (minus_zerol): Likewise.
45913         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
45914         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
45915         * tests/test-truncl.c (minus_zero): Likewise.
45916         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
45917         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
45918         Reported by Tom G. Christensen and Nelson H. F. Beebe.
45919
45920 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45921
45922         regex: fix glibc bug 9697
45923         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
45924         handling.
45925
45926 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45927
45928         regex: fix glibc bug 697
45929         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
45930         being NULL also if there are no backreferences.
45931
45932 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
45933
45934         regex: merge glibc changes
45935         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
45936         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
45937         re_string_skip_chars, re_string_reconstruct): Likewise.
45938         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
45939
45940 2009-01-07  Jim Meyering  <meyering@redhat.com>
45941
45942         poll: filter through cppi
45943         * lib/poll.c: Indent cpp directives to reflect nesting.
45944
45945 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
45946
45947         poll: don't return uninitialized
45948         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
45949
45950 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
45951
45952         avoid compile failure on AIX 6.1
45953         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
45954         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
45955
45956 2009-01-04  Jim Meyering  <meyering@redhat.com>
45957
45958         remove duplicate inclusion of <stdio.h>
45959         * tests/test-fprintf-posix.c: Likewise.
45960         * tests/test-printf-posix.c: Likewise.
45961         * tests/test-snprintf-posix.c: Likewise.
45962         * tests/test-sprintf-posix.c: Likewise.
45963         * tests/test-vasprintf-posix.c: Likewise.
45964         * tests/test-vfprintf-posix.c: Likewise.
45965         * tests/test-vprintf-posix.c: Likewise.
45966         * tests/test-vsnprintf-posix.c: Likewise.
45967         * tests/test-vsprintf-posix.c: Likewise.
45968
45969 2009-01-03  Jim Meyering  <meyering@redhat.com>
45970
45971         gnulib-tool: fix sed-based filtering
45972         * gnulib-tool (func_filter_filelist): Remove extra backslash
45973         in sed_fff_filter definition.
45974
45975 2009-01-02  Jim Meyering  <meyering@redhat.com>
45976
45977         strftime: avoid compilation failure on Solaris 2.6
45978         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45979         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45980         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45981         be available.  Reported by Tom G. Christensen.  Details in
45982         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45983
45984 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45985             Bruno Haible  <bruno@clisp.org>
45986
45987         Speed up gnulib-tool by doing more string processing through shell
45988         built-ins.
45989         * gnulib-tool (fast_func_append): New variable.
45990         (func_remove_prefix, func_remove_suffix): New functions.
45991         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45992         (func_filter_filelist): New function.
45993         (func_get_dependencies): Use func_remove_suffix instead of sed.
45994         (func_get_automake_snippet): Use func_filter_filelist instead of a
45995         subshell and sed invocation.
45996
45997 2009-01-01  Bruno Haible  <bruno@clisp.org>
45998
45999         Fix a security bug.
46000         * gnulib-tool (func_import, import, update): Don't allow the characters
46001         '"', '$', '`', '\' in macro arguments that become part of commands that
46002         are evaluated.
46003
46004 2009-01-01  Bruno Haible  <bruno@clisp.org>
46005
46006         * gnulib-tool (func_reset_sigpipe): Add more comments.
46007
46008 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46009
46010         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46011         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46012         already know the answer.
46013
46014 2009-01-01  Jim Meyering  <meyering@redhat.com>
46015
46016         * lib/version-etc.c (version_etc_va): Update copyright year.
46017
46018 2008-12-30  Bruno Haible  <bruno@clisp.org>
46019
46020         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46021         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46022         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46023
46024 2008-12-29  Eric Blake  <ebb9@byu.net>
46025
46026         multiarch: avoid autoconf AC_REQUIRE bug
46027         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46028         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46029         2.63 and older.
46030         Reported by Bruno Haible, and analyzed in
46031         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46032
46033 2008-12-29  Bruno Haible  <bruno@clisp.org>
46034
46035         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46036         files in subdirectories correctly.
46037         Reported by Ralf Wildenhues.
46038
46039 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46040
46041         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46042         rather than 'join FILE -', for Solaris join.
46043
46044 2008-12-29  Bruno Haible  <bruno@clisp.org>
46045
46046         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46047         quoting.
46048         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46049         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46050         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46051         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46052         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46053         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46054         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46055         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46056         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46057         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46058         * m4/nls.m4 (AM_NLS): Likewise.
46059         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46060         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46061         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46062         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46063         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46064         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46065         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46066         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46067         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46068         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46069         * m4/xsize.m4 (gl_XSIZE): Likewise.
46070         Suggested by Jim Meyering.
46071
46072 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46073
46074         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46075         * lib/parse-duration.c: use a switch instead of cascading if's.
46076
46077 2008-12-29  Eric Blake  <ebb9@byu.net>
46078
46079         wchar.h: supply WEOF on Irix 5.3
46080         * lib/wchar.in.h (wint_t): Also supply WEOF.
46081         * lib/wctype.in.h (wint_t): Likewise.
46082         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46083         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46084         Reported by Tom G. Christensen.
46085
46086 2008-12-26  Bruno Haible  <bruno@clisp.org>
46087
46088         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46089         i486, i586, i686.
46090
46091 2008-12-26  Bruno Haible  <bruno@clisp.org>
46092
46093         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46094
46095 2008-12-26  Bruno Haible  <bruno@clisp.org>
46096
46097         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46098         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46099         not __STDC_CONSTANT_MACROS.
46100         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46101
46102 2008-12-25  Bruno Haible  <bruno@clisp.org>
46103
46104         Add support for universal builds to vasnprintf.
46105         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46106         universal builds, guess no.
46107         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46108         * modules/vasprintf-posix (Depends-on): Likewise.
46109         * modules/fprintf-posix (Depends-on): Likewise.
46110         * modules/vfprintf-posix (Depends-on): Likewise.
46111         * modules/snprintf-posix (Depends-on): Likewise.
46112         * modules/vsnprintf-posix (Depends-on): Likewise.
46113         * modules/sprintf-posix (Depends-on): Likewise.
46114         * modules/vsprintf-posix (Depends-on): Likewise.
46115         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46116         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46117         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46118         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46119         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46120         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46121         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46122
46123         Add support for universal builds to <inttypes.h>.
46124         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46125         _SCNu64_PREFIX): In Apple
46126         universal builds, define directly, using _LP64.
46127         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46128         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46129         * modules/inttypes (Depends-on): Add multiarch.
46130         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46131
46132         Add support for universal builds to <stdint.h>.
46133         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46134         universal builds, define directly, using _LP64.
46135         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46136         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46137         and size_t.
46138         * modules/stdint (Depends-on): Add multiarch.
46139         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46140
46141         New module 'multiarch'.
46142         * modules/multiarch: New file.
46143         * m4/multiarch.m4: New file.
46144
46145 2008-12-25  Bruno Haible  <bruno@clisp.org>
46146
46147         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46148
46149 2008-12-25  Bruno Haible  <bruno@clisp.org>
46150
46151         * modules/btowc (License): Relicense under LGPLv2+.
46152         * modules/mbsinit (License): Likewise.
46153         * modules/mbrtowc (License): Likewise.
46154         * modules/wcrtomb (License): Likewise.
46155         * modules/streq (License): Likewise.
46156         Reported by David Lutterkort <lutter@redhat.com>.
46157
46158 2008-12-23  Bruno Haible  <bruno@clisp.org>
46159
46160         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46161
46162 2008-12-23  Bruno Haible  <bruno@clisp.org>
46163
46164         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46165         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46166         GETADDRINFO_LIB, not in LIBS.
46167         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46168         * modules/canon-host (Link): Likewise.
46169         * NEWS: Mention the change.
46170         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46171         GETADDRINFO_LIB.
46172
46173 2008-12-22  Bruno Haible  <bruno@clisp.org>
46174
46175         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46176         * doc/posix-functions/iswalpha_l.texi: Likewise.
46177         * doc/posix-functions/iswblank_l.texi: Likewise.
46178         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46179         * doc/posix-functions/iswctype_l.texi: Likewise.
46180         * doc/posix-functions/iswdigit_l.texi: Likewise.
46181         * doc/posix-functions/iswgraph_l.texi: Likewise.
46182         * doc/posix-functions/iswlower_l.texi: Likewise.
46183         * doc/posix-functions/iswprint_l.texi: Likewise.
46184         * doc/posix-functions/iswpunct_l.texi: Likewise.
46185         * doc/posix-functions/iswspace_l.texi: Likewise.
46186         * doc/posix-functions/iswupper_l.texi: Likewise.
46187         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46188         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46189         * doc/posix-functions/open_wmemstream.texi: Likewise.
46190         * doc/posix-functions/swscanf.texi: Likewise.
46191         * doc/posix-functions/towctrans_l.texi: Likewise.
46192         * doc/posix-functions/towlower.texi: Likewise.
46193         * doc/posix-functions/towlower_l.texi: Likewise.
46194         * doc/posix-functions/towupper.texi: Likewise.
46195         * doc/posix-functions/towupper_l.texi: Likewise.
46196         * doc/posix-functions/vfwprintf.texi: Likewise.
46197         * doc/posix-functions/vfwscanf.texi: Likewise.
46198         * doc/posix-functions/vswscanf.texi: Likewise.
46199         * doc/posix-functions/vwprintf.texi: Likewise.
46200         * doc/posix-functions/vwscanf.texi: Likewise.
46201         * doc/posix-functions/wcpcpy.texi: Likewise.
46202         * doc/posix-functions/wcpncpy.texi: Likewise.
46203         * doc/posix-functions/wcscasecmp.texi: Likewise.
46204         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46205         * doc/posix-functions/wcscoll_l.texi: Likewise.
46206         * doc/posix-functions/wcsdup.texi: Likewise.
46207         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46208         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46209         * doc/posix-functions/wcsnlen.texi: Likewise.
46210         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46211         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46212         * doc/posix-functions/wctrans_l.texi: Likewise.
46213         * doc/posix-functions/wctype_l.texi: Likewise.
46214         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46215         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46216         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46217         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46218         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46219         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46220         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46221         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46222         * doc/glibc-functions/wcschrnul.texi: Likewise.
46223         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46224         * doc/glibc-functions/wcstod_l.texi: Likewise.
46225         * doc/glibc-functions/wcstof_l.texi: Likewise.
46226         * doc/glibc-functions/wcstol_l.texi: Likewise.
46227         * doc/glibc-functions/wcstold_l.texi: Likewise.
46228         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46229         * doc/glibc-functions/wcstoq.texi: Likewise.
46230         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46231         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46232         * doc/glibc-functions/wcstouq.texi: Likewise.
46233         * doc/glibc-functions/wmempcpy.texi: Likewise.
46234
46235 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46236             Eric Blake  <ebb9@byu.net>
46237             Paolo Bonzini  <bonzini@gnu.org>
46238             Bruno Haible  <bruno@clisp.org>
46239
46240         Make c-stack work on Haiku.
46241         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46242         (c_stack_action): Use SA_ONSTACK flag.
46243
46244 2008-12-22  Bruno Haible  <bruno@clisp.org>
46245
46246         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46247
46248 2008-12-22  Bruno Haible  <bruno@clisp.org>
46249
46250         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46251         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46252         being overridden.
46253         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46254         New macros.
46255         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46256         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46257         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46258         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46259
46260 2008-12-22  Bruno Haible  <bruno@clisp.org>
46261
46262         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46263         from test code.
46264
46265 2008-12-22  Eric Blake  <ebb9@byu.net>
46266
46267         Avoid gcc warnings on cygwin.
46268         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46269         Avoid unused variable.
46270         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46271         Likewise.
46272
46273 2008-12-22  Bruno Haible  <bruno@clisp.org>
46274
46275         Remove HAVE_MBRTOWC conditionals.
46276         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46277         (mbscasecmp): Assume mbrtowc function.
46278         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46279         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46280         * lib/mbschr.c: Include mbuiter.h unconditionally.
46281         (mbschr): Assume mbrtowc function.
46282         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46283         (mbscspn): Assume mbrtowc function.
46284         * lib/mbslen.c: Include mbuiter.h unconditionally.
46285         (mbslen): Assume mbrtowc function.
46286         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46287         (mbsncasecmp): Assume mbrtowc function.
46288         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46289         (mbsnlen): Assume mbrtowc function.
46290         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46291         (mbspbrk): Assume mbrtowc function.
46292         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46293         (mbspcasecmp): Assume mbrtowc function.
46294         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46295         (mbsrchr): Assume mbrtowc function.
46296         * lib/mbssep.c: Include mbuiter.h unconditionally.
46297         (mbssep): Assume mbrtowc function.
46298         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46299         (mbsspn): Assume mbrtowc function.
46300         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46301         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46302         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46303         (mbstok_r): Assume mbrtowc function.
46304         * lib/propername.c: Include mbuiter.h unconditionally.
46305         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46306         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46307         (trim2): Assume mbrtowc function.
46308         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46309         (mbsnwidth): Assume mbrtowc function.
46310         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46311         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46312         fallback definitions.
46313         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46314
46315 2008-12-22  Bruno Haible  <bruno@clisp.org>
46316
46317         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46318
46319 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46320
46321         * modules/regex: Request emulations for the mb*/wc* functions we need.
46322         * m4/regex.m4: Don't look for those functions here.
46323         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46324
46325 2008-12-22  Bruno Haible  <bruno@clisp.org>
46326
46327         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46328
46329 2008-12-21  Bruno Haible  <bruno@clisp.org>
46330
46331         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
46332         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
46333         (Include): Remove conditionalization.
46334         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
46335         (Include): Remove conditionalization.
46336         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
46337         (Include): Remove conditionalization.
46338         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
46339         * m4/mbfile.m4 (gl_MBFILE): Likewise.
46340         * NEWS: Mention the change.
46341         Reported by Alan Hourihane <alanh@fairlite.co.uk>
46342         via Sergey Poznyakoff <gray@gnu.org.ua>.
46343
46344 2008-12-21  Bruno Haible  <bruno@clisp.org>
46345
46346         * MODULES.html.sh (Extended multibyte and wide character utilities
46347         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
46348         wcrtomb, wcsrtombs.
46349         (Support for systems lacking POSIX:2008): Add accept, bind, close,
46350         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
46351         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
46352         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
46353
46354 2008-12-21  Bruno Haible  <bruno@clisp.org>
46355
46356         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
46357
46358 2008-12-21  Bruno Haible  <bruno@clisp.org>
46359
46360         * modules/wcsnrtombs-tests: New file.
46361         * tests/test-wcsnrtombs1.sh: New file.
46362         * tests/test-wcsnrtombs2.sh: New file.
46363         * tests/test-wcsnrtombs3.sh: New file.
46364         * tests/test-wcsnrtombs4.sh: New file.
46365         * tests/test-wcsnrtombs.c: New file.
46366
46367         New module 'wcsnrtombs'.
46368         * lib/wchar.in.h (wcsnrtombs): New declaration.
46369         * lib/wcsnrtombs.c: New file.
46370         * lib/wcsrtombs-state.c: New file.
46371         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
46372         (internal_state): Remove variable.
46373         * m4/wcsnrtombs.m4: New file.
46374         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
46375         compilation units.
46376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
46377         HAVE_WCSNRTOMBS.
46378         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
46379         HAVE_WCSNRTOMBS.
46380         * modules/wcsnrtombs: New file.
46381         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
46382         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
46383
46384 2008-12-21  Bruno Haible  <bruno@clisp.org>
46385
46386         * modules/wcsrtombs-tests: New file.
46387         * tests/test-wcsrtombs1.sh: New file.
46388         * tests/test-wcsrtombs2.sh: New file.
46389         * tests/test-wcsrtombs3.sh: New file.
46390         * tests/test-wcsrtombs4.sh: New file.
46391         * tests/test-wcsrtombs.c: New file.
46392
46393         New module 'wcsrtombs'.
46394         * lib/wchar.in.h (wcsrtombs): New declaration.
46395         * lib/wcsrtombs.c: New file.
46396         * m4/wcsrtombs.m4: New file.
46397         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
46398         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46399         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
46400         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
46401         * modules/wcsrtombs: New file.
46402         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
46403         bugs.
46404
46405 2008-12-21  Bruno Haible  <bruno@clisp.org>
46406
46407         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
46408         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
46409         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
46410         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
46411         if not correct.
46412         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
46413         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
46414         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46415         m4/locale-zh.m4, m4/codeset.m4.
46416         * doc/posix-functions/wcrtomb.texi: Document the bug.
46417
46418 2008-12-21  Bruno Haible  <bruno@clisp.org>
46419
46420         Work around a btowc() bug on IRIX 6.5.
46421         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
46422         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
46423         REPLACE_WTOBC if not.
46424         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
46425         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
46426         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
46427
46428 2008-12-21  Bruno Haible  <bruno@clisp.org>
46429
46430         * modules/wcrtomb-tests: New file.
46431         * tests/test-wcrtomb.sh: New file.
46432         * tests/test-wcrtomb.c: New file.
46433
46434         New module 'wcrtomb'.
46435         * lib/wchar.in.h (wcrtomb): New declaration.
46436         * lib/wcrtomb.c: New file.
46437         * m4/wcrtomb.m4: New file.
46438         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
46439         HAVE_WCRTOMB.
46440         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
46441         HAVE_WCRTOMB.
46442         * modules/wcrtomb: New file.
46443         * doc/posix-functions/wcrtomb.texi: Mention the new module.
46444
46445 2008-12-21  Bruno Haible  <bruno@clisp.org>
46446
46447         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
46448         * modules/mbsrtowcs (Files): Likewise.
46449         * modules/wctob (Files): Likewise.
46450         * modules/c-strcase-tests (Files): Likewise.
46451         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
46452         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
46453         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
46454         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
46455         * modules/vasnprintf-posix-tests (Files): Likewise.
46456
46457 2008-12-21  William Pursell  <bill.pursell@gmail.com>
46458
46459         gitlog-to-changelog: pass all command-line arguments to git-log
46460         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
46461         it is sometimes convenient to filter the commits in various ways.
46462         gitlog-to-changelog only allows --since to specify a start date,
46463         but git-log itself supports many other filtering mechanisms.
46464         At the moment, I want to filter by branch name.  Rather than
46465         adding a --branch option to gitlog-to-changelog, it seems more
46466         flexible to simply pass all options directly to git-log and let
46467         git do the work.  Notice that this effectively makes --since a
46468         redundant option for gitlog-to-changelog, but removing it would
46469         require current usage to change since calls would then require
46470         an additional '--'.
46471
46472 2008-12-21  Bruno Haible  <bruno@clisp.org>
46473
46474         * modules/mbsnrtowcs-tests: New file.
46475         * tests/test-mbsnrtowcs1.sh: New file.
46476         * tests/test-mbsnrtowcs2.sh: New file.
46477         * tests/test-mbsnrtowcs3.sh: New file.
46478         * tests/test-mbsnrtowcs4.sh: New file.
46479         * tests/test-mbsnrtowcs.c: New file.
46480
46481         New module 'mbsnrtowcs'.
46482         * lib/wchar.in.h (mbsnrtowcs): New declaration.
46483         * lib/mbsnrtowcs.c: New file.
46484         * lib/mbsrtowcs-state.c: New file.
46485         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
46486         (internal_state): Remove variable.
46487         * m4/mbsnrtowcs.m4: New file.
46488         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
46489         compilation units.
46490         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
46491         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46492         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
46493         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
46494         * modules/mbsnrtowcs: New file.
46495         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
46496         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
46497         portability problem.
46498
46499 2008-12-21  Bruno Haible  <bruno@clisp.org>
46500
46501         Work around mbsrtowcs bug.
46502         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
46503         (gl_FUNC_MBSRTOWCS): Invoke it.
46504         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46505         m4/locale-zh.m4.
46506         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
46507
46508 2008-12-21  Bruno Haible  <bruno@clisp.org>
46509
46510         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
46511
46512 2008-12-21  Bruno Haible  <bruno@clisp.org>
46513
46514         Update doc for AIX.
46515         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
46516         16-bit wchar_t type.
46517         * doc/posix-functions/btowc.texi: Likewise.
46518         * doc/posix-functions/fgetwc.texi: Likewise.
46519         * doc/posix-functions/fgetws.texi: Likewise.
46520         * doc/posix-functions/fputwc.texi: Likewise.
46521         * doc/posix-functions/fputws.texi: Likewise.
46522         * doc/posix-functions/fwide.texi: Likewise.
46523         * doc/posix-functions/fwprintf.texi: Likewise.
46524         * doc/posix-functions/fwscanf.texi: Likewise.
46525         * doc/posix-functions/getwchar.texi: Likewise.
46526         * doc/posix-functions/getwc.texi: Likewise.
46527         * doc/posix-functions/iswalnum.texi: Likewise.
46528         * doc/posix-functions/iswalpha.texi: Likewise.
46529         * doc/posix-functions/iswblank.texi: Likewise.
46530         * doc/posix-functions/iswcntrl.texi: Likewise.
46531         * doc/posix-functions/iswctype.texi: Likewise.
46532         * doc/posix-functions/iswdigit.texi: Likewise.
46533         * doc/posix-functions/iswgraph.texi: Likewise.
46534         * doc/posix-functions/iswlower.texi: Likewise.
46535         * doc/posix-functions/iswprint.texi: Likewise.
46536         * doc/posix-functions/iswpunct.texi: Likewise.
46537         * doc/posix-functions/iswspace.texi: Likewise.
46538         * doc/posix-functions/iswupper.texi: Likewise.
46539         * doc/posix-functions/iswxdigit.texi: Likewise.
46540         * doc/posix-functions/mbrtowc.texi: Likewise.
46541         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46542         * doc/posix-functions/mbstowcs.texi: Likewise.
46543         * doc/posix-functions/mbtowc.texi: Likewise.
46544         * doc/posix-functions/putwchar.texi: Likewise.
46545         * doc/posix-functions/putwc.texi: Likewise.
46546         * doc/posix-functions/swprintf.texi: Likewise.
46547         * doc/posix-functions/tolower.texi: Likewise.
46548         * doc/posix-functions/toupper.texi: Likewise.
46549         * doc/posix-functions/towctrans.texi: Likewise.
46550         * doc/posix-functions/ungetwc.texi: Likewise.
46551         * doc/posix-functions/vswprintf.texi: Likewise.
46552         * doc/posix-functions/wcrtomb.texi: Likewise.
46553         * doc/posix-functions/wcscat.texi: Likewise.
46554         * doc/posix-functions/wcschr.texi: Likewise.
46555         * doc/posix-functions/wcscmp.texi: Likewise.
46556         * doc/posix-functions/wcscoll.texi: Likewise.
46557         * doc/posix-functions/wcscpy.texi: Likewise.
46558         * doc/posix-functions/wcscspn.texi: Likewise.
46559         * doc/posix-functions/wcsftime.texi: Likewise.
46560         * doc/posix-functions/wcslen.texi: Likewise.
46561         * doc/posix-functions/wcsncat.texi: Likewise.
46562         * doc/posix-functions/wcsncmp.texi: Likewise.
46563         * doc/posix-functions/wcsncpy.texi: Likewise.
46564         * doc/posix-functions/wcspbrk.texi: Likewise.
46565         * doc/posix-functions/wcsrchr.texi: Likewise.
46566         * doc/posix-functions/wcsrtombs.texi: Likewise.
46567         * doc/posix-functions/wcsspn.texi: Likewise.
46568         * doc/posix-functions/wcsstr.texi: Likewise.
46569         * doc/posix-functions/wcstod.texi: Likewise.
46570         * doc/posix-functions/wcstof.texi: Likewise.
46571         * doc/posix-functions/wcstoimax.texi: Likewise.
46572         * doc/posix-functions/wcstok.texi: Likewise.
46573         * doc/posix-functions/wcstold.texi: Likewise.
46574         * doc/posix-functions/wcstoll.texi: Likewise.
46575         * doc/posix-functions/wcstol.texi: Likewise.
46576         * doc/posix-functions/wcstombs.texi: Likewise.
46577         * doc/posix-functions/wcstoull.texi: Likewise.
46578         * doc/posix-functions/wcstoul.texi: Likewise.
46579         * doc/posix-functions/wcstoumax.texi: Likewise.
46580         * doc/posix-functions/wcswidth.texi: Likewise.
46581         * doc/posix-functions/wcsxfrm.texi: Likewise.
46582         * doc/posix-functions/wctob.texi: Likewise.
46583         * doc/posix-functions/wctomb.texi: Likewise.
46584         * doc/posix-functions/wctrans.texi: Likewise.
46585         * doc/posix-functions/wctype.texi: Likewise.
46586         * doc/posix-functions/wcwidth.texi: Likewise.
46587         * doc/posix-functions/wmemchr.texi: Likewise.
46588         * doc/posix-functions/wmemcmp.texi: Likewise.
46589         * doc/posix-functions/wmemcpy.texi: Likewise.
46590         * doc/posix-functions/wmemmove.texi: Likewise.
46591         * doc/posix-functions/wmemset.texi: Likewise.
46592         * doc/posix-functions/wprintf.texi: Likewise.
46593         * doc/posix-functions/wscanf.texi: Likewise.
46594
46595 2008-12-21  Bruno Haible  <bruno@clisp.org>
46596
46597         Update doc for HP-UX 11.11.
46598         * doc/posix-functions/btowc.texi: Clarify that the function is missing
46599         in HP-UX version 11.00, not in all versions of HP-UX 11.
46600         * doc/posix-functions/fwide.texi: Likewise.
46601         * doc/posix-functions/fwprintf.texi: Likewise.
46602         * doc/posix-functions/fwscanf.texi: Likewise.
46603         * doc/posix-functions/inet_ntop.texi: Likewise.
46604         * doc/posix-functions/inet_pton.texi: Likewise.
46605         * doc/posix-functions/mbrlen.texi: Likewise.
46606         * doc/posix-functions/mbrtowc.texi: Likewise.
46607         * doc/posix-functions/mbsinit.texi: Likewise.
46608         * doc/posix-functions/mbsrtowcs.texi: Likewise.
46609         * doc/posix-functions/swprintf.texi: Likewise.
46610         * doc/posix-functions/swscanf.texi: Likewise.
46611         * doc/posix-functions/towctrans.texi: Likewise.
46612         * doc/posix-functions/vfwprintf.texi: Likewise.
46613         * doc/posix-functions/vswprintf.texi: Likewise.
46614         * doc/posix-functions/vwprintf.texi: Likewise.
46615         * doc/posix-functions/wcrtomb.texi: Likewise.
46616         * doc/posix-functions/wcsrtombs.texi: Likewise.
46617         * doc/posix-functions/wcsstr.texi: Likewise.
46618         * doc/posix-functions/wctob.texi: Likewise.
46619         * doc/posix-functions/wctrans.texi: Likewise.
46620         * doc/posix-functions/wmemchr.texi: Likewise.
46621         * doc/posix-functions/wmemcmp.texi: Likewise.
46622         * doc/posix-functions/wmemcpy.texi: Likewise.
46623         * doc/posix-functions/wmemmove.texi: Likewise.
46624         * doc/posix-functions/wmemset.texi: Likewise.
46625         * doc/posix-functions/wprintf.texi: Likewise.
46626         * doc/posix-functions/wscanf.texi: Likewise.
46627
46628 2008-12-21  Bruno Haible  <bruno@clisp.org>
46629
46630         Work around a portability problem.
46631         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
46632         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
46633
46634 2008-12-20  Bruno Haible  <bruno@clisp.org>
46635
46636         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
46637         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
46638         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
46639         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
46640         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
46641
46642         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
46643         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
46644         set.
46645         (GNULIB_defined_mbstate_t): New macro.
46646         (mbsinit): Redefine if REPLACE_MBSINIT is set.
46647         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
46648         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
46649         reuses the system's mbrtowc function but works around the bugs.
46650         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
46651         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
46652         macros.
46653         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
46654         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
46655         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
46656         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
46657         REPLACE_MBSINIT if mbsinit needs to be overridden.
46658         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
46659         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46660         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
46661         REPLACE_MBSINIT, REPLACE_MBRTOWC.
46662         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
46663         m4/locale-zh.m4.
46664         (Depends): Add mbsinit.
46665         * modules/mbsinit (Depends): Add mbrtowc.
46666         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
46667
46668 2008-12-20  Bruno Haible  <bruno@clisp.org>
46669
46670         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
46671         so that there are no conversion errors on AIX.
46672         * tests/test-mbsrtowcs.c (main): LIkewise.
46673
46674 2008-12-20  Bruno Haible  <bruno@clisp.org>
46675
46676         Work around wctob bug on Solaris <= 9.
46677         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
46678         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
46679         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
46680         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
46681         * modules/wctob (Files): Add m4/locale-fr.m4.
46682         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
46683
46684 2008-12-20  Bruno Haible  <bruno@clisp.org>
46685
46686         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
46687         /dev/null.
46688         * tests/test-select-in.sh: Likewise.
46689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46690
46691 2008-12-20  Bruno Haible  <bruno@clisp.org>
46692
46693         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
46694         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
46695         Cygwin 1.5.x.
46696
46697 2008-12-20  Bruno Haible  <bruno@clisp.org>
46698
46699         Ensure mbstate_t is defined on HP-UX 11.11.
46700         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
46701         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
46702         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
46703         AC_USE_SYSTEM_EXTENSIONS.
46704         * modules/fnmatch (Depends-on): Add extensions.
46705         * modules/mbrlen (Depends-on): Likewise.
46706         * modules/mbrtowc (Depends-on): Likewise.
46707         * modules/mbsinit (Depends-on): Likewise.
46708         * modules/mbsrtowcs (Depends-on): Likewise.
46709         * modules/mbswidth (Depends-on): Likewise.
46710         * modules/quotearg (Depends-on): Likewise.
46711         * modules/strftime (Depends-on): Likewise.
46712
46713 2008-12-20  Bruno Haible  <bruno@clisp.org>
46714
46715         Ensure wctob is declared on IRIX 6.5.
46716         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
46717         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
46718         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
46719         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
46720         of HAVE_WCTOB.
46721         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
46722         HAVE_WCTOB.
46723         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
46724
46725 2008-12-19  Bruno Haible  <bruno@clisp.org>
46726
46727         * modules/mbsrtowcs-tests: New file.
46728         * tests/test-mbsrtowcs1.sh: New file.
46729         * tests/test-mbsrtowcs2.sh: New file.
46730         * tests/test-mbsrtowcs3.sh: New file.
46731         * tests/test-mbsrtowcs4.sh: New file.
46732         * tests/test-mbsrtowcs.c: New file.
46733
46734         New module 'mbsrtowcs'.
46735         * lib/wchar.in.h (mbsrtowcs): New declaration.
46736         * lib/mbsrtowcs.c: New file.
46737         * m4/mbsrtowcs.m4: New file.
46738         * modules/mbsrtowcs: New file.
46739         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
46740         HAVE_MBSRTOWCS.
46741         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
46742         HAVE_MBSRTOWCS.
46743         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
46744
46745 2008-12-19  Bruno Haible  <bruno@clisp.org>
46746
46747         New module 'mbrlen'.
46748         * lib/wchar.in.h (mbrlen): New declaration.
46749         * lib/mbrlen.c: New file.
46750         * m4/mbrlen.m4: New file.
46751         * modules/mbrlen: New file.
46752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
46753         HAVE_MBRLEN.
46754         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
46755         HAVE_MBRLEN.
46756         * doc/posix-functions/mbrlen.texi: Document the new module.
46757
46758 2008-12-19  Bruno Haible  <bruno@clisp.org>
46759
46760         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
46761         * modules/mbrtowc (Depends-on): Add verify.
46762         Suggested by Paul Eggert.
46763
46764 2008-12-18  Bruno Haible  <bruno@clisp.org>
46765
46766         * modules/mbsinit-tests: New file.
46767         * tests/test-mbsinit.sh: New file.
46768         * tests/test-mbsinit.c: New file.
46769
46770 2008-12-18  Bruno Haible  <bruno@clisp.org>
46771
46772         * modules/mbrtowc-tests: New file.
46773         * tests/test-mbrtowc1.sh: New file.
46774         * tests/test-mbrtowc2.sh: New file.
46775         * tests/test-mbrtowc3.sh: New file.
46776         * tests/test-mbrtowc4.sh: New file.
46777         * tests/test-mbrtowc.c: New file.
46778
46779         New module 'mbrtowc'.
46780         * lib/wchar.in.h (mbstate_t): Override when the system does not have
46781         mbsinit and mbrtowc.
46782         (mbrtowc): New declaration.
46783         * lib/mbrtowc.c: New file.
46784         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
46785         * modules/mbrtowc: New file.
46786         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
46787         HAVE_MBRTOWC.
46788         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
46789         HAVE_MBRTOWC.
46790         * doc/posix-functions/mbrtowc.texi: Document the new module.
46791
46792 2008-12-18  Bruno Haible  <bruno@clisp.org>
46793
46794         New module 'wctob'.
46795         * lib/wchar.in.h (wctob): New declaration.
46796         * lib/wctob.c: New file.
46797         * m4/wctob.m4: New file.
46798         * modules/wctob: New file.
46799         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
46800         HAVE_WCTOB.
46801         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
46802         * doc/posix-functions/wctob.texi: Document the new module.
46803
46804 2008-12-18  Bruno Haible  <bruno@clisp.org>
46805
46806         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
46807         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
46808
46809 2008-12-18  Simon Josefsson  <simon@josefsson.org>
46810
46811         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
46812         G. Christensen" <tgc@jupiterrise.com>.
46813
46814         * lib/flock.c: Need to include errno.h.  Reported by "Tom
46815         G. Christensen" <tgc@jupiterrise.com>.
46816
46817         * lib/flock.c: Need to include string.h.  Reported by "Tom
46818         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
46819         <ebb9@byu.net>.
46820
46821 2008-12-18  Bruno Haible  <bruno@clisp.org>
46822
46823         * m4/locale-ja.m4: New file, from GNU gettext.
46824
46825 2008-12-17  Bruno Haible  <bruno@clisp.org>
46826
46827         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
46828         Suggested by Eric Blake.
46829
46830 2008-12-17  Bruno Haible  <bruno@clisp.org>
46831
46832         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
46833
46834 2008-12-17  Bruno Haible  <bruno@clisp.org>
46835
46836         * lib/mbsinit.c: Include verify.h. Verify an assumption.
46837         * modules/mbsinit (Depends-on): Add verify.
46838         Suggested by Paul Eggert.
46839
46840 2008-12-17  Bruno Haible  <bruno@clisp.org>
46841
46842         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
46843         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
46844         gl_FUNC_MBRTOWC.
46845         * m4/mbiter.m4 (gl_MBITER): LIkewise.
46846         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
46847         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
46848         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
46849         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
46850         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
46851         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
46852         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
46853         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
46854         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
46855         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
46856         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
46857         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
46858         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
46859         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
46860         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46861         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
46862         * modules/trim (configure.ac): Likewise.
46863
46864 2008-12-17  Bruno Haible  <bruno@clisp.org>
46865
46866         * modules/btowc-tests: New file.
46867         * tests/test-btowc1.sh: New file.
46868         * tests/test-btowc2.sh: New file.
46869         * tests/test-btowc.c: New file.
46870
46871         New module 'btowc'.
46872         * lib/wchar.in.h (btowc): New declaration.
46873         * lib/btowc.c: New file.
46874         * m4/btowc.m4: New file.
46875         * modules/btowc: New file.
46876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
46877         HAVE_BTOWC.
46878         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
46879         * doc/posix-functions/btowc.texi: Document the new module.
46880
46881 2008-12-17  Bruno Haible  <bruno@clisp.org>
46882
46883         New module 'mbsinit'.
46884         * lib/wchar.in.h (mbsinit): New declaration.
46885         * lib/mbsinit.c: New file.
46886         * m4/mbsinit.m4: New file.
46887         * modules/mbsinit: New file.
46888         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
46889         HAVE_MBSINIT.
46890         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
46891         HAVE_MBSINIT.
46892         * doc/posix-functions/mbsinit.texi: Document the new module.
46893
46894 2008-12-16  Bruno Haible  <bruno@clisp.org>
46895
46896         * lib/unistd.in.h: Add comment.
46897         * tests/test-environ.c: Don't include <stdlib.h>.
46898
46899 2008-12-16  Bruno Haible  <bruno@clisp.org>
46900
46901         * lib/parse-duration.h (parse_duration): Document return value
46902         convention.
46903         * lib/parse-duration.c: Include specification header first. Add
46904         comments.
46905         (_): Remove macro.
46906         (parse_year_month_day, parse_hour_minute_second): Move side effects
46907         outside of strchr call.
46908         (parse_non_iso8601): Move side effects outside of isspace call.
46909         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
46910         call.
46911
46912 2008-12-16  Bruno Haible  <bruno@clisp.org>
46913
46914         * tests/test-parse-duration.sh: Produce no output when the test
46915         succeeds.
46916
46917 2008-12-16  Bruno Haible  <bruno@clisp.org>
46918
46919         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
46920         expressions.
46921
46922 2008-12-15  Bruno Haible  <bruno@clisp.org>
46923
46924         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
46925         * doc/glibc-functions/flistxattr.texi: Likewise.
46926         * doc/glibc-functions/fopencookie.texi: Likewise.
46927         * doc/glibc-functions/fremovexattr.texi: Likewise.
46928         * doc/glibc-functions/fsetxattr.texi: Likewise.
46929         * doc/glibc-functions/getxattr.texi: Likewise.
46930         * doc/glibc-functions/lgetxattr.texi: Likewise.
46931         * doc/glibc-functions/listxattr.texi: Likewise.
46932         * doc/glibc-functions/llistxattr.texi: Likewise.
46933         * doc/glibc-functions/lremovexattr.texi: Likewise.
46934         * doc/glibc-functions/lsetxattr.texi: Likewise.
46935         * doc/glibc-functions/removexattr.texi: Likewise.
46936         * doc/glibc-functions/setxattr.texi: Likewise.
46937         * doc/posix-functions/open_memstream.texi: Likewise.
46938
46939 2008-12-15  Eric Blake  <ebb9@byu.net>
46940
46941         Update doc for cygwin 1.7.
46942         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
46943         functions.
46944         * doc/posix-functions/fchmodat.texi: Likewise.
46945         * doc/posix-functions/fchownat.texi: Likewise.
46946         * doc/posix-functions/fdopendir.texi: Likewise.
46947         * doc/posix-functions/fmemopen.texi: Likewise.
46948         * doc/posix-functions/freeaddrinfo.texi: Likewise.
46949         * doc/posix-functions/fstatat.texi: Likewise.
46950         * doc/posix-functions/futimens.texi: Likewise.
46951         * doc/posix-functions/gai_strerror.texi: Likewise.
46952         * doc/posix-functions/getaddrinfo.texi: Likewise.
46953         * doc/posix-functions/getnameinfo.texi: Likewise.
46954         * doc/posix-functions/if_freenameindex.texi: Likewise.
46955         * doc/posix-functions/if_indextoname.texi: Likewise.
46956         * doc/posix-functions/if_nameindex.texi: Likewise.
46957         * doc/posix-functions/if_nametoindex.texi: Likewise.
46958         * doc/posix-functions/insque.texi: Likewise.
46959         * doc/posix-functions/linkat.texi: Likewise.
46960         * doc/posix-functions/llrint.texi: Likewise.
46961         * doc/posix-functions/llrintf.texi: Likewise.
46962         * doc/posix-functions/llrintl.texi: Likewise.
46963         * doc/posix-functions/lockf.texi: Likewise.
46964         * doc/posix-functions/lrintl.texi: Likewise.
46965         * doc/posix-functions/mkdirat.texi: Likewise.
46966         * doc/posix-functions/mkfifoat.texi: Likewise.
46967         * doc/posix-functions/mknodat.texi: Likewise.
46968         * doc/posix-functions/mq_close.texi: Likewise.
46969         * doc/posix-functions/mq_getattr.texi: Likewise.
46970         * doc/posix-functions/mq_notify.texi: Likewise.
46971         * doc/posix-functions/mq_open.texi: Likewise.
46972         * doc/posix-functions/mq_receive.texi: Likewise.
46973         * doc/posix-functions/mq_send.texi: Likewise.
46974         * doc/posix-functions/mq_setattr.texi: Likewise.
46975         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46976         * doc/posix-functions/mq_timedsend.texi: Likewise.
46977         * doc/posix-functions/mq_unlink.texi: Likewise.
46978         * doc/posix-functions/open_memstream.texi: Likewise.
46979         * doc/posix-functions/openat.texi: Likewise.
46980         * doc/posix-functions/posix_fadvise.texi: Likewise.
46981         * doc/posix-functions/posix_fallocate.texi: Likewise.
46982         * doc/posix-functions/posix_madvise.texi: Likewise.
46983         * doc/posix-functions/posix_memalign.texi: Likewise.
46984         * doc/posix-functions/posix_openpt.texi: Likewise.
46985         * doc/posix-functions/readlinkat.texi: Likewise.
46986         * doc/posix-functions/remque.texi: Likewise.
46987         * doc/posix-functions/renameat.texi: Likewise.
46988         * doc/posix-functions/rintl.texi: Likewise.
46989         * doc/posix-functions/sem_unlink.texi: Likewise.
46990         * doc/posix-functions/shm_open.texi: Likewise.
46991         * doc/posix-functions/shm_unlink.texi: Likewise.
46992         * doc/posix-functions/signgam.texi: Likewise.
46993         * doc/posix-functions/sigset.texi: Likewise.
46994         * doc/posix-functions/stpcpy.texi: Likewise.
46995         * doc/posix-functions/stpncpy.texi: Likewise.
46996         * doc/posix-functions/strerror.texi: Likewise.
46997         * doc/posix-functions/strtod.texi: Likewise.
46998         * doc/posix-functions/symlinkat.texi: Likewise.
46999         * doc/posix-functions/unlinkat.texi: Likewise.
47000         * doc/posix-functions/utimensat.texi: Likewise.
47001         * doc/glibc-functions/bindresvport.texi: Likewise.
47002         * doc/glibc-functions/dn_expand.texi: Likewise.
47003         * doc/glibc-functions/exp10.texi: Likewise.
47004         * doc/glibc-functions/exp10f.texi: Likewise.
47005         * doc/glibc-functions/fgetxattr.texi: Likewise.
47006         * doc/glibc-functions/flistxattr.texi: Likewise.
47007         * doc/glibc-functions/fopencookie.texi: Likewise.
47008         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47009         * doc/glibc-functions/fremovexattr.texi: Likewise.
47010         * doc/glibc-functions/fsetxattr.texi: Likewise.
47011         * doc/glibc-functions/getifaddrs.texi: Likewise.
47012         * doc/glibc-functions/getxattr.texi: Likewise.
47013         * doc/glibc-functions/lgetxattr.texi: Likewise.
47014         * doc/glibc-functions/listxattr.texi: Likewise.
47015         * doc/glibc-functions/llistxattr.texi: Likewise.
47016         * doc/glibc-functions/lremovexattr.texi: Likewise.
47017         * doc/glibc-functions/lsetxattr.texi: Likewise.
47018         * doc/glibc-functions/pow10.texi: Likewise.
47019         * doc/glibc-functions/pow10f.texi: Likewise.
47020         * doc/glibc-functions/rcmd_af.texi: Likewise.
47021         * doc/glibc-functions/removexattr.texi: Likewise.
47022         * doc/glibc-functions/res_init.texi: Likewise.
47023         * doc/glibc-functions/res_mkquery.texi: Likewise.
47024         * doc/glibc-functions/res_query.texi: Likewise.
47025         * doc/glibc-functions/res_querydomain.texi: Likewise.
47026         * doc/glibc-functions/res_send.texi: Likewise.
47027         * doc/glibc-functions/rresvport_af.texi: Likewise.
47028         * doc/glibc-functions/setxattr.texi: Likewise.
47029         * doc/glibc-functions/strcasestr.texi: Likewise.
47030
47031 2008-12-15  Bruno Haible  <bruno@clisp.org>
47032
47033         Fix compilation error on OSF/1 4.0.
47034         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47035         <sys/time.h>, simply delegate to the system header.
47036         Reported by Daniel Richard G. <oss@teragram.com>.
47037
47038 2008-12-15  Bruno Haible  <bruno@clisp.org>
47039
47040         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47041         * doc/posix-functions/fchmodat.texi: Likewise.
47042         * doc/posix-functions/fchownat.texi: Likewise.
47043         * doc/posix-functions/fdopendir.texi: Likewise.
47044         * doc/posix-functions/fstatat.texi: Likewise.
47045         * doc/posix-functions/mkdirat.texi: Likewise.
47046         * doc/posix-functions/unlinkat.texi: Likewise.
47047
47048 2008-12-14  Bruno Haible  <bruno@clisp.org>
47049
47050         Update doc for POSIX:2008.
47051         * doc/posix-functions/faccessat.texi: New file.
47052         * doc/posix-functions/fchmodat.texi: New file.
47053         * doc/posix-functions/fchownat.texi: New file.
47054         * doc/posix-functions/fdopendir.texi: New file.
47055         * doc/posix-functions/fstatat.texi: New file.
47056         * doc/posix-functions/futimens.texi: New file.
47057         * doc/posix-functions/linkat.texi: New file.
47058         * doc/posix-functions/mkdirat.texi: New file.
47059         * doc/posix-functions/mkfifoat.texi: New file.
47060         * doc/posix-functions/mknodat.texi: New file.
47061         * doc/posix-functions/open_wmemstream.texi: New file.
47062         * doc/posix-functions/openat.texi: New file.
47063         * doc/posix-functions/psiginfo.texi: New file.
47064         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47065         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47066         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47067         * doc/posix-functions/readlinkat.texi: New file.
47068         * doc/posix-functions/renameat.texi: New file.
47069         * doc/posix-functions/strerror_l.texi: New file.
47070         * doc/posix-functions/symlinkat.texi: New file.
47071         * doc/posix-functions/unlinkat.texi: New file.
47072         * doc/posix-functions/utimensat.texi: New file.
47073         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47074
47075 2008-12-14  Bruno Haible  <bruno@clisp.org>
47076
47077         Update doc for POSIX:2008.
47078         * doc/posix-functions/alphasort.texi: Renamed from
47079         doc/glibc-functions/alphasort.texi.
47080         * doc/posix-functions/dirfd.texi: Renamed from
47081         doc/glibc-functions/dirfd.texi.
47082         * doc/posix-functions/dprintf.texi: Renamed from
47083         doc/glibc-functions/dprintf.texi.
47084         * doc/posix-functions/duplocale.texi: Renamed from
47085         doc/glibc-functions/duplocale.texi.
47086         * doc/posix-functions/fexecve.texi: Renamed from
47087         doc/glibc-functions/fexecve.texi.
47088         * doc/posix-functions/fmemopen.texi: Renamed from
47089         doc/glibc-functions/fmemopen.texi.
47090         * doc/posix-functions/freelocale.texi: Renamed from
47091         doc/glibc-functions/freelocale.texi.
47092         * doc/posix-functions/getdate_err.texi: Renamed from
47093         doc/glibc-functions/getdate_err.texi.
47094         * doc/posix-functions/isalnum_l.texi: Renamed from
47095         doc/glibc-functions/isalnum_l.texi.
47096         * doc/posix-functions/isalpha_l.texi: Renamed from
47097         doc/glibc-functions/isalpha_l.texi.
47098         * doc/posix-functions/isblank_l.texi: Renamed from
47099         doc/glibc-functions/isblank_l.texi.
47100         * doc/posix-functions/iscntrl_l.texi: Renamed from
47101         doc/glibc-functions/iscntrl_l.texi.
47102         * doc/posix-functions/isdigit_l.texi: Renamed from
47103         doc/glibc-functions/isdigit_l.texi.
47104         * doc/posix-functions/isgraph_l.texi: Renamed from
47105         doc/glibc-functions/isgraph_l.texi.
47106         * doc/posix-functions/islower_l.texi: Renamed from
47107         doc/glibc-functions/islower_l.texi.
47108         * doc/posix-functions/isprint_l.texi: Renamed from
47109         doc/glibc-functions/isprint_l.texi.
47110         * doc/posix-functions/ispunct_l.texi: Renamed from
47111         doc/glibc-functions/ispunct_l.texi.
47112         * doc/posix-functions/isspace_l.texi: Renamed from
47113         doc/glibc-functions/isspace_l.texi.
47114         * doc/posix-functions/isupper_l.texi: Renamed from
47115         doc/glibc-functions/isupper_l.texi.
47116         * doc/posix-functions/iswalnum_l.texi: Renamed from
47117         doc/glibc-functions/iswalnum_l.texi.
47118         * doc/posix-functions/iswalpha_l.texi: Renamed from
47119         doc/glibc-functions/iswalpha_l.texi.
47120         * doc/posix-functions/iswblank_l.texi: Renamed from
47121         doc/glibc-functions/iswblank_l.texi.
47122         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47123         doc/glibc-functions/iswcntrl_l.texi.
47124         * doc/posix-functions/iswctype_l.texi: Renamed from
47125         doc/glibc-functions/iswctype_l.texi.
47126         * doc/posix-functions/iswdigit_l.texi: Renamed from
47127         doc/glibc-functions/iswdigit_l.texi.
47128         * doc/posix-functions/iswgraph_l.texi: Renamed from
47129         doc/glibc-functions/iswgraph_l.texi.
47130         * doc/posix-functions/iswlower_l.texi: Renamed from
47131         doc/glibc-functions/iswlower_l.texi.
47132         * doc/posix-functions/iswprint_l.texi: Renamed from
47133         doc/glibc-functions/iswprint_l.texi.
47134         * doc/posix-functions/iswpunct_l.texi: Renamed from
47135         doc/glibc-functions/iswpunct_l.texi.
47136         * doc/posix-functions/iswspace_l.texi: Renamed from
47137         doc/glibc-functions/iswspace_l.texi.
47138         * doc/posix-functions/iswupper_l.texi: Renamed from
47139         doc/glibc-functions/iswupper_l.texi.
47140         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47141         doc/glibc-functions/iswxdigit_l.texi.
47142         * doc/posix-functions/isxdigit_l.texi: Renamed from
47143         doc/glibc-functions/isxdigit_l.texi.
47144         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47145         doc/glibc-functions/mbsnrtowcs.texi.
47146         * doc/posix-functions/mkdtemp.texi: Renamed from
47147         doc/glibc-functions/mkdtemp.texi.
47148         * doc/posix-functions/newlocale.texi: Renamed from
47149         doc/glibc-functions/newlocale.texi.
47150         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47151         doc/glibc-functions/nl_langinfo_l.texi.
47152         * doc/posix-functions/open_memstream.texi: Renamed from
47153         doc/glibc-functions/open_memstream.texi.
47154         * doc/posix-functions/opterr.texi: Renamed from
47155         doc/glibc-functions/opterr.texi.
47156         * doc/posix-functions/optind.texi: Renamed from
47157         doc/glibc-functions/optind.texi.
47158         * doc/posix-functions/optopt.texi: Renamed from
47159         doc/glibc-functions/optopt.texi.
47160         * doc/posix-functions/psignal.texi: Renamed from
47161         doc/glibc-functions/psignal.texi.
47162         * doc/posix-functions/scandir.texi: Renamed from
47163         doc/glibc-functions/scandir.texi.
47164         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47165         doc/glibc-functions/sched_get_priority_min.texi.
47166         * doc/posix-functions/signgam.texi: Renamed from
47167         doc/glibc-functions/signgam.texi.
47168         * doc/posix-functions/stpcpy.texi: Renamed from
47169         doc/glibc-functions/stpcpy.texi.
47170         * doc/posix-functions/stpncpy.texi: Renamed from
47171         doc/glibc-functions/stpncpy.texi.
47172         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47173         doc/glibc-functions/strcasecmp_l.texi.
47174         * doc/posix-functions/strcoll_l.texi: Renamed from
47175         doc/glibc-functions/strcoll_l.texi.
47176         * doc/posix-functions/strfmon_l.texi: Renamed from
47177         doc/glibc-functions/strfmon_l.texi.
47178         * doc/posix-functions/strftime_l.texi: Renamed from
47179         doc/glibc-functions/strftime_l.texi.
47180         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47181         doc/glibc-functions/strncasecmp_l.texi.
47182         * doc/posix-functions/strndup.texi: Renamed from
47183         doc/glibc-functions/strndup.texi.
47184         * doc/posix-functions/strnlen.texi: Renamed from
47185         doc/glibc-functions/strnlen.texi.
47186         * doc/posix-functions/strsignal.texi: Renamed from
47187         doc/glibc-functions/strsignal.texi.
47188         * doc/posix-functions/strxfrm_l.texi: Renamed from
47189         doc/glibc-functions/strxfrm_l.texi.
47190         * doc/posix-functions/timer_gettime.texi: Renamed from
47191         doc/glibc-functions/timer_gettime.texi.
47192         * doc/posix-functions/tolower_l.texi: Renamed from
47193         doc/glibc-functions/tolower_l.texi.
47194         * doc/posix-functions/toupper_l.texi: Renamed from
47195         doc/glibc-functions/toupper_l.texi.
47196         * doc/posix-functions/towctrans_l.texi: Renamed from
47197         doc/glibc-functions/towctrans_l.texi.
47198         * doc/posix-functions/towlower_l.texi: Renamed from
47199         doc/glibc-functions/towlower_l.texi.
47200         * doc/posix-functions/towupper_l.texi: Renamed from
47201         doc/glibc-functions/towupper_l.texi.
47202         * doc/posix-functions/uselocale.texi: Renamed from
47203         doc/glibc-functions/uselocale.texi.
47204         * doc/posix-functions/vdprintf.texi: Renamed from
47205         doc/glibc-functions/vdprintf.texi.
47206         * doc/posix-functions/wcpcpy.texi:
47207         Renamed from doc/glibc-functions/wcpcpy.texi.
47208         * doc/posix-functions/wcpncpy.texi: Renamed from
47209         doc/glibc-functions/wcpncpy.texi.
47210         * doc/posix-functions/wcscasecmp.texi: Renamed from
47211         doc/glibc-functions/wcscasecmp.texi.
47212         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47213         doc/glibc-functions/wcscasecmp_l.texi.
47214         * doc/posix-functions/wcscoll_l.texi: Renamed from
47215         doc/glibc-functions/wcscoll_l.texi.
47216         * doc/posix-functions/wcsdup.texi: Renamed from
47217         doc/glibc-functions/wcsdup.texi.
47218         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47219         doc/glibc-functions/wcsncasecmp.texi.
47220         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47221         doc/glibc-functions/wcsncasecmp_l.texi.
47222         * doc/posix-functions/wcsnlen.texi: Renamed from
47223         doc/glibc-functions/wcsnlen.texi.
47224         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47225         doc/glibc-functions/wcsnrtombs.texi.
47226         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47227         doc/glibc-functions/wcsxfrm_l.texi.
47228         * doc/posix-functions/wctrans_l.texi: Renamed from
47229         doc/glibc-functions/wctrans_l.texi.
47230         * doc/posix-functions/wctype_l.texi: Renamed from
47231         doc/glibc-functions/wctype_l.texi.
47232         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47233         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47234         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47235         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47236         these subsections.
47237         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47238         Remove sections.
47239
47240 2008-12-14  Bruno Haible  <bruno@clisp.org>
47241
47242         Update doc for POSIX:2008.
47243         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47244
47245 2008-12-14  Bruno Haible  <bruno@clisp.org>
47246
47247         Update doc for POSIX:2008.
47248         * doc/pastposix-functions/bcmp.texi: Renamed from
47249         doc/posix-functions/bcmp.texi.
47250         * doc/pastposix-functions/bcopy.texi: Renamed from
47251         doc/posix-functions/bcopy.texi.
47252         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47253         doc/posix-functions/bsd_signal.texi.
47254         * doc/pastposix-functions/bzero.texi: Renamed from
47255         doc/posix-functions/bzero.texi.
47256         * doc/pastposix-functions/ecvt.texi: Renamed from
47257         doc/posix-functions/ecvt.texi.
47258         * doc/pastposix-functions/fcvt.texi: Renamed from
47259         doc/posix-functions/fcvt.texi.
47260         * doc/pastposix-functions/ftime.texi: Renamed from
47261         doc/posix-functions/ftime.texi.
47262         * doc/pastposix-functions/gcvt.texi: Renamed from
47263         doc/posix-functions/gcvt.texi.
47264         * doc/pastposix-functions/getcontext.texi: Renamed from
47265         doc/posix-functions/getcontext.texi.
47266         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47267         doc/posix-functions/gethostbyaddr.texi.
47268         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47269         doc/posix-functions/gethostbyname.texi.
47270         * doc/pastposix-functions/getwd.texi: Renamed from
47271         doc/posix-functions/getwd.texi.
47272         * doc/pastposix-functions/h_errno.texi: Renamed from
47273         doc/posix-functions/h_errno.texi.
47274         * doc/pastposix-functions/index.texi: Renamed from
47275         doc/posix-functions/index.texi.
47276         * doc/pastposix-functions/makecontext.texi: Renamed from
47277         doc/posix-functions/makecontext.texi.
47278         * doc/pastposix-functions/mktemp.texi: Renamed from
47279         doc/posix-functions/mktemp.texi.
47280         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47281         doc/posix-functions/pthread_attr_getstackaddr.texi.
47282         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47283         doc/posix-functions/pthread_attr_setstackaddr.texi.
47284         * doc/pastposix-functions/rindex.texi: Renamed from
47285         doc/posix-functions/rindex.texi.
47286         * doc/pastposix-functions/scalb.texi: Renamed from
47287         doc/posix-functions/scalb.texi.
47288         * doc/pastposix-functions/setcontext.texi: Renamed from
47289         doc/posix-functions/setcontext.texi.
47290         * doc/pastposix-functions/swapcontext.texi: Renamed from
47291         doc/posix-functions/swapcontext.texi.
47292         * doc/pastposix-functions/ualarm.texi: Renamed from
47293         doc/posix-functions/ualarm.texi.
47294         * doc/pastposix-functions/usleep.texi: Renamed from
47295         doc/posix-functions/usleep.texi.
47296         * doc/pastposix-functions/vfork.texi: Renamed from
47297         doc/posix-functions/vfork.texi.
47298         * doc/pastposix-functions/wcswcs.texi: Renamed from
47299         doc/posix-functions/wcswcs.texi.
47300         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47301         (Function Substitutes): Update.
47302
47303 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47304
47305         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47306         m4/strerror.m4.
47307
47308 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47309             Bruno Haible  <bruno@clisp.org>
47310
47311         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47312
47313 2008-12-13  Bruno Haible  <bruno@clisp.org>
47314
47315         * modules/strtoull (Depends-on): Remove unistd.
47316
47317 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47318
47319         * modules/strtoull (Depends-on): Add stdlib.
47320
47321 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47322
47323         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47324
47325 2008-12-10  Jim Meyering  <meyering@redhat.com>
47326
47327         gl_ASSERT: don't say assertions are disabled when they're not
47328         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47329         "checking whether to enable assertions... no", when they are in
47330         fact enabled.  This is solely a bug in the output of configure.
47331         In spite of saying "no", NDEBUG was not defined in that case.
47332         Also, as noted by Eric Blake, leave assertions enabled upon
47333         --enable-assert=INVALID.
47334
47335 2008-12-10  Bruno Haible  <bruno@clisp.org>
47336
47337         Change MODULES.html to refer to POSIX:2008 where possible.
47338         * MODULES.html.sh (POSIX2008_URL): New variable.
47339         (posix_headers): Remove sys/timeb, ucontext.
47340         (posix2001_headers): New variable.
47341         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
47342         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
47343         index, makecontext, mktemp, pthread_attr_getstackaddr,
47344         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
47345         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
47346         (posix2001_functions): New variable.
47347         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
47348         otherwise.
47349
47350 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47351
47352         add missing include to parse-duration.c
47353         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
47354         * modules/parse-duration (Depends-on): Add xalloc.
47355
47356         fix sed script reading maint.mk
47357         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
47358         (syntax-check-rules): Use it.
47359
47360 2008-12-09  Bruno Haible  <bruno@clisp.org>
47361
47362         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
47363         MacOS X 10.4/PowerPC.
47364         Reported by Simon Josefsson.
47365
47366 2008-12-08  Jim Meyering  <meyering@redhat.com>
47367
47368         work around mingw's lack of some S_IF definitions
47369         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
47370         Reported by Simon Josefsson.
47371
47372 2008-12-08  Bruno Haible  <bruno@clisp.org>
47373
47374         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
47375         applied to variables. Needed on MacOS X 10.4/PowerPC.
47376         Reported by Simon Josefsson.
47377
47378 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
47379         and Eric Blake  <ebb9@byu.net>
47380
47381         assert: honor --enable-assert
47382         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
47383         order to honor --enable-assert, rather than treating it as a
47384         synonym for --disable-assert.
47385
47386 2008-12-08  Jim Meyering  <meyering@redhat.com>
47387
47388         * lib/posixtm.c: Remove now-useless declaration of mktime.
47389
47390         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
47391
47392 2008-12-07  Bruno Haible  <bruno@clisp.org>
47393
47394         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
47395         test_once): Mark functions as static.
47396         * tests/test-tls.c (test_tls): Likewise.
47397
47398 2008-12-07  Bruno Haible  <bruno@clisp.org>
47399
47400         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
47401         iconv_register_autodetect.
47402
47403 2008-12-07  Jim Meyering  <meyering@redhat.com>
47404
47405         posixtm.c: avoid a warning
47406         * lib/posixtm.c (posixtime): Don't initialize tm0.
47407         It's no longer needed to placate gcc4's -Wuninitialized,
47408         and the attempt to placate would elicit a new warning.
47409
47410         unicodeio.c: mark unused parameters
47411         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47412         (fallback_failure_callback): Likewise.
47413
47414 2008-12-07  Bruno Haible  <bruno@clisp.org>
47415
47416         * gnulib-tool (func_create_testdir): When building the tests
47417         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
47418         Reported by Simon Josefsson.
47419
47420 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47421
47422         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
47423
47424 2008-12-06  Bruno Haible  <bruno@clisp.org>
47425
47426         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
47427         Suggested by Eric Blake.
47428
47429 2008-12-06  Bruno Haible  <bruno@clisp.org>
47430
47431         Fix a c-stack test failure on MacOS X.
47432         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
47433         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
47434         handler for SIGBUS as well.
47435         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
47436         install a signal handler for SIGBUS as well.
47437         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
47438
47439 2008-12-06  Bruno Haible  <bruno@clisp.org>
47440
47441         Advocacy documentation.
47442         * doc/gnulib-intro.texi (Benefits): New section.
47443         * doc/gnulib.texi: Update.
47444
47445 2008-12-06  Bruno Haible  <bruno@clisp.org>
47446
47447         Document the 'manywarnings' module.
47448         * doc/manywarnings.texi: New file.
47449         * doc/gnulib.texi: Include it.
47450
47451 2008-12-05  Eric Blake  <ebb9@byu.net>
47452
47453         tests: silence some gcc warnings
47454         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
47455         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
47456         type mismatches.
47457
47458 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47459             Bruno Haible  <bruno@clisp.org>
47460
47461         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
47462
47463 2008-11-29  Jim Meyering  <meyering@redhat.com>
47464
47465         unicodeio.c: mark unused parameters
47466         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
47467         (fallback_failure_callback): Likewise.
47468
47469         fts: fix a thinko
47470         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
47471         (set_stat_type): Return S_IF*-valued "type" directly.
47472         Prompted by James Youngman's spotting a related bug.
47473         Confirmed by further testing through find.
47474
47475         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
47476         * lib/fts.c (D_TYPE): Define.
47477         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
47478         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
47479         (s_ifmt_shift_bits): New function.
47480         (set_stat_type): New function.
47481         (fts_build): When not calling fts_stat, call set_stat_type
47482         to propagate dirent.d_type info to fts_read caller.
47483         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
47484         fts_statp->st_mode type information may be valid.
47485
47486 2008-11-28  Simon Josefsson  <simon@josefsson.org>
47487
47488         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
47489         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
47490         <sds@gnu.org>.
47491
47492 2008-11-20  Bruno Haible  <bruno@clisp.org>
47493
47494         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
47495         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
47496         INCLUDE_NEXT.
47497         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
47498         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
47499         * modules/math (Makefile.am): Substitute
47500         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
47501         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47502
47503 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
47504             Bruno Haible  <bruno@clisp.org>
47505
47506         * lib/stdint.in.h: Define all type macros so that their expansion is
47507         a single typedef'ed token. Fixes a compilation failure in Boost which
47508         does "using ::int8_t;".
47509
47510 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47511
47512         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
47513         gl_MANYWARN_ALL_GCC.
47514         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
47515         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
47516         * modules/manywarnings: New file.
47517         * MODULES.html.sh: Mention manywarnings module.
47518
47519 2008-11-18  Bruno Haible  <bruno@clisp.org>
47520
47521         * doc/gnulib-tool.texi (Unit tests): New section.
47522
47523 2008-11-18  Simon Josefsson  <simon@josefsson.org>
47524
47525         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
47526         paths like 'lib/po/foo.po'.
47527
47528 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47529
47530         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
47531         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
47532
47533 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47534
47535         * m4/warnings.m4: Use CPPFLAGS to really check whether the
47536         parameter works.
47537
47538 2008-11-17  Simon Josefsson  <simon@josefsson.org>
47539
47540         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
47541
47542 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47543
47544         * modules/parse-duration-tests: New file.
47545         * tests/test-parse-duration.sh: New file.
47546         * tests/test-parse-duration.c: New file.
47547
47548         New module 'parse-duration'.
47549         * lib/parse-duration.h: New file.
47550         * lib/parse-duration.c: New file.
47551         * modules/parse-duration: New file.
47552
47553 2008-11-17  Bruno Haible  <bruno@clisp.org>
47554
47555         * tests/test-select-out.sh: Comment out the first pipe test.
47556         Reported by Simon Josefsson.
47557
47558 2008-11-17  Bruno Haible  <bruno@clisp.org>
47559
47560         * modules/getaddrinfo (Depends-on): Add servent, hostent.
47561         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
47562         gl_HOSTENT.
47563
47564 2008-11-17  Bruno Haible  <bruno@clisp.org>
47565
47566         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
47567         -lnetwork and -lnet. Needed for Haiku and BeOS.
47568
47569 2008-11-16  Bruno Haible  <bruno@clisp.org>
47570
47571         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
47572
47573 2008-11-16  Bruno Haible  <bruno@clisp.org>
47574
47575         Avoid test failure on Haiku.
47576         * tests/test-fsync.c: Include <errno.h>.
47577         (main): Don't require that fsync (0) fails.
47578
47579 2008-11-15  Bruno Haible  <bruno@clisp.org>
47580
47581         New module 'hostent'.
47582         * modules/hostent: New file.
47583         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
47584
47585 2008-11-15  Bruno Haible  <bruno@clisp.org>
47586
47587         New module 'servent'.
47588         * modules/servent: New file.
47589         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
47590
47591 2008-11-15  Bruno Haible  <bruno@clisp.org>
47592
47593         Avoid generating same test program with two different rules.
47594         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
47595         test-frexp to test-frexp-nolibm.
47596         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
47597         test-frexpl to test-frexpl-nolibm.
47598
47599 2008-11-15  Bruno Haible  <bruno@clisp.org>
47600
47601         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
47602         $(FREXPL_LIBM).
47603
47604 2008-11-15  Bruno Haible  <bruno@clisp.org>
47605
47606         * lib/netdb.in.h: Activate the definitions also when the system's
47607         <netdb.h> has 'struct addrinfo'.
47608         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
47609         EAI_OVERFLOW or AI_NUMERICSERV.
47610         * doc/posix-headers/netdb.texi: Document the problem.
47611
47612 2008-11-15  Bruno Haible  <bruno@clisp.org>
47613
47614         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
47615
47616         Make the 'sched' module work on platforms where <sched.h> exists but
47617         is incomplete (such as Haiku).
47618         * lib/sched.in.h; Include the system's <sched.h> if it exists.
47619         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
47620         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
47621         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
47622         HAVE_STRUCT_SCHED_PARAM.
47623         * modules/sched (Depends-on): Add include_next.
47624         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
47625         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
47626         * doc/posix-headers/sched.texi: Document the issue.
47627
47628 2008-11-13  Jim Meyering  <meyering@redhat.com>
47629
47630         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
47631         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
47632         test would fail due to the difference in the Report bugs to ...
47633         line.  The expected address is empty, "<>", while the actual
47634         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
47635
47636 2008-11-12  Bruno Haible  <bruno@clisp.org>
47637
47638         lstat: don't compile lstat.c on systems lacking lstat
47639         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
47640         which don't have lstat; this is handled by lib/sys_stat.in.h already.
47641         Reported by Daniel P. Berrange via Jim Meyering.
47642
47643 2008-11-12  Jim Meyering  <meyering@redhat.com>
47644
47645         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
47646
47647 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47648
47649         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
47650         instead.
47651
47652 2008-11-12  Bruno Haible  <bruno@clisp.org>
47653
47654         * lib/unicodeio.c: Include unistr.h.
47655         (utf8_wctomb): Remove function.
47656         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
47657
47658 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47659
47660         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
47661         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
47662         <bruno@clisp.org>.
47663         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
47664
47665 2008-11-12  Simon Josefsson  <simon@josefsson.org>
47666
47667         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
47668         * doc/gnulib.texi: Add section for warnings.
47669
47670 2008-11-11  Bruno Haible  <bruno@clisp.org>
47671
47672         * lib/sockets.h: Add a comment.
47673
47674 2008-11-11  Karl Berry  <karl@gnu.org>
47675
47676         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
47677
47678 2008-11-11  Eric Blake  <ebb9@byu.net>
47679
47680         fdl.texi: avoid git symlinks
47681         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
47682
47683 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47684
47685         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
47686
47687 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47688
47689         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
47690         (gl_WARN_ADD): Substitute $2 if literal.
47691
47692 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47693
47694         * m4/warning.m4: Remove.
47695
47696 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
47697
47698         * m4/warnings.m4: Almost complete rewrite. :-)
47699
47700 2008-11-10  Simon Josefsson  <simon@josefsson.org>
47701
47702         * modules/warnings: New module.
47703         * m4/warnings.m4: New file.
47704         * MODULES.html.sh: Mention warnings module.
47705         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
47706         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47707
47708 2008-11-10  Eric Blake  <ebb9@byu.net>
47709
47710         fdl.texi: make a symlink to the latest version
47711         * doc/standards.texi: Revert today's earlier change.
47712         * doc/fdl-1.2.texi: Rename from old fdl.texi...
47713         * doc/fdl.texi: ...and replace this with a symlink to the newer
47714         fdl-1.3.texi.
47715
47716 2008-11-10  Bruno Haible  <bruno@clisp.org>
47717
47718         * tests/test-select-fd.c (main): Accept the result file name as fourth
47719         argument.
47720         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
47721         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
47722
47723 2008-11-10  Bruno Haible  <bruno@clisp.org>
47724
47725         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
47726         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
47727         as autoconf-substituted macros.
47728         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
47729         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
47730         gl_NETDB_H_DEFAULTS. Set these variables.
47731         * modules/netdb (Makefile.am): Substitute these variables.
47732
47733 2008-11-10  Eric Blake  <ebb9@byu.net>
47734
47735         standards.texi: include correct file for FDL 1.3
47736         * doc/standards.texi (GNU Free Documentation License): Change
47737         include file to pull in FDL 1.3, not 1.2.
47738
47739         fdl.texi: revert accidental change to license
47740         * doc/fdl.texi: This is FDL 1.2, not 1.3.
47741
47742 2008-11-10  Bruno Haible  <bruno@clisp.org>
47743
47744         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
47745         cross-compiling guesses also when the native compile gives no result.
47746
47747 2008-11-10  Bruno Haible  <bruno@clisp.org>
47748
47749         * lib/spawni.c (__spawni): Force variable into the stack.
47750
47751 2008-11-10  Bruno Haible  <bruno@clisp.org>
47752
47753         Add support for Haiku.
47754         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
47755         glibc and BeOS, but also on Haiku.
47756         * lib/fpurge.c (fpurge): Likewise.
47757         * lib/freadable.c (freadable): Likewise.
47758         * lib/freadahead.c (freadahead): Likewise.
47759         * lib/freading.c (freading): Likewise.
47760         * lib/freadptr.c (freadptr): Likewise.
47761         * lib/freadseek.c (freadptrinc): Likewise.
47762         * lib/fseeko.c (rpl_fseeko): Likewise.
47763         * lib/fseterr.c (fseterr): Likewise.
47764         * lib/fwritable.c (fwritable): Likewise.
47765         * lib/fwriting.c (fwriting): Likewise.
47766         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
47767
47768 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47769
47770         * lib/config.charset: Treat Haiku like BeOS.
47771
47772 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
47773
47774         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
47775         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
47776
47777 2008-11-08  Bruno Haible  <bruno@clisp.org>
47778
47779         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
47780         AC_CACHE_CHECK.
47781
47782 2008-11-08  Bruno Haible  <bruno@clisp.org>
47783
47784         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
47785
47786 2008-11-08  Bruno Haible  <bruno@clisp.org>
47787
47788         * tests/test-select-fd.c: New file.
47789         * tests/test-select-in.sh: New file.
47790         * tests/test-select-out.sh: New file.
47791         * tests/test-select-stdin.c: New file.
47792         * modules/select-tests (Files): Add the new files.
47793         (Depends-on): Add gettimeofday.
47794         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
47795         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
47796         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
47797
47798 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
47799             Bruno Haible  <bruno@clisp.org>
47800
47801         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
47802
47803 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
47804
47805         * build-aux/pmccabe2html: Added support for C++ source files.
47806
47807 2008-11-05  Ben Pfaff  <blp@gnu.org>
47808
47809         Fix lib/close.c build on Windows.
47810         * modules/close (Files): Add lib/w32sock.h.
47811
47812 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
47813
47814         Accept Bison's NEWS format.
47815         * build-aux/announce-gen (print_news_deltas): Tweak
47816         $re_prefix.
47817
47818 2008-11-04  Bruno Haible  <bruno@clisp.org>
47819
47820         * modules/random_r (Maintainer): Add glibc.
47821
47822 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47823
47824         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
47825         by karl@freefriends.org (Karl Berry).
47826         * doc/alloca.texi: Likewise.
47827         * doc/c-ctype.texi: Likewise.
47828         * doc/c-strcase.texi: Likewise.
47829         * doc/c-strcaseeq.texi: Likewise.
47830         * doc/c-strcasestr.texi: Likewise.
47831         * doc/c-strstr.texi: Likewise.
47832         * doc/c-strtod.texi: Likewise.
47833         * doc/c-strtold.texi: Likewise.
47834         * doc/ctime.texi: Likewise.
47835         * doc/error.texi: Likewise.
47836         * doc/fdl.texi: Likewise.
47837         * doc/gcd.texi: Likewise.
47838         * doc/getdate.texi: Likewise.
47839         * doc/gnulib-intro.texi: Likewise.
47840         * doc/gnulib-tool.texi: Likewise.
47841         * doc/gnulib.texi: Likewise.
47842         * doc/inet_ntoa.texi: Likewise.
47843         * doc/maintain.texi: Likewise.
47844         * doc/make-stds.texi: Likewise.
47845         * doc/quote.texi: Likewise.
47846         * doc/regexprops-generic.texi: Likewise.
47847         * doc/standards.texi: Likewise.
47848         * doc/verify.texi: Likewise.
47849         * doc/visibility.texi: Likewise.
47850         * doc/gnulib.texi (GNU Free Documentation License): Include
47851         fdl-1.3.texi instead of fdl.texi.
47852
47853 2008-11-04  Simon Josefsson  <simon@josefsson.org>
47854
47855         * doc/fdl-1.3.texi: New file, from
47856         <http://www.gnu.org/licenses/fdl-1.3.texi>.
47857         * modules/fdl-1.3: Add.
47858         * MODULES.html.sh: Add fdl-1.3.
47859
47860 2008-11-03  Bruno Haible  <bruno@clisp.org>
47861
47862         Make determination of absolute name of header file work with AIX xlc.
47863         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
47864         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
47865         preprocessing.
47866         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47867         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47868
47869 2008-11-03  Simon Josefsson  <simon@josefsson.org>
47870
47871         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
47872         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
47873         <ludo@gnu.org>.
47874
47875 2008-11-02  Bruno Haible  <bruno@clisp.org>
47876
47877         Mark 'strpbrk' obsolete.
47878         * modules/strpbrk (Status, Notice): New sections.
47879         * modules/strtok_r (Depends-on): Add strpbrk.
47880
47881 2008-11-02  Bruno Haible  <bruno@clisp.org>
47882
47883         Mark 'strdup' obsolete.
47884         * modules/strdup (Status, Notice): New sections.
47885         * modules/findprog (Depends-on): Add strdup.
47886         * modules/getaddrinfo (Depends-on): Likewise.
47887         * modules/localename (Depends-on): Likewise.
47888         * modules/relocatable-lib (Depends-on): Likewise.
47889         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
47890         * modules/relocatable-prog (Depends-on): Likewise.
47891         * modules/trim (Depends-on): Likewise.
47892         * modules/unictype/gen-ctype (Depends-on): Likewise.
47893         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47894
47895 2008-11-02  Bruno Haible  <bruno@clisp.org>
47896
47897         Mark 'strcspn' obsolete.
47898         * modules/strcspn (Status, Notice): New sections.
47899
47900 2008-11-02  Bruno Haible  <bruno@clisp.org>
47901
47902         Mark 'rmdir' obsolete.
47903         * modules/rmdir (Status, Notice): New sections.
47904         * modules/clean-temp (Depends-on): Add rmdir.
47905         * modules/openat (Depends-on): Likewise.
47906
47907 2008-11-02  Bruno Haible  <bruno@clisp.org>
47908
47909         Mark 'raise' obsolete.
47910         * modules/raise (Status, Notice): New sections.
47911         (Include): Specify <signal.h>.
47912         * modules/stdio (Depends-on): Add raise.
47913         * modules/write (Depends-on): Likewise.
47914
47915 2008-11-02  Bruno Haible  <bruno@clisp.org>
47916
47917         Mark 'memset' obsolete.
47918         * modules/memset (Status, Notice): New sections.
47919
47920 2008-11-02  Bruno Haible  <bruno@clisp.org>
47921
47922         Mark 'memmove' obsolete.
47923         * modules/memmove (Status, Notice): New sections.
47924         * modules/argp (Depends-on): Add memmove.
47925         * modules/argz (Depends-on): Likewise.
47926         * modules/canonicalize (Depends-on): Likewise.
47927         * modules/canonicalize-lgpl (Depends-on): Likewise.
47928         * modules/fts (Depends-on): Likewise.
47929         * modules/getcwd (Depends-on): Likewise.
47930         * modules/human (Depends-on): Likewise.
47931         * modules/regex (Depends-on): Likewise.
47932         * modules/striconveh (Depends-on): Likewise.
47933         * modules/trim (Depends-on): Likewise.
47934         * modules/unistr/u8-move (Depends-on): Likewise.
47935         * modules/unistr/u16-move (Depends-on): Likewise.
47936         * modules/unistr/u32-move (Depends-on): Likewise.
47937
47938 2008-11-02  Bruno Haible  <bruno@clisp.org>
47939
47940         Mark 'memcpy' obsolete.
47941         * modules/memcpy (Status, Notice): New sections.
47942
47943 2008-11-02  Bruno Haible  <bruno@clisp.org>
47944
47945         Mark 'memcmp' obsolete.
47946         * modules/memcmp (Status, Notice): New sections.
47947         * modules/argmatch (Depends-on): Add memchr.
47948         * modules/backupfile (Depends-on): Likewise.
47949         * modules/c-strcasestr (Depends-on): Likewise.
47950         * modules/crypto/des (Depends-on): Likewise.
47951         * modules/csharpcomp (Depends-on): Likewise.
47952         * modules/fnmatch (Depends-on): Likewise.
47953         * modules/git-merge-changelog (Depends-on): Likewise.
47954         * modules/isnand (Depends-on): Likewise.
47955         * modules/isnand-nolibm (Depends-on): Likewise.
47956         * modules/isnanf (Depends-on): Likewise.
47957         * modules/isnanf-nolibm (Depends-on): Likewise.
47958         * modules/isnanl (Depends-on): Likewise.
47959         * modules/isnanl-nolibm (Depends-on): Likewise.
47960         * modules/mbchar (Depends-on): Likewise.
47961         * modules/memcoll (Depends-on): Likewise.
47962         * modules/quotearg (Depends-on): Likewise.
47963         * modules/regex (Depends-on): Likewise.
47964         * modules/relocatable-prog (Depends-on): Likewise.
47965         * modules/same (Depends-on): Likewise.
47966         * modules/signbit (Depends-on): Likewise.
47967         * modules/strcasestr-simple (Depends-on): Likewise.
47968         * modules/unictype/gen-ctype (Depends-on): Likewise.
47969         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47970         * modules/uniname/uniname (Depends-on): Likewise.
47971         * modules/unistr/u8-cmp (Depends-on): Likewise.
47972
47973 2008-11-02  Bruno Haible  <bruno@clisp.org>
47974
47975         Mark 'memchr' obsolete.
47976         * modules/memchr (Status, Notice): New sections.
47977         * modules/argp (Depends-on): Add memchr.
47978         * modules/base64 (Depends-on): Likewise.
47979         * modules/c-strcasestr (Depends-on): Likewise.
47980         * modules/chdir-long (Depends-on): Likewise.
47981         * modules/fnmatch (Depends-on): Likewise.
47982         * modules/getsubopt (Depends-on): Likewise.
47983         * modules/git-merge-changelog (Depends-on): Likewise.
47984         * modules/glob (Depends-on): Likewise.
47985         * modules/strcasestr-simple (Depends-on): Likewise.
47986         * modules/strnlen (Depends-on): Likewise.
47987
47988 2008-11-02  Bruno Haible  <bruno@clisp.org>
47989
47990         Mark 'atexit' obsolete.
47991         * modules/atexit (Status, Notice): New sections.
47992         * modules/chdir-long (Depends-on): Add atexit.
47993         * modules/wait-process (Depends-on): Likewise.
47994
47995 2008-11-02  Bruno Haible  <bruno@clisp.org>
47996
47997         * gnulib-tool: New option --with-obsolete.
47998         (func_usage): Document it.
47999         (func_modules_transitive_closure): Drop obsolete dependencies if
48000         incobsolete is not true.
48001         (func_import): Read and save the incobsolete variable to the cache.
48002
48003 2008-11-02  Bruno Haible  <bruno@clisp.org>
48004
48005         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48006         * gnulib-tool: New option --extract-status.
48007         (func_usage): Document it.
48008         (sed_extract_prog): Recognize it.
48009         (func_get_status): New function.
48010
48011 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48012
48013         * modules/sockets (License): Change from LGPL to LGPLv2+.
48014
48015 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48016
48017         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48018
48019 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48020
48021         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48022         Mention times and sys_times.
48023         * modules/sys_times, modules/sys_times-tests: New modules.
48024         * modules/times, modules/times-tests: Likewise
48025         * m4/sys_times_h.m4: New file.
48026         * lib/sys_times.in.h: Likewise
48027         * lib/times.c: Likewise.
48028         * tests/test-sys_times.c: Likewise.
48029         * tests/test-times.c: Likewise.
48030         * doc/posix-headers/sys_times.texi: Update.
48031         * doc/posix-functions/times.texi: Update.
48032
48033 2008-10-28  Jim Meyering  <meyering@redhat.com>
48034
48035         * modules/tempname (Depends-on): Add lstat.
48036
48037         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48038
48039 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48040
48041         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48042         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48043         using idiom used elsewhere in gnulib.
48044
48045 2008-10-27  Jim Meyering  <meyering@redhat.com>
48046
48047         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48048
48049 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48050
48051         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48052         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48053         programs.
48054         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48055
48056 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48057
48058         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48059
48060 2008-10-27  Bruno Haible  <bruno@clisp.org>
48061
48062         * tests/test-lstat.c: Include <stdio.h>.
48063
48064 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48065
48066         * modules/lstat-tests: New module.
48067         * tests/test-lstat.c: New file.
48068
48069 2008-10-26  Jim Meyering  <meyering@redhat.com>
48070
48071         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48072
48073 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48074             Bruno Haible  <bruno@clisp.org>
48075
48076         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48077         * modules/configmake (Include): Add a note that the include must come
48078         after all system headers.
48079         * lib/javaversion.c: Include configmake.h after all other includes.
48080
48081 2008-10-26  Bruno Haible  <bruno@clisp.org>
48082
48083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48084         HAVE_STRUCT_RANDOM_DATA to 1.
48085         (gl_STDLIB_H): Simplify.
48086
48087 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48088
48089         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48090         substitute HAVE_STRUCT_RANDOM_DATA.
48091         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48092         random_data.
48093         * modules/stdlib (Makefile.am): Substitute
48094         HAVE_STRUCT_RANDOM_DATA.
48095
48096 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48097
48098         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48099         * doc/gnulib-intro.texi (Copyright): Likewise.
48100
48101 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48102
48103         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48104         findings.
48105
48106 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48107             Bruno Haible  <bruno@clisp.org>
48108
48109         * lib/unistd.in.h: Include <winsock2.h>.
48110         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48111         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48112         Provide dummy declarations.
48113         (gethostname): Override.
48114         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48115         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48116         gl_PREREQ_SYS_H_WINSOCK2.
48117         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48118         * doc/posix-functions/gethostname.texi: More details.
48119
48120 2008-10-25  Bruno Haible  <bruno@clisp.org>
48121
48122         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48123         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48124         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48125
48126         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48127         here ...
48128         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48129         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48130         gl_UNISTD_H_DEFAULTS.
48131
48132 2008-10-25  Eric Blake  <ebb9@byu.net>
48133
48134         signbit: avoid spurious compiler failure
48135         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48136         declarations inside function.
48137
48138 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48139             Bruno Haible  <bruno@clisp.org>
48140
48141         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48142         * modules/random_r (Depends-on): Add stdint.
48143
48144 2008-10-24  Bruno Haible  <bruno@clisp.org>
48145
48146         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48147         Eggert.
48148         * modules/strerror (License): Likewise.
48149
48150 2008-10-24  Jim Meyering  <meyering@redhat.com>
48151
48152         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48153         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48154
48155 2008-10-24  Eric Blake  <ebb9@byu.net>
48156
48157         getgroups: fix compilation when getgroups is available
48158         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48159         but with <config.h> override of getgroups disabled.
48160
48161 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48162
48163         * doc/gnulib.texi (Header files): Add note about C++ problems.
48164         Explained by Bruno Haible <bruno@clisp.org>.
48165
48166 2008-10-23  Bruno Haible  <bruno@clisp.org>
48167
48168         Define a dummy SA_NODEFER macro on Interix.
48169         * lib/signal.in.h (SA_NODEFER): Define fallback.
48170         Reported by Aleksey Cheusov <cheusov@tut.by> via
48171         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48172
48173 2008-10-23  Bruno Haible  <bruno@clisp.org>
48174
48175         * modules/freadahead (License): Change to LGPLv2+.
48176         Suggested by Simon Josefsson.
48177
48178 2008-10-23  Jim Meyering  <meyering@redhat.com>
48179
48180         random_r: new module
48181         * modules/random_r: New file.
48182         * m4/random_r.m4: New file.
48183         * lib/random_r.c: New file, from glibc.
48184         * modules/random_r-tests: New file.
48185         * tests/test-random_r.c: New file.
48186         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48187          Declare.
48188         (RAND_MAX): Define.
48189         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48190         * modules/stdlib: Substitute them, too.
48191         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48192         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48193         * doc/glibc-functions/random_r.texi: Likewise.
48194         * doc/glibc-functions/setstate_r.texi: Likewise.
48195         * doc/glibc-functions/srandom_r.texi: Likewise.
48196         * config/srclist.txt: Mention it.
48197
48198 2008-10-23  David Lutterkort  <lutter@redhat.com>
48199
48200         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48201         link requirement
48202
48203 2008-10-23  Jim Meyering  <meyering@redhat.com>
48204
48205         selinux-h: mark parameters of stub functions as intentionally unused
48206         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48207         * lib/se-context.in.h: Likewise.
48208
48209 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48210
48211         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48212
48213 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48214
48215         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48216
48217 2008-10-22  Eric Blake  <ebb9@byu.net>
48218
48219         glthread/thread: avoid compiler warning
48220         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48221         Add unreachable abort to silence compiler.
48222
48223 2008-10-22  Eric Blake  <ebb9@byu.net>
48224
48225         netdb: also supply struct addrinfo for cygwin 1.5.x
48226         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48227         older cygwin.
48228         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48229         cygwin.
48230         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48231
48232 2008-10-22  Bruno Haible  <bruno@clisp.org>
48233
48234         * users.txt: Update entry about pspp.
48235
48236 2008-10-21  Bruno Haible  <bruno@clisp.org>
48237
48238         Simplification.
48239         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48240         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48241
48242         Simplification.
48243         * lib/ioctl.c (ioctl): Don't undefine.
48244         * lib/socket.c (socket): Don't undefine.
48245
48246         Remove unused module indicator macros.
48247         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48248         GNULIB_$1 as a C macro.
48249
48250         * doc/posix-functions/close.texi: Undo last change.
48251         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48252         Windows platforms.
48253
48254 2008-10-21  Bruno Haible  <bruno@clisp.org>
48255
48256         Add gethostname() declaration to <unistd.h>.
48257         * lib/unistd.in.h (gethostname): New declaration.
48258         * lib/gethostname.c: Include <unistd.h>.
48259         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48260         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48262         and HAVE_GETHOSTNAME.
48263         * modules/gethostname (Depends-on): Add unistd.
48264         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48265         (Include): Specify <unistd.h>.
48266         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48267         HAVE_GETHOSTNAME.
48268         * tests/test-gethostname.c: Include <unistd.h> first.
48269
48270 2008-10-21  Bruno Haible  <bruno@clisp.org>
48271
48272         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48273         * modules/select-tests (Depends-on): Likewise.
48274         Reported by Simon Josefsson.
48275
48276 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48277
48278         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48279         * lib/accept.c: New file, based on winsock.c.
48280         * lib/bind.c: New file, based on winsock.c.
48281         * lib/connect.c: New file, based on winsock.c.
48282         * lib/getpeername.c: New file, based on winsock.c.
48283         * lib/getsockname.c: New file, based on winsock.c.
48284         * lib/getsockopt.c: New file, based on winsock.c.
48285         * lib/ioctl.c: New file, based on winsock.c.
48286         * lib/listen.c: New file, based on winsock.c.
48287         * lib/recv.c: New file, based on winsock.c.
48288         * lib/recvfrom.c: New file, based on winsock.c.
48289         * lib/send.c: New file, based on winsock.c.
48290         * lib/sendto.c: New file, based on winsock.c.
48291         * lib/setsockopt.c: New file, based on winsock.c.
48292         * lib/shutdown.c: New file, based on winsock.c.
48293         * lib/socket.c: New file, based on winsock.c.
48294         * lib/w32sock.h: New file, based on winsock.c.
48295         * lib/winsock.c: Remove file.
48296         * modules/accept: Likewise.
48297         * modules/bind: Likewise.
48298         * modules/connect: Likewise.
48299         * modules/getpeername: Likewise.
48300         * modules/getsockname: Likewise.
48301         * modules/getsockopt: Likewise.
48302         * modules/ioctl: Likewise.
48303         * modules/listen: Likewise.
48304         * modules/recv: Likewise.
48305         * modules/recvfrom: Likewise.
48306         * modules/send: Likewise.
48307         * modules/sendto: Likewise.
48308         * modules/setsockopt: Likewise.
48309         * modules/shutdown: Likewise.
48310         * modules/socket: Use socket.c instead of winsock.c.
48311         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48312         * doc/posix-functions/accept.texi: Doc fix.
48313         * doc/posix-functions/bind.texi: Doc fix.
48314         * doc/posix-functions/close.texi: Doc fix.
48315         * doc/posix-functions/connect.texi: Doc fix.
48316         * doc/posix-functions/getpeername.texi: Doc fix.
48317         * doc/posix-functions/getsockname.texi: Doc fix.
48318         * doc/posix-functions/getsockopt.texi: Doc fix.
48319         * doc/posix-functions/ioctl.texi: Doc fix.
48320         * doc/posix-functions/listen.texi: Doc fix.
48321         * doc/posix-functions/recv.texi: Doc fix.
48322         * doc/posix-functions/recvfrom.texi: Doc fix.
48323         * doc/posix-functions/send.texi: Doc fix.
48324         * doc/posix-functions/sendto.texi: Doc fix.
48325         * doc/posix-functions/setsockopt.texi: Doc fix.
48326         * doc/posix-functions/shutdown.texi: Doc fix.
48327         * doc/posix-functions/socket.texi: Doc fix.
48328
48329 2008-10-20  Bruno Haible  <bruno@clisp.org>
48330
48331         Take into account the role of SIGABRT_COMPAT on Windows 2008.
48332         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
48333         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
48334         as an alias for SIGABRT.
48335         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
48336         (sigaction): Map it to SIGABRT.
48337         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
48338
48339 2008-10-20  Bruno Haible  <bruno@clisp.org>
48340
48341         * lib/fts.c: Don't include lstat.h.
48342         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
48343
48344         Move the lstat() declaration to <sys/stat.h>.
48345         * lib/lstat.h: Remove file.
48346         * lib/sys_stat.in.h: Add special invocation convention.
48347         (lstat): New declaration.
48348         * lib/lstat.c (orig_lstat): New function.
48349         (rpl_lstat): Use orig_lstat instead of lstat.
48350         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
48351         AC_C_INLINE. Set REPLACE_LSTAT.
48352         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
48353         and REPLACE_LSTAT.
48354         * modules/lstat (Files): Remove lib/lstat.h.
48355         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48356         (Include): Specify <sys/stat.h> instead of lstat.h.
48357         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
48358         REPLACE_LSTAT.
48359         * NEWS: Mention the change.
48360
48361 2008-10-20  Bruno Haible  <bruno@clisp.org>
48362
48363         * modules/posix_spawn-tests: New file.
48364         * tests/test-posix_spawn3.c: New file.
48365
48366 2008-10-20  Bruno Haible  <bruno@clisp.org>
48367
48368         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
48369         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48370         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
48371         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
48372         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
48373
48374 2008-10-20  Bruno Haible  <bruno@clisp.org>
48375
48376         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
48377         of posix_spawn on AIX 5.3.
48378
48379 2008-10-20  Bruno Haible  <bruno@clisp.org>
48380
48381         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
48382
48383 2008-10-20  Bruno Haible  <bruno@clisp.org>
48384
48385         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
48386         of AC_LANG_PROGRAM.
48387
48388 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48389
48390         * lib/netdb.in.h: Don't define GNU specific constants until they
48391         are supported or needed.  Reported by Bruno Haible
48392         <bruno@clisp.org>.
48393
48394 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48395
48396         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
48397
48398 2008-10-20  Simon Josefsson  <simon@josefsson.org>
48399
48400         * lib/getaddrinfo.h: Remove file.
48401         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
48402         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
48403         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
48404         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
48405         * modules/netdb: Substitute GNULIB_GETADDRINFO.
48406         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
48407         * tests/test-getaddrinfo.c: Likewise.
48408         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
48409         * NEWS: Mention change.
48410
48411 2008-10-19  Bruno Haible  <bruno@clisp.org>
48412
48413         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
48414
48415 2008-10-19  Bruno Haible  <bruno@clisp.org>
48416
48417         * lib/wait-process.c: Include simply <sys/wait.h>.
48418         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
48419         WIFSTOPPED): Remove fallback definitions.
48420         * modules/wait-process (Depends-on): Add sys_wait.
48421
48422         New module 'sys_wait'.
48423         * modules/sys_wait: New file.
48424         * lib/sys_wait.in.h: New file, partially copied from
48425         lib/wait-process.c.
48426         * m4/sys_wait_h.m4: New file.
48427         * doc/posix-headers/sys_wait.texi: Mention the new module.
48428
48429 2008-10-19  Bruno Haible  <bruno@clisp.org>
48430
48431         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
48432
48433 2008-10-19  Bruno Haible  <bruno@clisp.org>
48434
48435         Assume that waitpid() fills an 'int' status, not a 'union wait'.
48436         * lib/wait-process.c (WAIT_T): Remove type.
48437         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
48438         (wait_subprocess): Update.
48439
48440 2008-10-19  Bruno Haible  <bruno@clisp.org>
48441
48442         New module 'atoll'.
48443         * modules/atoll: New file.
48444         * lib/stdlib.in.h (atoll): New declaration.
48445         * lib/atoll.c: New file, from glibc with modifications.
48446         * m4/atoll.m4: New file.
48447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
48448         HAVE_ATOLL.
48449         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
48450         * doc/posix-functions/atoll.texi: Mention the new module.
48451
48452 2008-10-19  Bruno Haible  <bruno@clisp.org>
48453
48454         Add strtoull() declaration to <stdlib.h>.
48455         * lib/stdlib.in.h (strtoull): New declaration.
48456         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48457         Set HAVE_STRTOULL.
48458         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
48459         HAVE_STRTOULL.
48460         * modules/strtoull (Depends-on): Add stdlib.
48461         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48462         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
48463         HAVE_STRTOULL.
48464
48465 2008-10-19  Bruno Haible  <bruno@clisp.org>
48466
48467         Add strtoll() declaration to <stdlib.h>.
48468         * lib/stdlib.in.h (strtoll): New declaration.
48469         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
48470         Set HAVE_STRTOLL.
48471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
48472         HAVE_STRTOLL.
48473         * modules/strtoll (Depends-on): Add stdlib.
48474         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48475         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
48476
48477 2008-10-19  Bruno Haible  <bruno@clisp.org>
48478
48479         * modules/bcopy (Depends-on): Add strings.
48480         (Include): Specify <strings.h>.
48481
48482 2008-10-19  Bruno Haible  <bruno@clisp.org>
48483
48484         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
48485
48486 2008-10-19  Bruno Haible  <bruno@clisp.org>
48487
48488         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
48489         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
48490         mingw.
48491
48492 2008-10-19  Bruno Haible  <bruno@clisp.org>
48493
48494         * lib/atanl.c: Don't include isnanl.h.
48495         * lib/cosl.c: Likewise.
48496         * lib/ldexpl.c: Likewise.
48497         * lib/logl.c: Likewise.
48498         * lib/sinl.c: Likewise.
48499         * lib/sqrtl.c: Likewise.
48500         * lib/tanl.c: Likewise.
48501
48502         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
48503         * lib/isnanf.h: Remove file.
48504         * lib/isnand.h: Remove file.
48505         * lib/isnanl.h: Remove file.
48506         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
48507         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
48508         macros.
48509         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
48510         HAVE_ISNANF, don't define it as a C macro.
48511         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
48512         HAVE_ISNAND, don't define it as a C macro.
48513         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
48514         HAVE_ISNANL, don't define it as a C macro.
48515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
48516         HAVE_ISNAN[FDL].
48517         * modules/isnanf (Files): Remove lib/isnanf.h.
48518         (Depends-on): Add math.
48519         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48520         (Include): Specify <math.h> instead of isnanf.h.
48521         * modules/isnand (Files): Remove lib/isnand.h.
48522         (Depends-on): Add math.
48523         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48524         (Include): Specify <math.h> instead of isnand.h.
48525         * modules/isnanl (Files): Remove lib/isnanl.h.
48526         (Depends-on): Add math.
48527         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
48528         (Include): Specify <math.h> instead of isnanl.h.
48529         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
48530         HAVE_ISNAN[FDL].
48531         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
48532         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
48533         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
48534         * NEWS: Mention the change.
48535
48536 2008-10-18  Bruno Haible  <bruno@clisp.org>
48537
48538         Add getusershell(), setusershell(), endusershell() declarations to
48539         <unistd.h>.
48540         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
48541         declarations.
48542         * lib/getusershell.c: Include unistd.h.
48543         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
48544         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48545         HAVE_GETUSERSHELL.
48546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
48547         and HAVE_GETUSERSHELL.
48548         * modules/getusershell (Depends-on): Add unistd, extensions.
48549         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48550         (Include): Specify <unistd.h>.
48551         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
48552         HAVE_GETUSERSHELL.
48553
48554 2008-10-18  Bruno Haible  <bruno@clisp.org>
48555
48556         Add a getloadavg() declaration to <stdlib.h>.
48557         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
48558         getloadavg declaration.
48559         (getloadavg): New declaration.
48560         * lib/getloadavg.c: Include <stdlib.h> first.
48561         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
48562         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
48563         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
48564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
48565         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48566         * modules/getloadavg (Depends-on): Add stdlib, extensions.
48567         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48568         (Include): Specify <stdlib.h>.
48569         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
48570         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
48571
48572 2008-10-18  Bruno Haible  <bruno@clisp.org>
48573
48574         * lib/dirchownmod.c: Don't include lchmod.h.
48575
48576         Move the lchmod() declaration to <sys/stat.h>.
48577         * lib/lchmod.h: Remove file.
48578         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
48579         (lchmod): New declaration, moved here from lib/lchown.h.
48580         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
48581         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
48582         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
48583         and HAVE_LCHMOD.
48584         * modules/lchmod (Files): Remove lib/lchmod.h.
48585         (Depends-on): Add sys_stat, extensions.
48586         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
48587         (Include): Specify <sys/stat.h> instead of lchmod.h.
48588         * modules/sys_stat (Depends-on): Add link-warning.
48589         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
48590         definition of GL_LINK_WARNING.
48591         * NEWS: Mention the change.
48592
48593 2008-10-18  Bruno Haible  <bruno@clisp.org>
48594
48595         * lib/fchdir.c: Don't include dirfd.h.
48596         * lib/fts.c: Likewise.
48597         * lib/getcwd.c: Likewise.
48598         * lib/glob.c: Likewise.
48599
48600         Move the dirfd() declaration to <dirent.h>.
48601         * lib/dirfd.h: Remove file.
48602         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
48603         (dirfd): New declaration.
48604         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
48605         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
48606         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
48607         HAVE_DECL_DIRFD.
48608         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
48609         HAVE_DECL_DIRFD.
48610         * modules/dirfd (Files): Remove lib/dirfd.h.
48611         (Depends-on): Add dirent, extensions.
48612         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
48613         (Include): Specify <dirent.h> instead of dirfd.h.
48614         * modules/dirent (Depends-on): Add link-warning.
48615         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
48616         definition of GL_LINK_WARNING.
48617         * NEWS: Mention the change.
48618
48619 2008-10-18  Bruno Haible  <bruno@clisp.org>
48620
48621         Move the euidaccess() declaration to <unistd.h>.
48622         * lib/euidaccess.h: Remove file.
48623         * lib/unistd.in.h (euidaccess): New declaration.
48624         * lib/euidaccess.c: Don't include euidaccess.h.
48625         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
48626         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
48627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
48628         and HAVE_EUIDACCESS.
48629         * modules/euidaccess (Files): Remove lib/euidaccess.h.
48630         (Depends-on): Add unistd.
48631         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48632         (Include): Specify <unistd.h> instead of euidaccess.h.
48633         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
48634         HAVE_EUIDACCESS.
48635         * NEWS: Mention the change.
48636
48637 2008-10-18  Bruno Haible  <bruno@clisp.org>
48638
48639         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
48640
48641         Move the getdomainname() declaration to <unistd.h>.
48642         * lib/getdomainname.h: Remove file.
48643         * lib/unistd.in.h (getdomainname): New declaration.
48644         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
48645         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
48646         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
48647         HAVE_GETDOMAINNAME.
48648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48649         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
48650         * modules/getdomainname (Files): Remove lib/getdomainname.h.
48651         (Depends-on): Add unistd, extensions.
48652         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48653         (Includes): Specify <unistd.h> instead of getdomainname.h.
48654         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
48655         HAVE_GETDOMAINNAME.
48656         * NEWS: Mention the change.
48657
48658 2008-10-18  Bruno Haible  <bruno@clisp.org>
48659
48660         * modules/dirent: New file.
48661         * m4/dirent_h.m4: New file.
48662         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
48663         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
48664         * modules/fchdir (Files): Remove lib/dirent.in.h.
48665         (Depends-on): Add dirent.
48666         (Makefile.am): Move rules to modules/dirent.
48667         * doc/posix-headers/dirent.texi: Mention the new module.
48668
48669 2008-10-18  Bruno Haible  <bruno@clisp.org>
48670
48671         Avoid -Wunused-parameter warnings in public gnulib header files.
48672         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
48673         macro.
48674         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
48675
48676 2008-10-18  Bruno Haible  <bruno@clisp.org>
48677
48678         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
48679         * doc/glibc-functions/error.texi: Mention the module 'error'.
48680         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
48681         * doc/glibc-functions/getdomainname.texi: Mention the module
48682         'getdomainname'.
48683         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
48684         * doc/glibc-functions/getpagesize.texi: Mention the module
48685         'getpagesize'.
48686         * doc/glibc-functions/getusershell.texi: Mention the module
48687         'getusershell'.
48688         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
48689         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
48690         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
48691         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
48692         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
48693         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
48694         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
48695         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
48696         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
48697         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
48698         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
48699         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
48700         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
48701         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
48702
48703 2008-10-17  Bruno Haible  <bruno@clisp.org>
48704
48705         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
48706         HP-UX and IRIX, use -0.0L.
48707         * tests/test-ceill.c (minus_zero): Likewise.
48708         * tests/test-floorl.c (minus_zero): Likewise.
48709         * tests/test-frexpl.c (minus_zero): Likewise.
48710         * tests/test-isnan.c (minus_zerol): Likewise.
48711         * tests/test-isnanl.h (minus_zero): Likewise.
48712         * tests/test-ldexpl.c (minus_zero): Likewise.
48713         * tests/test-roundl.c (minus_zero): Likewise.
48714         * tests/test-signbit.c (minus_zerol): Likewise.
48715         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48716         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48717         * tests/test-truncl.c (minus_zero): Likewise.
48718         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48719         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48720         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
48721         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48722
48723 2008-10-17  Bruno Haible  <bruno@clisp.org>
48724
48725         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
48726         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
48727         that it gets activated only for gcc >= 3.0.
48728         * lib/dirent.in.h: Likewise.
48729         * lib/errno.in.h: Likewise.
48730         * lib/fcntl.in.h: Likewise.
48731         * lib/float.in.h: Likewise.
48732         * lib/iconv.in.h: Likewise.
48733         * lib/inttypes.in.h: Likewise.
48734         * lib/locale.in.h: Likewise.
48735         * lib/math.in.h: Likewise.
48736         * lib/netdb.in.h: Likewise.
48737         * lib/netinet_in.in.h: Likewise.
48738         * lib/search.in.h: Likewise.
48739         * lib/signal.in.h: Likewise.
48740         * lib/spawn.in.h: Likewise.
48741         * lib/stdarg.in.h: Likewise.
48742         * lib/stdint.in.h: Likewise.
48743         * lib/stdio.in.h: Likewise.
48744         * lib/stdlib.in.h: Likewise.
48745         * lib/string.in.h: Likewise.
48746         * lib/strings.in.h: Likewise.
48747         * lib/sys_file.in.h: Likewise.
48748         * lib/sys_ioctl.in.h: Likewise.
48749         * lib/sys_select.in.h: Likewise.
48750         * lib/sys_socket.in.h: Likewise.
48751         * lib/sys_stat.in.h: Likewise.
48752         * lib/sys_time.in.h: Likewise.
48753         * lib/sysexits.in.h: Likewise.
48754         * lib/time.in.h: Likewise.
48755         * lib/unistd.in.h: Likewise.
48756         * lib/wchar.in.h: Likewise.
48757         * lib/wctype.in.h: Likewise.
48758         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48759
48760 2008-10-17  Jim Meyering  <meyering@redhat.com>
48761
48762         ignore-value: don't depend on inline module
48763         * modules/ignore-value (Depends-on): Remove 'inline'.
48764         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
48765         Suggestion from Bruno Haible.
48766
48767 2008-10-17  Bruno Haible  <bruno@clisp.org>
48768
48769         New implementation of condition variables for Win32.
48770         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
48771         (gl_linked_waitqueue_t): New type.
48772         (gl_cond_t): Use it.
48773         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
48774         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
48775         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
48776         (glthread_cond_init_func, glthread_cond_wait_func,
48777         glthread_cond_timedwait_func, glthread_cond_signal_func,
48778         glthread_cond_broadcast_func, glthread_cond_destroy_func):
48779         Reimplemented on the basis of gl_linked_waitqueue_t.
48780         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
48781         gl_waitqueue_t.
48782         (gl_rwlock_t): Update.
48783         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
48784
48785 2008-10-17  Simon Josefsson  <simon@josefsson.org>
48786
48787         * modules/recvfrom (Depends-on): Add dependency on getpeername.
48788         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48789
48790 2008-10-17  Jim Meyering  <meyering@redhat.com>
48791
48792         ignore-value: new module
48793         * modules/ignore-value: New file.
48794         * lib/ignore-value.h: New file.
48795         * MODULES.html.sh (Compiler warning management): New section,
48796         just for this module.  More to come.
48797
48798 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48799
48800         open-safer.c: avoid 'signed and unsigned in conditional...' warning
48801         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
48802         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
48803
48804 2008-10-16  Jim Meyering  <meyering@redhat.com>
48805
48806         openat-die.c: avoid 'no previous prototype' warning
48807         * lib/openat-die.c: Include "openat.h".
48808         Reported by Reuben Thomas <rrt@sc3d.org>.
48809
48810 2008-10-16  Simon Josefsson  <simon@josefsson.org>
48811
48812         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
48813         * lib/netdb.in.h: Fix typo.
48814         Reported by Bruno Haible  <bruno@clisp.org>
48815
48816         * lib/netdb.in.h: Include sys/socket.h for platforms without
48817         netdb.h, to get structures like hostent on MinGW.
48818         * modules/netdb (Depends-on): Add sys_socket.
48819
48820 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48821
48822         * modules/netdb, modules/netdb-tests: New file.
48823         * m4/netdb_h.m4: New file.
48824         * lib/netdb.in.h: Add, currently just an empty file pending
48825         definitions.
48826         * tests/test-netdb.c: New file.
48827         * doc/posix-headers/netdb.texi: Mention that we replace it if
48828         needed.
48829         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48830         netdb.
48831
48832 2008-10-15  Simon Josefsson  <simon@josefsson.org>
48833
48834         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
48835         with code.
48836
48837 2008-10-13  Bruno Haible  <bruno@clisp.org>
48838
48839         * lib/glthread/cond.c (glthread_cond_wait_func,
48840         glthread_cond_timedwait_func): Add a comment.
48841
48842 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48843
48844         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
48845         * tests/test-select.c: Likewise,
48846
48847 2008-10-13  Bruno Haible  <bruno@clisp.org>
48848
48849         * lib/glthread/cond.c (glthread_cond_wait_func,
48850         glthread_cond_timedwait_func): Fix variable name.
48851         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
48852
48853 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
48854
48855         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
48856         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
48857         struct sockaddr.sa_len.
48858         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
48859
48860 2008-10-13  Simon Josefsson  <simon@josefsson.org>
48861
48862         * build-aux/pmccabe2html: Add css and css_url parameters.
48863
48864 2008-10-12  Bruno Haible  <bruno@clisp.org>
48865
48866         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
48867         calling aclx_get.
48868         Reported by Rainer Tammer <tammer@tammer.net>.
48869
48870 2008-10-12  Bruno Haible  <bruno@clisp.org>
48871
48872         Use msvcrt aware primitives for creation/termination of Win32 threads.
48873         * lib/glthread/thread.c: Include <process.h>.
48874         (glthread_create_func): Use _beginthreadex instead of CreateThread.
48875         (wrapper_func): Update signature.
48876         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
48877
48878 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
48879             Bruno Haible  <bruno@clisp.org>
48880
48881         Provide a Win32 implementation of the 'cond' module.
48882         * lib/glthread/cond.h [USE_WIN32]: New implementation.
48883         * lib/glthread/cond.c (glthread_cond_init_func,
48884         glthread_cond_wait_func, glthread_cond_timedwait_func,
48885         glthread_cond_signal_func, glthread_cond_broadcast_func,
48886         glthread_cond_destroy_func) [USE_WIN32]: New functions.
48887         * modules/cond (Dependencies): Add gettimeofday.
48888
48889 2008-10-11  Bruno Haible  <bruno@clisp.org>
48890
48891         Make sleep work on older versions of mingw.
48892         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
48893         only whether it exists.
48894         * doc/posix-functions/sleep.texi: Mention the problem with older
48895         versions of mingw.
48896
48897 2008-10-11  Bruno Haible  <bruno@clisp.org>
48898
48899         New module 'shutdown'.
48900         * modules/shutdown: New file.
48901         * lib/sys_socket.in.h (shutdown): New declaration.
48902         * lib/winsock.c (shutdown): New function.
48903         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
48904         GNULIB_SHUTDOWN.
48905         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
48906         * doc/posix-functions/shutdown.texi: Document the new module.
48907
48908 2008-10-11  Jim Meyering  <meyering@redhat.com>
48909
48910         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
48911
48912 2008-10-11  Bruno Haible  <bruno@clisp.org>
48913
48914         New module 'fclose'.
48915         * modules/fclose: New file.
48916         * lib/stdio.in.h (fclose): New declaration.
48917         * lib/fclose.c: New file.
48918         * m4/fclose.m4: New file.
48919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
48920         REPLACE_FCLOSE.
48921         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
48922         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
48923         REPLACE_FCLOSE.
48924         * modules/close (Depends-on): fclose.
48925         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
48926
48927 2008-10-11  Bruno Haible  <bruno@clisp.org>
48928
48929         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
48930         set errno and don't call _close.
48931
48932 2008-10-10  Bruno Haible  <bruno@clisp.org>
48933
48934         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
48935         ACL, not afterwards. Fixes test failure on Cygwin.
48936
48937 2008-10-09  Ben Pfaff  <blp@gnu.org>
48938
48939         * build-aux/announce-gen: Fix gnulib version related part of usage
48940         message.  Die with a useful error message if no tarballs are
48941         found.
48942
48943 2008-10-10  Jim Meyering  <meyering@redhat.com>
48944
48945         bootstrap: use git's --depth=N option only if it's supported
48946         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
48947         recognize the --depth option.  Reported by Pádraig Brady.
48948
48949 2008-10-09  Bruno Haible  <bruno@clisp.org>
48950
48951         New module 'ioctl'.
48952         * modules/ioctl: New file.
48953         * lib/sys_socket.in.h (ioctl): Remove declaration.
48954         * lib/winsock.c: Include <sys/ioctl.h>.
48955         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
48956         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48957         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
48958         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
48959         * doc/posix-functions/ioctl.texi: Mention the new module.
48960
48961 2008-10-09  Bruno Haible  <bruno@clisp.org>
48962
48963         New module 'sys_ioctl'.
48964         * lib/sys_ioctl.in.h: New file.
48965         * m4/sys_ioctl_h.m4: New file.
48966         * modules/sys_ioctl: New file.
48967         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48968
48969 2008-10-09  Bruno Haible  <bruno@clisp.org>
48970
48971         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48972         * lib/winsock.c: Include <stdarg.h>.
48973         (rpl_ioctl): Change to second argument 'int' and then varargs.
48974
48975 2008-10-09  Bruno Haible  <bruno@clisp.org>
48976
48977         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48978         when the sys_socket module is present and the system has <winsock2.h>.
48979
48980 2008-10-09  Bruno Haible  <bruno@clisp.org>
48981
48982         * doc/posix-functions/close.texi: Mention module 'close' instead of
48983         module 'sys_socket'.
48984
48985 2008-10-09  Bruno Haible  <bruno@clisp.org>
48986
48987         * doc/glibc-headers/sys_ioctl.texi: New file.
48988         * doc/gnulib.texi: Include it.
48989
48990 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48991             Bruno Haible  <bruno@clisp.org>
48992
48993         Combine the two replacements of 'close'.
48994         * lib/sys_socket.in.h (close): Define to a reminder to include
48995         <unistd.h>.
48996         (_gl_close_fd_maybe_socket): New declaration.
48997         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48998         * lib/winsock.c (close): Remove undefinition.
48999         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49000         needed for the gnulib module 'close'.
49001         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49002         define to an error symbol or to a warning, if suitable.
49003         * lib/close.c: Include <sys/socket.h>.
49004         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49005         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49006         UNISTD_H_HAVE_WINSOCK2_H.
49007         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49009         UNISTD_H_HAVE_WINSOCK2_H.
49010         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49011         (configure.ac): Set a module indicator.
49012         (Makefile.am): Substitute GNULIB_CLOSE.
49013         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49014         * modules/poll-tests (Depends-on): Add close.
49015         * modules/select-tests (Depends-on): Likewise.
49016
49017 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49018             Bruno Haible  <bruno@clisp.org>
49019
49020         New module 'close'.
49021         * modules/close: New file.
49022         * lib/unistd.in.h (close): Move declaration out of the
49023         FCHDIR_REPLACEMENT scope.
49024         (_gl_unregister_fd): New declaration.
49025         * lib/close.c: New file.
49026         * lib/fchdir.c (rpl_close): Remove function.
49027         * m4/close.m4: New file.
49028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49029         close.
49030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49031         REPLACE_CLOSE.
49032         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49033         REPLACE_CLOSE.
49034         * modules/fchdir (Depends-on): Add close.
49035
49036 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49037             Bruno Haible  <bruno@clisp.org>
49038
49039         * lib/fcntl.in.h (open): Simplify conditionals.
49040         (_gl_register_fd): New declaration.
49041         * lib/fchdir.c (rpl_open): Remove function.
49042         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49043         also.
49044         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49045         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49046         open.
49047
49048 2008-10-09  Jim Meyering  <meyering@redhat.com>
49049
49050         GNUmakefile: use the more name-space-friendly "_version"
49051         * top/GNUmakefile (_dummy): Update.
49052         (_version): Rename from "version".
49053
49054 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49055             Bruno Haible  <bruno@clisp.org>
49056
49057         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49058         rpl_close.
49059         (_gl_register_fd): New function, extracted from rpl_open.
49060         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49061         (rpl_open, rpl_opendir): Use _gl_register_fd.
49062
49063 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49064
49065         Fix organization of 'open' replacement.
49066         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49067         (gl_FUNC_OPEN): Use it.
49068         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49069
49070 2008-10-08  Bruno Haible  <bruno@clisp.org>
49071
49072         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49073
49074 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49075
49076         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49077         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49078         listen).
49079
49080 2008-10-08  Eric Blake  <ebb9@byu.net>
49081
49082         GNUmakefile: add 'make version' target
49083         * top/GNUmakefile (_curr-ver): Split version update rules...
49084         (version): ...into a target.
49085
49086 2008-10-07  Bruno Haible  <bruno@clisp.org>
49087
49088         Use a more portable replacement expression for -0.0L.
49089         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49090         instead of -0.0L. Fix m4 quotation.
49091
49092         * tests/test-signbit.c: Include <float.h>.
49093         (minus_zero): New variable.
49094         (test_signbitl): Use minus_zero instead of -zero.
49095         * modules/signbit-tests (Depends-on): Add float.
49096
49097         * tests/test-ceill.c: Include <float.h>.
49098         (zero): Remove variable.
49099         (minus_zero): New variable.
49100         (main): Use minus_zero instead of -zero.
49101         * modules/ceill-tests (Depends-on): Add float.
49102
49103         * tests/test-floorl.c: Include <float.h>.
49104         (zero): Remove variable.
49105         (minus_zero): New variable.
49106         (main): Use minus_zero instead of -zero.
49107         * modules/floorl-tests (Depends-on): Add float.
49108
49109         * tests/test-roundl.c: Include <float.h>.
49110         (zero): Remove variable.
49111         (minus_zero): New variable.
49112         (main): Use minus_zero instead of -zero.
49113         * modules/roundl-tests (Depends-on): Add float.
49114
49115         * tests/test-truncl.c: Include <float.h>.
49116         (zero): Remove variable.
49117         (minus_zero): New variable.
49118         (main): Use minus_zero instead of -zero.
49119         * modules/truncl-tests (Depends-on): Add float.
49120
49121         * tests/test-frexpl.c (zero): Remove variable.
49122         (minus_zero): New variable.
49123         (main): Use minus_zero instead of -zero.
49124         * modules/frexpl-tests (Depends-on): Add float.
49125
49126         * tests/test-isnan.c (zerol): Remove variable.
49127         (minus_zerol): New variable.
49128         (test_long_double): Use minus_zerol instead of -zerol.
49129         * modules/isnan-tests (Depends-on): Add float.
49130
49131         * tests/test-isnanl.h (zero): Remove variable.
49132         (minus_zero): New variable.
49133         (main): Use minus_zero instead of -zero.
49134         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49135         * modules/isnanl-tests (Depends-on): Add float.
49136
49137         * tests/test-ldexpl.c (zero): Remove variable.
49138         (minus_zero): New variable.
49139         (main): Use minus_zero instead of -zero.
49140         * modules/ldexpl-tests (Depends-on): Add float.
49141
49142         * tests/test-snprintf-posix.h (zerol): Remove variable.
49143         (minus_zerol): New variable.
49144         (test_function): Use minus_zerol instead of -zerol.
49145         * modules/snprintf-posix-tests (Depends-on): Add float.
49146         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49147
49148         * tests/test-sprintf-posix.h (zerol): Remove variable.
49149         (minus_zerol): New variable.
49150         (test_function): Use minus_zerol instead of -zerol.
49151         * modules/sprintf-posix-tests (Depends-on): Add float.
49152         * modules/vsprintf-posix-tests (Depends-on): Add float.
49153
49154         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49155         (minus_zerol): New variable.
49156         (test_function): Use minus_zerol instead of -zerol.
49157         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49158
49159         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49160         (minus_zerol): New variable.
49161         (test_function): Use minus_zerol instead of -zerol.
49162         * modules/vasprintf-posix-tests (Depends-on): Add float.
49163
49164 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49165
49166         * MODULES.html.sh (Support for building documentation): Mention
49167         pmccabe2html.  Sort entries.
49168
49169         Add pmccabe2html module, from gnupdf.
49170         * build-aux/pmccabe.css: New file.
49171         * build-aux/pmccabe2html: New file.
49172         * m4/pmccabe2html.m4: New file.
49173         * modules/pmccabe2html: New file.
49174
49175 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49176
49177         flock: new module
49178         * MODULES.html.sh: Add to list of modules.
49179         * lib/flock.c: flock implementation for Windows and Unix systems
49180         which have fcntl.
49181         * doc/glibc-functions/flock.texi: Update documentation.
49182         * lib/sys_file.in.h: <sys/file.h> header file.
49183         * m4/flock.m4: M4 macros.
49184         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49185         * modules/flock: flock module.
49186         * modules/flock-tests: flock tests module.
49187         * modules/sys_file: sys/file.h module.
49188         * tests/test-flock.c: test suite for flock.
49189
49190 2008-10-06  Jim Meyering  <meyering@redhat.com>
49191
49192         bootstrap: check for LT_INIT more portably still ;-)
49193         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49194         Spotted by Bruno Haible.
49195
49196 2008-10-06  Eric Blake  <ebb9@byu.net>
49197
49198         test-signbit: avoid tripping Irix cc bug on -0.0L
49199         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49200         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49201         entire testsuite consistent and avoids an Irix 6.2 bug.
49202
49203 2008-10-05  Bruno Haible  <bruno@clisp.org>
49204             Jim Meyering  <jim@meyering.net>
49205
49206         Add an option for ignoring EPIPE during close_stdout.
49207         * lib/closeout.h: Include <stdbool.h>.
49208         (close_stdout_set_ignore_EPIPE): New declaration.
49209         * lib/closeout.c: Include <stdbool.h>.
49210         (ignore_EPIPE): New variable.
49211         (close_stdout_set_ignore_EPIPE): New function.
49212         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49213         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49214         failure.
49215         * modules/closeout (Depends-on): Add stdbool.
49216
49217 2008-10-05  Bruno Haible  <bruno@clisp.org>
49218
49219         * modules/accept: New file.
49220         * modules/bind: New file.
49221         * modules/connect: New file.
49222         * modules/getpeername: New file.
49223         * modules/getsockname: New file.
49224         * modules/getsockopt: New file.
49225         * modules/listen: New file.
49226         * modules/recv: New file.
49227         * modules/recvfrom: New file.
49228         * modules/send: New file.
49229         * modules/sendto: New file.
49230         * modules/setsockopt: New file.
49231         * modules/socket: New file.
49232         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49233         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49234         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49235         the particular module is requested. Add a link warning when the
49236         particular module is not requested.
49237         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49238         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49239         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49240         the particular module is requested.
49241         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49242         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49243         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49244         * modules/sys_socket (Depends-on): Add link-warning.
49245         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49246         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49247         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49248         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49249         GL_LINK_WARNING.
49250         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49251         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49252         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49253         * doc/posix-functions/getpeername.texi: Mention the new module
49254         'getpeername'.
49255         * doc/posix-functions/getsockname.texi: Mention the new module
49256         'getsockname'.
49257         * doc/posix-functions/getsockopt.texi: Mention the new module
49258         'getsockopt'.
49259         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49260         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49261         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49262         * doc/posix-functions/send.texi: Mention the new module 'send'.
49263         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49264         * doc/posix-functions/setsockopt.texi: Mention the new module
49265         'setsockopt'.
49266         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49267         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49268         listen, connect, accept.
49269         * modules/select-tests (Depends-on): Likewise.
49270
49271 2008-10-05  Bruno Haible  <bruno@clisp.org>
49272
49273         * lib/winsock.c (strerror): Remove unused #undef.
49274         (rpl_close): Remove unused local variable.
49275
49276         * modules/sys_socket (Depends-on); Add errno.
49277
49278 2008-10-05  Bruno Haible  <bruno@clisp.org>
49279
49280         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49281         (select): Add a link warning when the 'select' module is not used.
49282         * modules/sys_select (Depends-on): Add link-warning.
49283         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49284         Suggested by Paolo Bonzini.
49285
49286 2008-10-05  Jim Meyering  <meyering@redhat.com>
49287
49288         bootstrap: check for LT_INIT more portably
49289         * build-aux/bootstrap: Avoid using grep -E, since it's not
49290         portable enough.  Suggestion from Bruno Haible.
49291
49292 2008-10-05  Bruno Haible  <bruno@clisp.org>
49293
49294         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49295         as being fixed by gnulib.
49296
49297 2008-10-05  Bruno Haible  <bruno@clisp.org>
49298
49299         * modules/select-tests: New file, mostly copied from
49300         modules/sys_select-tests.
49301         * tests/test-select.c: New file, mostly copied from
49302         tests/test-sys_select.c.
49303         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49304         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49305         (Makefile.am): Remove test_sys_select_LDADD.
49306
49307         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49308         to an undefined symbol, for an error message.
49309         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49310         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49311         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49312         winsock-select.c here.
49313         * modules/sys_select (Files): Remove lib/winsock-select.c.
49314         (Depends-on): Remove alloca.
49315         (Makefile.am): Substitute GNULIB_SELECT.
49316         * modules/select: New file.
49317         * doc/posix-functions/select.texi: Update.
49318
49319 2008-10-05  Bruno Haible  <bruno@clisp.org>
49320
49321         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49322         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49323         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49324         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49325         getdtablesize.
49326         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49327         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49328
49329 2008-10-05  Bruno Haible  <bruno@clisp.org>
49330
49331         * modules/getdtablesize-tests: New file.
49332         * tests/test-getdtablesize.c: New file.
49333
49334         New module 'getdtablesize'.
49335         * lib/unistd.in.h (getdtablesize): New declaration.
49336         * lib/getdtablesize.c: New file.
49337         * m4/getdtablesize.m4: New file.
49338         * modules/getdtablesize: New file.
49339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49340         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
49341         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
49342         HAVE_GETDTABLESIZE.
49343         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
49344
49345 2008-10-05  Bruno Haible  <bruno@clisp.org>
49346
49347         * modules/sched (Makefile.am): Fix typo.
49348         Reported by Simon Josefsson.
49349
49350 2008-10-05  Jim Meyering  <meyering@redhat.com>
49351
49352         bootstrap: check for LT_INIT, too
49353         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
49354         are deprecated.  Suggestion from Ralf Wildenhues.
49355
49356 2008-10-05  Bruno Haible  <bruno@clisp.org>
49357
49358         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
49359         overriding them by ours.
49360         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
49361
49362 2008-10-05  Jim Meyering  <meyering@redhat.com>
49363
49364         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
49365         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
49366         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
49367
49368 2008-10-04  Bruno Haible  <bruno@clisp.org>
49369
49370         * modules/dup2 (License): Change to LGPLv2+.
49371         * modules/sleep (License): Likewise.
49372         * modules/perror (License): Likewise.
49373         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
49374         Blake.
49375         * modules/signal (License): Likewise.
49376         * modules/sigprocmask (License): Likewise.
49377         * modules/raise (License): Change to LGPLv2+, with approval by Jim
49378         Meyering.
49379
49380 2008-10-04  Bruno Haible  <bruno@clisp.org>
49381
49382         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
49383         Reported by Rainer Tammer <tammer@tammer.net>.
49384
49385 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
49386             Bruno Haible  <bruno@clisp.org>
49387
49388         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
49389         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
49390         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
49391
49392 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
49393
49394         filevercmp: new module
49395         * lib/filevercmp.h: New function filevercmp comparing version strings.
49396         * lib/filevercmp.c: Implementation of filevercmp function.
49397         * modules/filevercmp: Module metadata.
49398         * tests/test-filevercmp.c: Unit test for new module.
49399         * modules/filevercmp-tests: Unit test metadata.
49400         * MODULES.html.sh: Add filevercmp module.
49401
49402 2008-10-03  Bruno Haible  <bruno@clisp.org>
49403
49404         * lib/c-ctype.h: Add comment.
49405         Reported by Jim Meyering.
49406
49407 2008-10-02  Bruno Haible  <bruno@clisp.org>
49408
49409         * modules/posix_spawn-internal (Depends-on): Add 'open'.
49410
49411 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49412
49413         * build-aux/bootstrap: Allow renaming bootstrap, and change the
49414         name of bootstrap.conf accordingly.
49415
49416 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49417
49418         * build-aux/bootstrap: Install git-merge-changelog configuration
49419         items into .gitconfig if needed.
49420
49421 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
49422
49423         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
49424         git repository, and initialize/update it accordingly.
49425
49426 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
49427
49428         * modules/fsync-tests: New file.
49429         * tests/test-fsync.c: New file.
49430
49431         New module 'fsync'.
49432         * lib/fsync.c: New file.
49433         * m4/fsync.m4: New file.
49434         * modules/fsync: New file.
49435         * lib/unistd.in.h (fsync): New declaration.
49436         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
49437         GNULIB_FSYNC and HAVE_FSYNC.
49438         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
49439         * MODULES.html.sh (posix_functions): Add fsync.
49440         * doc/posix-functions/fsync.texi: Mention the new module.
49441
49442 2008-10-02  Jim Meyering  <meyering@redhat.com>
49443
49444         fts.c: sync with similar code from coreutils' remove.c
49445         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
49446         Guard also with "#if defined __linux__", since for now at least,
49447         this code is Linux-kernel-specific.
49448
49449 2008-10-02  Jim Meyering  <meyering@redhat.com>
49450
49451         fts: bug fixes
49452         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
49453         Include <sys/vfs.h>, not <sys/statfs.h>.
49454
49455         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
49456         Include <sys/vfs.h>, not <sys/statfs.h>.
49457
49458 2008-10-01  Bruno Haible  <bruno@clisp.org>
49459
49460         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
49461         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
49462         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
49463         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
49464         * doc/posix-functions/posix_spawnp.texi: Likewise.
49465         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
49466         whether posix_spawn actually works.
49467         * m4/pipe.m4 (gl_PIPE): Likewise.
49468         * modules/execute (Files): Add m4/posix_spawn.m4.
49469         * modules/pipe (Files): Add m4/posix_spawn.m4.
49470         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
49471
49472 2008-10-01  Jim Meyering  <meyering@redhat.com>
49473
49474         remove trailing spaces
49475         * NEWS: Likewise.
49476         * lib/poll.c (poll): Likewise.
49477         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
49478         * lib/winsock.c (rpl_close): Likewise.
49479         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
49480         * modules/yield: Likewise.
49481         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
49482         * tests/test-sys_select.c (connect_to_socket): Likewise.
49483
49484         fts.c: adjust a new interface to be more generally useful
49485         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
49486         (fts_build): Adjust caller.
49487
49488 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49489
49490         * modules/cond-tests: New file.
49491         * tests/test-cond.c: New file.
49492
49493 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49494             Bruno Haible  <bruno@clisp.org>
49495
49496         * modules/cond (Dependencies): Add errno, time.
49497         * lib/glthread/cond.h: Include <time.h>.
49498         (gl_cond_define, gl_cond_define_initialized): Use the same definition
49499         across platforms.
49500
49501 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49502             Bruno Haible  <bruno@clisp.org>
49503
49504         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
49505
49506 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49507             Bruno Haible  <bruno@clisp.org>
49508
49509         * modules/tls-tests (Depends-on): Add thread, yield.
49510         (configure.ac): Remove all checks.
49511         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
49512         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49513         gl_thread_self): Remove definitions. Include glthread/thread.h and
49514         glthread/yield.h instead.
49515         (test_tls): Pass an additional NULL argument to gl_thread_join.
49516
49517 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49518             Bruno Haible  <bruno@clisp.org>
49519
49520         * modules/lock-tests (Depends-on): Add thread, yield.
49521         (configure.ac): Remove all checks.
49522         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
49523         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
49524         gl_thread_self): Remove definitions. Include glthread/thread.h and
49525         glthread/yield.h instead.
49526         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
49527         additional NULL argument to gl_thread_join.
49528
49529 2008-09-30  Bruno Haible  <bruno@clisp.org>
49530
49531         Fix the Win32 implementation of the 'thread' module.
49532         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
49533         pointer type.
49534         (gl_thread_self): Invoke gl_thread_self_func.
49535         (gl_thread_self_func): New declaration.
49536         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
49537         (do_init_self_key, init_self_key): New functions.
49538         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
49539         Remove some fields.
49540         (running_threads, running_lock): Remove variables.
49541         (get_current_thread_handle): New function.
49542         (gl_thread_self_func, wrapper_func, glthread_create_func,
49543         glthread_join_func, gl_thread_exit_func): Largely rewritten and
49544         simplified.
49545
49546 2008-09-30  Bruno Haible  <bruno@clisp.org>
49547
49548         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
49549         files.
49550
49551 2008-09-30  Jim Meyering  <meyering@redhat.com>
49552
49553         fts.m4: correct the test for statfs.f_type
49554         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
49555         when checking for statfs.f_type.
49556
49557 2008-09-15  Simon Josefsson  <simon@josefsson.org>
49558
49559         tests: avoid some compiler warnings
49560         * tests/test-memchr.c (main): Pass NULL indirectly.
49561         * tests/test-getdate.c (main): Remove unused variable 'ret'.
49562
49563 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
49564
49565         getdate.y: disallow countable dayshifts like "4 yesterday ago"
49566         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
49567         exactly specified dayshifts.
49568         (dayshift): New rule.
49569         (rel): Add dayshift.
49570         (relative_time_table) [tomorrow, yesterday, today, now]:
49571         Use tDAY_SHIFT in place of tDAY_UNIT.
49572         * tests/test-getdate.c: Add tests for now-disallowed countable
49573         dayshifts, e.g., "4 yesterday ago".
49574
49575 2008-09-29  Bruno Haible  <bruno@clisp.org>
49576
49577         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
49578         * tests/test-posix_spawn1.in.sh: Renamed from
49579         tests/test-posix_spawn.in.sh.
49580         * tests/test-posix_spawn2.c: New file.
49581         * tests/test-posix_spawn2.in.sh: New file.
49582         * modules/posix_spawnp-tests (Files): Update.
49583         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
49584
49585 2008-09-29  Bruno Haible  <bruno@clisp.org>
49586
49587         Propagate effects of putenv/setenv/unsetenv to child processes.
49588         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
49589         * lib/pipe.c (create_pipe): Likewise.
49590
49591 2008-09-29  Bruno Haible  <bruno@clisp.org>
49592
49593         Enable use of shell scripts as executables in mingw.
49594         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
49595         run the program as a shell script.
49596         * lib/pipe.c (create_pipe): Likewise.
49597         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
49598         resulting array.
49599
49600 2008-09-29  Eric Blake  <ebb9@byu.net>
49601
49602         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
49603
49604 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
49605
49606         * doc/posix-functions/accept.texi: Update mingw problems.
49607         * doc/posix-functions/bind.texi: Update mingw problems.
49608         * doc/posix-functions/close.texi: Update mingw problems.
49609         * doc/posix-functions/connect.texi: Update mingw problems.
49610         * doc/posix-functions/getpeername.texi: Update mingw problems.
49611         * doc/posix-functions/getsockname.texi: Update mingw problems.
49612         * doc/posix-functions/getsockopt.texi: Update mingw problems.
49613         * doc/posix-functions/ioctl.texi: Update mingw problems.
49614         * doc/posix-functions/listen.texi: Update mingw problems.
49615         * doc/posix-functions/recv.texi: Update mingw problems.
49616         * doc/posix-functions/recvfrom.texi: Update mingw problems.
49617         * doc/posix-functions/select.texi: Update mingw problems.
49618         * doc/posix-functions/send.texi: Update mingw problems.
49619         * doc/posix-functions/sendto.texi: Update mingw problems.
49620         * doc/posix-functions/setsockopt.texi: Update mingw problems.
49621         * doc/posix-functions/socket.texi: Update mingw problems.
49622
49623 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
49624             Bruno Haible  <bruno@clisp.org>
49625
49626         * lib/sys_select.in.h: Include sys/time.h.
49627         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
49628         * modules/sys_select: Depend on sys_time.
49629         * tests/test-sys_select.c: Test that sys/select.h defines struct
49630         timeval fully.
49631
49632 2008-09-29  Bruno Haible  <bruno@clisp.org>
49633
49634         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
49635         * lib/sys_select.in.h: Likewise.
49636
49637 2008-09-29  Bruno Haible  <bruno@clisp.org>
49638
49639         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
49640
49641 2008-09-29  Bruno Haible  <bruno@clisp.org>
49642
49643         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
49644         Set LIBSOCKET instead of augmenting LIBS.
49645         * modules/sockets (Link): New section.
49646         * modules/sockets-tests (test_sockets_LDADD): New variable.
49647         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
49648         * modules/poll-tests (test_poll_LDADD): New variable.
49649         * NEWS: Document the change.
49650
49651 2008-09-29  Bruno Haible  <bruno@clisp.org>
49652
49653         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
49654         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
49655         ARPA_INET_H directly.
49656         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
49657
49658 2008-09-28  Bruno Haible  <bruno@clisp.org>
49659
49660         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
49661         from gl_HEADER_SYS_SOCKET.
49662         (gl_HEADER_SYS_SOCKET): Invoke it.
49663         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
49664
49665 2008-09-28  Bruno Haible  <bruno@clisp.org>
49666
49667         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
49668         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
49669         Needed on OSF/1 4.0.
49670
49671 2008-09-28  Bruno Haible  <bruno@clisp.org>
49672
49673         Override open more carefully.
49674         * lib/open.c (orig_open): New function.
49675         (rpl_open): Use orig_open instead of open.
49676         * lib/fcntl.in.h: Add special invocation convention.
49677         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
49678         (gl_FUNC_OPEN): Invoke it.
49679
49680         Override freopen more carefully.
49681         * lib/freopen.c (orig_freopen): New function.
49682         (rpl_freopen): Use orig_freopen instead of freopen.
49683         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
49684         (gl_FUNC_FREOPEN): Invoke it.
49685
49686         Override fopen more carefully.
49687         * lib/fopen.c (orig_fopen): New function.
49688         (rpl_fopen): Use orig_fopen instead of fopen.
49689         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
49690         (gl_FUNC_FOPEN): Invoke it.
49691         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
49692
49693 2008-09-28  Bruno Haible  <bruno@clisp.org>
49694
49695         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
49696         SIGPIPE.
49697
49698 2008-09-28  Bruno Haible  <bruno@clisp.org>
49699
49700         * tests/test-sigaction.c (handler, main): Disable the check whether
49701         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
49702         glibc systems with LinuxThreads.
49703
49704 2008-09-28  Bruno Haible  <bruno@clisp.org>
49705
49706         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
49707
49708         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
49709         with AIX xlc.
49710         * lib/fcntl.in.h (open): Likewise.
49711         Reported by Rainer Tammer <tammer@tammer.net>.
49712
49713 2008-09-28  Bruno Haible  <bruno@clisp.org>
49714
49715         * modules/posix_spawnp-tests: New file.
49716         * tests/test-posix_spawn.c: New file.
49717         * tests/test-posix_spawn.in.sh: New file.
49718
49719         New module 'posix_spawnp'.
49720         * modules/posix_spawnp: New file.
49721         * lib/spawnp.c: New file, from GNU libc with modifications.
49722         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
49723
49724         New module 'posix_spawn'.
49725         * modules/posix_spawn: New file.
49726         * lib/spawn.c: New file, from GNU libc with modifications.
49727         * doc/posix-functions/posix_spawn.texi: Mention the new module.
49728
49729         New module 'posix_spawnattr_destroy'.
49730         * modules/posix_spawnattr_destroy: New file.
49731         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
49732         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
49733         module.
49734
49735         New module 'posix_spawnattr_setsigmask'.
49736         * modules/posix_spawnattr_setsigmask: New file.
49737         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
49738         modifications.
49739         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
49740         new module.
49741
49742         New module 'posix_spawnattr_getsigmask'.
49743         * modules/posix_spawnattr_getsigmask: New file.
49744         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
49745         modifications.
49746         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
49747         new module.
49748
49749         New module 'posix_spawnattr_setsigdefault'.
49750         * modules/posix_spawnattr_setsigdefault: New file.
49751         * lib/spawnattr_setdefault.c: New file, from GNU libc with
49752         modifications.
49753         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
49754         new module.
49755
49756         New module 'posix_spawnattr_getsigdefault'.
49757         * modules/posix_spawnattr_getsigdefault: New file.
49758         * lib/spawnattr_getdefault.c: New file, from GNU libc with
49759         modifications.
49760         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
49761         new module.
49762
49763         New module 'posix_spawnattr_setschedpolicy'.
49764         * modules/posix_spawnattr_setschedpolicy: New file.
49765         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
49766         modifications.
49767         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
49768         new module.
49769
49770         New module 'posix_spawnattr_getschedpolicy'.
49771         * modules/posix_spawnattr_getschedpolicy: New file.
49772         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
49773         modifications.
49774         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
49775         new module.
49776
49777         New module 'posix_spawnattr_setschedparam'.
49778         * modules/posix_spawnattr_setschedparam: New file.
49779         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
49780         modifications.
49781         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
49782         new module.
49783
49784         New module 'posix_spawnattr_getschedparam'.
49785         * modules/posix_spawnattr_getschedparam: New file.
49786         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
49787         modifications.
49788         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
49789         new module.
49790
49791         New module 'posix_spawnattr_setpgroup'.
49792         * modules/posix_spawnattr_setpgroup: New file.
49793         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
49794         modifications.
49795         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
49796         module.
49797
49798         New module 'posix_spawnattr_getpgroup'.
49799         * modules/posix_spawnattr_getpgroup: New file.
49800         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
49801         modifications.
49802         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
49803         module.
49804
49805         New module 'posix_spawnattr_setflags'.
49806         * modules/posix_spawnattr_setflags: New file.
49807         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
49808         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
49809         module.
49810
49811         New module 'posix_spawnattr_getflags'.
49812         * modules/posix_spawnattr_getflags: New file.
49813         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
49814         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
49815         module.
49816
49817         New module 'posix_spawnattr_init'.
49818         * modules/posix_spawnattr_init: New file.
49819         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
49820         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
49821         module.
49822
49823         New module 'posix_spawn_file_actions_destroy'.
49824         * modules/posix_spawn_file_actions_destroy: New file.
49825         * lib/spawn_faction_destroy.c: New file, from GNU libc with
49826         modifications.
49827         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
49828         the new module.
49829
49830         New module 'posix_spawn_file_actions_addopen'.
49831         * modules/posix_spawn_file_actions_addopen: New file.
49832         * lib/spawn_faction_addopen.c: New file, from GNU libc with
49833         modifications.
49834         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
49835         the new module.
49836
49837         New module 'posix_spawn_file_actions_adddup2'.
49838         * modules/posix_spawn_file_actions_adddup2: New file.
49839         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
49840         modifications.
49841         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
49842         the new module.
49843
49844         New module 'posix_spawn_file_actions_addclose'.
49845         * modules/posix_spawn_file_actions_addclose: New file.
49846         * lib/spawn_faction_addclose.c: New file, from GNU libc with
49847         modifications.
49848         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
49849         the new module.
49850
49851         New module 'posix_spawn_file_actions_init'.
49852         * modules/posix_spawn_file_actions_init: New file.
49853         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
49854         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
49855         new module.
49856
49857         New module 'posix_spawn-internal'.
49858         * modules/posix_spawn-internal: New file.
49859         * lib/spawn_int.h: New file, from GNU libc with modifications.
49860         * lib/spawni.c: New file, from GNU libc with modifications.
49861         * m4/posix_spawn.m4: New file.
49862
49863         New module 'spawn'.
49864         * modules/spawn: New file.
49865         * lib/spawn.in.h: New file, from GNU libc with modifications.
49866         * m4/spawn_h.m4: New file.
49867         * doc/posix-headers/spawn.texi: Mention the new module.
49868
49869 2008-09-28  Bruno Haible  <bruno@clisp.org>
49870
49871         * modules/sched-tests: New file.
49872         * tests/test-sched.c: New file.
49873
49874         New module 'sched'.
49875         * modules/sched: New file.
49876         * lib/sched.in.h: New file.
49877         * m4/sched_h.m4: New file.
49878         * doc/posix-headers/sched.texi: Mention the new module.
49879
49880 2008-09-27  Eric Blake  <ebb9@byu.net>
49881
49882         Fix previous patch, and tweak references to $0.
49883         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
49884         (func_version, func_gnulib_dir): Don't call this program
49885         gnulib-tool.
49886         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
49887         with using $0 in function.
49888         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
49889         (func_fatal_error): Reuse the name the user invoked us with.
49890
49891 2008-09-27  Bruno Haible  <bruno@clisp.org>
49892
49893         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
49894         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
49895         (gl_ICONV_H): Not here.
49896         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
49897         instead of assigning ICONV_H directly.
49898
49899         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
49900         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
49901         WCHAR_H directly.
49902
49903 2008-09-27  Bruno Haible  <bruno@clisp.org>
49904
49905         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
49906         * modules/arpa_inet (Depends-on): Add link-warning.
49907         (Makefile.am): Insert the definition of GL_LINK-WARNING.
49908         * modules/unistd (Makefile.am): Likewise.
49909
49910 2008-09-26  Bruno Haible  <bruno@clisp.org>
49911
49912         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
49913         variables.
49914         (func_version): Essentially copied from gnulib-tool.
49915         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
49916         func_readlink): Copied from gnulib-tool.
49917
49918 2008-09-26  Bruno Haible  <bruno@clisp.org>
49919
49920         * gnulib-tool (func_version): Change directory to $gnulib_dir before
49921         invoking git-version-gen.
49922
49923 2008-09-26  Bruno Haible  <bruno@clisp.org>
49924
49925         * posix-modules: Update to directory names changed on 2008-01-19.
49926         Remove commas in output before splitting into words. No more need to
49927         avoid 'ftruncate' since 2007-02-19.
49928
49929 2008-09-26  Bruno Haible  <bruno@clisp.org>
49930
49931         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
49932
49933 2008-09-26  Bruno Haible  <bruno@clisp.org>
49934
49935         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
49936         * modules/fwriteerror (Depends-on): Add errno.
49937
49938 2008-09-26  Bruno Haible  <bruno@clisp.org>
49939
49940         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
49941         * tests/test-vc-list-files-cvs.sh: Likewise.
49942
49943 2008-09-26  Bruno Haible  <bruno@clisp.org>
49944
49945         * doc/posix-headers/sys_resource.texi: Reorder items.
49946
49947 2008-09-26  Jim Meyering  <meyering@redhat.com>
49948
49949         fts: tweak inode comparison function
49950         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
49951         inode numbers, as documented.
49952
49953         fts: sort dirent entries on inode number before traversing
49954         This avoids a quadratic, seek-related performance penalty when
49955         operating on a directory containing many entries (measurable at 10k;
49956         3.5 hours at 2 million entries with a cold cache) on certain types
49957         of file systems, including ext3 and ext4, but not tmpfs.
49958         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
49959         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
49960         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
49961         (fs_handles_readdir_ordered_dirents_efficiently): New function.
49962         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
49963         (fts_build): Set the stat.st_ino member from D_INO.
49964         If it is likely to be useful, sort dirent entries on inode number.
49965
49966         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49967         and the struct statfs.f_type member.
49968         * modules/fts (Depends-on): Add d-ino.
49969
49970 2008-09-26  Bruno Haible  <bruno@clisp.org>
49971
49972         * modules/sigpipe-die (Depends-on): Add sigpipe.
49973
49974         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49975         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49976         and GNULIB_STDIO_H_SIGPIPE are set.
49977         * lib/stdio-write.c: New file.
49978         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49979         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49980         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49981         REPLACE_STDIO_WRITE_FUNCS.
49982         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49983         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49984         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49985         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49986         * modules/stdio (Files): Add lib/stdio-write.c.
49987         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49988         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49989         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49990         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49991         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49992         REPLACE_FPRINTF_POSIX.
49993         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49994         REPLACE_PRINTF_POSIX.
49995         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49996         REPLACE_VFPRINTF_POSIX.
49997         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49998         REPLACE_VPRINTF_POSIX.
49999         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50000         SIGPIPE issue.
50001         * doc/posix-functions/fputc.texi: Likewise.
50002         * doc/posix-functions/fputs.texi: Likewise.
50003         * doc/posix-functions/fwrite.texi: Likewise.
50004         * doc/posix-functions/printf.texi: Likewise.
50005         * doc/posix-functions/putc.texi: Likewise.
50006         * doc/posix-functions/putchar.texi: Likewise.
50007         * doc/posix-functions/puts.texi: Likewise.
50008         * doc/posix-functions/vfprintf.texi: Likewise.
50009         * doc/posix-functions/vprintf.texi: Likewise.
50010
50011         * modules/safe-write (Depends-on): Add write.
50012
50013         * modules/sigpipe-tests: New file.
50014         * tests/test-sigpipe.c: New file.
50015         * tests/test-sigpipe.sh: New file.
50016
50017         * modules/write: New file.
50018         * lib/unistd.in.h: Include <sys/types.h>.
50019         (write): New declaration.
50020         * lib/write.c: New file.
50021         * m4/write.m4: New file.
50022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50023         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50024         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50025         GNULIB_WRITE, REPLACE_WRITE.
50026         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50027         and the SIGPIPE issue.
50028
50029         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50030         (raise): New declaration.
50031         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50032         (ext_signal): New function.
50033         (rpl_raise): New function.
50034         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50035         GNULIB_SIGNAL_H_SIGPIPE.
50036         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50037         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50038
50039         * modules/sigpipe: New file.
50040         * m4/sigpipe.m4: New file.
50041
50042 2008-09-25  Derek Price  <derek@ximbiot.com>
50043             Bruno Haible  <bruno@clisp.org>
50044
50045         * gnulib-tool (func_import): Report all license incompatibilities, not
50046         just the first one.
50047
50048 2008-09-25  Bruno Haible  <bruno@clisp.org>
50049
50050         * gnulib-tool (func_import): When computing the edits, consider not
50051         only the Makefile.ams that exist but also those that will be generated.
50052
50053 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50054
50055         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50056         fixes gnulib-tool --test warning about duplicate dependency.
50057
50058 2008-09-25  Bruno Haible  <bruno@clisp.org>
50059
50060         * gnulib-tool: Don't ask the user to perform edits in the generated
50061         Makefile.ams.
50062         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50063         apply to the Makefile.am being generated.
50064         (func_emit_tests_Makefile_am): Execute edits that apply to the
50065         Makefile.am being generated.
50066         (func_import): Setup list of Makefile.am edits before emitting the
50067         Makefile.ams, not at the end.
50068         (func_create_testdir): Update.
50069         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50070
50071 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50072
50073         * gnulib-tool (func_import): Store the --tests-base option in the
50074         comment in gnulib-cache.m4.
50075
50076 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50077
50078         * NEWS: Document increased portability that sys_select now provides.
50079
50080         * lib/sys_select.in.h: Install select wrapper.
50081         * lib/sys_socket.in.h: Use more descriptive name when there is no
50082         select wrapper.
50083         * lib/winsock-select.c: New.
50084         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50085         Require gl_HEADER_SYS_SOCKET.
50086         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50087         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50088         * tests/test-sys_select.c: Add functional tests.
50089
50090 2008-09-24  Eric Blake  <ebb9@byu.net>
50091
50092         open, fopen: close fd leak in last patch
50093         * lib/open.c (rpl_open): Close fd before returning error.
50094         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50095         * doc/posix-functions/open.texi (open): Document that Irix also
50096         has the bug.
50097         * doc/posix-functions/fopen.texi (fopen): Likewise.
50098         Reported by Paolo Bonzini.
50099
50100 2008-09-24  Bruno Haible  <bruno@clisp.org>
50101
50102         Ensure that a filename ending in a slash cannot be used to access a
50103         non-directory.
50104         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50105         to check whether it's really a directory.
50106         * lib/fopen.c: Include fcntl.h, unistd.h.
50107         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50108         and fdopen().
50109         * modules/fopen (Depends-on): Add unistd.
50110         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50111         * tests/test-fopen.c (main): Likewise.
50112         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50113         * doc/posix-functions/fopen.texi: Likewise.
50114         Reported by Eric Blake.
50115
50116 2008-09-23  Eric Blake  <ebb9@byu.net>
50117
50118         c-stack: avoid compiler optimizations when provoking overflow
50119         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50120         recursion harder to optimize, to ensure a stack overflow occurs.
50121         * tests/test-c-stack.c (recurse): Likewise.
50122         Borrowed from libsigsegv.
50123
50124         c-stack: work around Irix sigaltstack bug
50125         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50126         whether sigaltstack uses wrong end of stack_t (copied in part from
50127         libsigsegv).
50128         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50129         Irix bug, without requiring an over-allocation.
50130         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50131         bug.
50132
50133         fopen: document mingw bug on directories
50134         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50135         not allowing a stream visiting a directory, even though reading
50136         from such a stream is not portable.
50137
50138 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50139
50140         * lib/poll.c: Rewrite.
50141         * modules/poll: Depend on alloca.
50142
50143 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50144
50145         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50146         instead define prototypes for a full set of wrappers.  Ensure
50147         that Cygwin does not use the compatibility code, which is only
50148         for MinGW.
50149         * lib/winsock.c: New.
50150         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50151         * modules/sys_socket: Add lib/winsock.c.
50152
50153         * modules/poll-tests: Add errno and perror.
50154         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50155
50156 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50157
50158         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50159
50160 2008-09-23  Bruno Haible  <bruno@clisp.org>
50161
50162         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50163         * doc/glibc-functions/*: Likewise.
50164
50165 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50166
50167         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50168         success.
50169
50170 2008-09-22  Eric Blake  <ebb9@byu.net>
50171             Bruno Haible  <bruno@clisp.org>
50172
50173         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50174         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50175         supply %A but mishandle pseudo-NaN.
50176         Reported by Simon Josefsson.
50177
50178 2008-09-21  Bruno Haible  <bruno@clisp.org>
50179
50180         * tests/test-lock.c (main): Tweak skip message.
50181         * tests/test-tls.c (main): Likewise.
50182
50183 2008-09-21  Bruno Haible  <bruno@clisp.org>
50184
50185         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50186         whether 'struct sigaction' has sa_sigaction here...
50187         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50188         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50189
50190 2008-09-21  Bruno Haible  <bruno@clisp.org>
50191
50192         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50193         section.
50194         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50195         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50196         the new section.
50197         (Support for obsolete systems lacking POSIX:2001): New section.
50198         (String handling <string.h>): Move strdup to the new section.
50199         Suggested by Simon Josefsson and Paolo Bonzini.
50200
50201 2008-09-21  Bruno Haible  <bruno@clisp.org>
50202
50203         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50204         exponents in %e and %g results on 'long double'. Needed for mingw's
50205         improved *printf functions.
50206         * tests/test-vasprintf-posix.c (test_function): Likewise.
50207         * tests/test-snprintf-posix.h (test_function): Likewise.
50208         * tests/test-sprintf-posix.h (test_function): Likewise.
50209         Reported by Eric Blake.
50210
50211 2008-09-21  Bruno Haible  <bruno@clisp.org>
50212
50213         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50214         * tests/test-sprintf-posix.h (test_function): Likewise.
50215
50216 2008-09-21  Bruno Haible  <bruno@clisp.org>
50217
50218         * modules/getpass (Depends-on): Add strdup-posix.
50219
50220         New module 'strdup-posix'.
50221         * modules/strdup-posix: New file.
50222         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50223         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50224         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50225         REPLACE_STRDUP.
50226         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50227         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50229         strdup-posix.
50230
50231         * modules/strdup (Depends-on): Remove malloc-posix.
50232
50233 2008-09-20  Bruno Haible  <bruno@clisp.org>
50234
50235         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50236         Wildenhues.
50237
50238 2008-09-20  Bruno Haible  <bruno@clisp.org>
50239
50240         Ensure that wint_t gets defined on IRIX 5.3.
50241         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50242         * lib/wctype.in.h (wint_t): Likewise.
50243         (__wctype_wint_t): Remove type.
50244         (isw*): Use wint_t instead of __wctype_wint_t.
50245         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50246         * modules/wchar (Files): Add m4/wint_t.m4.
50247         (Makefile.am): Substitute HAVE_WINT_T.
50248         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50249         * tests/test-wctype.c: Check that wint_t is defined.
50250         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50251         * doc/posix-headers/wctype.texi: Likewise.
50252         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50253
50254 2008-09-18  Bruno Haible  <bruno@clisp.org>
50255
50256         * gnulib-tool (func_exit): Update comment.
50257
50258 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50259
50260         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50261         assumes strdup exists and does not depend on strdup to return
50262         ENOMEM on out of memory conditions.
50263
50264 2008-09-18  Bruno Haible  <bruno@clisp.org>
50265
50266         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50267         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50268         digits for the exponent.
50269
50270 2008-09-18  Jim Meyering  <meyering@redhat.com>
50271             Bruno Haible  <bruno@clisp.org>
50272
50273         * lib/vasnprintf.c (decimal_point_char): Define also if
50274         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50275
50276 2008-09-16  Bruno Haible  <bruno@clisp.org>
50277         and Eric Blake  <ebb9@byu.net>
50278
50279         vasnprintf: support Irix 5.3
50280         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50281         that mishandle long double infinity.
50282         Reported by Tom G. Christensen.
50283
50284 2008-09-16  Bruno Haible  <bruno@clisp.org>
50285
50286         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50287         Solaris 9.
50288         * doc/glibc-functions/alphasort.texi: Likewise.
50289         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50290
50291 2008-09-16  Jim Meyering  <meyering@redhat.com>
50292
50293         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50294         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50295         a umask modification leak out of a subshell.  Otherwise, the
50296         opensolaris /bin/sh would be accepted and thus cause unwarranted
50297         failures in the coreutils test suite.
50298
50299 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50300
50301         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50302         to succeed.
50303
50304 2008-09-16  Jim Meyering  <meyering@redhat.com>
50305
50306         avoid spurious test failure when library is built without ACL support
50307         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50308         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50309         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50310         * tests/test-copy-acl.sh: Likewise.
50311
50312 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50313
50314         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50315         based on character occurrence counts.
50316
50317 2008-09-15  Eric Blake  <ebb9@byu.net>
50318
50319         tests: avoid some compiler warnings
50320         * tests/test-memchr.c (main): Pass NULL indirectly.
50321         * tests/test-closein.c (main): Avoid unused variable.
50322
50323 2008-09-15  Bruno Haible  <bruno@clisp.org>
50324
50325         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50326         are missing on OpenBSD 4.0 individually.
50327         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50328
50329 2008-09-15  Bruno Haible  <bruno@clisp.org>
50330
50331         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
50332         * doc/posix-functions/strerror.texi: Mention also Cygwin.
50333         * doc/posix-functions/perror.texi: Likewise.
50334         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
50335         is missing.
50336         Reported by Eric Blake.
50337
50338         * lib/errno.in.h: Use replacement values >= 2000.
50339         Reported by Eric Blake.
50340
50341 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50342
50343         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
50344         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
50345         limit.
50346         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
50347         compareseq was aborted.
50348
50349 2008-09-14  Bruno Haible  <bruno@clisp.org>
50350
50351         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
50352         yvec_edit_count.
50353         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
50354         (fstrcmp_bounded): Simplify result computation accordingly.
50355
50356 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50357
50358         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
50359         (fstrcmp): Define in terms of fstrcmp_bounded.
50360         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
50361         lower_bound argument.
50362         Return quickly if the result is certainly < lower_bound.
50363         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
50364
50365 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50366
50367         * lib/diffseq.h (EARLY_ABORT): New macro.
50368         (compareseq): Change return type to bool. Return true when EARLY_ABORT
50369         evaluates to true.
50370
50371 2008-09-14  Bruno Haible  <bruno@clisp.org>
50372
50373         * modules/perror-tests: New file.
50374         * tests/test-perror.sh: New file.
50375         * tests/test-perror.c: New file.
50376
50377         New module 'perror'.
50378         * lib/stdio.in.h (perror): New declaration.
50379         * lib/perror.c: New file.
50380         * m4/perror.m4: New file.
50381         * modules/perror: New file.
50382         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
50383         * doc/posix-functions/perror.texi: Mention the perror module.
50384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
50385         REPLACE_PERROR.
50386         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
50387         REPLACE_PERROR.
50388
50389 2008-09-14  Bruno Haible  <bruno@clisp.org>
50390
50391         * modules/stdio (Makefile.am): Reorder to match the order in
50392         lib/stdio.in.h.
50393         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50394
50395 2008-09-13  Bruno Haible  <bruno@clisp.org>
50396
50397         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
50398
50399 2008-09-13  Bruno Haible  <bruno@clisp.org>
50400
50401         Extend strerror to cover the added errno values.
50402         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
50403         (rpl_strerror): Provide error messages for the added errno values and
50404         for the WSA* values.
50405         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
50406         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
50407         strerror.
50408         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
50409         * modules/strerror (Depends-on): Add errno.
50410         * doc/posix-functions/strerror.texi: Document the change.
50411         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
50412         and EOVERFLOW.
50413
50414 2008-09-13  Bruno Haible  <bruno@clisp.org>
50415
50416         * modules/EOVERFLOW: Remove file.
50417         * m4/eoverflow.m4: Remove file.
50418         * modules/EOVERFLOW-tests: Remove file.
50419         * tests/test-EOVERFLOW.c: Remove file.
50420         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
50421         * modules/ftell (Depends-on): Likewise.
50422         * modules/getdelim (Depends-on): Likewise.
50423         * modules/getugroups (Depends-on): Likewise.
50424         * modules/poll (Depends-on): Likewise.
50425         * modules/snprintf (Depends-on): Likewise.
50426         * modules/sprintf-posix (Depends-on): Likewise.
50427         * modules/vasnprintf (Depends-on): Likewise.
50428         * modules/vasprintf (Depends-on): Likewise.
50429         * modules/vfprintf-posix (Depends-on): Likewise.
50430         * modules/vsnprintf (Depends-on): Likewise.
50431         * modules/vsprintf-posix (Depends-on): Likewise.
50432         * modules/xvasprintf (Depends-on): Likewise.
50433         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50434         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
50435         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
50436         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
50437         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50438         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
50439         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
50440         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
50441         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50442         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
50443         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
50444         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
50445         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50446         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
50447         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
50448         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
50449         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50450         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
50451         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
50452         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
50453         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50454         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
50455         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
50456         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
50457         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
50458         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50459         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
50460         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
50461         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
50462         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
50463         * MODULES.html.sh: Remove EOVERFLOW.
50464         * NEWS: Mention the change.
50465
50466 2008-09-13  Bruno Haible  <bruno@clisp.org>
50467
50468         * modules/errno-tests: New file.
50469         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
50470
50471         * lib/errno.in.h: New file.
50472         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
50473         * modules/errno: New file.
50474         * doc/posix-headers/errno.texi: Update documentation.
50475         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
50476
50477 2008-09-13  Bruno Haible  <bruno@clisp.org>
50478
50479         * tests/test-poll.c: Use #if for native Windows, rather than testing
50480         __MSVCRT__.
50481
50482 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50483             Bruno Haible  <bruno@clisp.org>
50484
50485         * lib/glob.c: Don't include <pwd.h> on native Windows.
50486         (WINDOWS32): New macro.
50487         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
50488
50489 2008-09-13  Bruno Haible  <bruno@clisp.org>
50490
50491         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
50492         (ETIMEDOUT): Remove macro.
50493         (glthread_cond_timedwait_multithreaded): New declaration.
50494         (glthread_cond_timedwait): Use it.
50495         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
50496         (glthread_cond_timedwait_multithreaded): New function.
50497
50498 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50499
50500         * modules/poll-tests: Do not check for io.h.
50501         * tests/test-poll.c: Check for __MSVCRT__ instead.
50502
50503 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50504
50505         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
50506         * modules/poll-tests: Add inet_pton, stdbool, sockets.
50507         * tests/test-poll.c: Use them.  Use _pipe on Windows.
50508
50509 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
50510
50511         * modules/poll-tests: New.
50512         * tests/test-poll.c: New.
50513
50514 2008-09-12  Eric Blake  <ebb9@byu.net>
50515
50516         frexp: test for NetBSD failure on -0.0
50517         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
50518         not all, bugs from NetBSD 3.0 have been fixed.
50519         * doc/posix-functions/frexp.texi (frexp): Document bug.
50520         Reported by Thomas Klausner.
50521
50522         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
50523         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
50524         literal -0.0.
50525         Reported by Jonathan C. Patschke <jp@centtech.com>.
50526
50527 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50528
50529         * lib/glthread/cond.h: Use dummy implementation also if
50530         USE_WIN32_THREADS.
50531
50532 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50533
50534         * modules/fnmatch-posix (License): Change to LGPLv2+.
50535         * modules/fnmatch-gnu (License): Likewise.
50536
50537 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50538
50539         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
50540
50541 2008-09-11  Jim Meyering  <meyering@redhat.com>
50542
50543         * users.txt: Add gtk-vnc.
50544
50545 2008-09-08  Simon Josefsson  <simon@josefsson.org>
50546
50547         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
50548         rotate amounts.
50549
50550         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
50551         required for 16-bit and 8-bit rotates.
50552         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
50553         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
50554         UINT8_MAX instead of hard-coded constants.
50555         Suggested by Paul Eggert.
50556
50557 2008-09-07  Bruno Haible  <bruno@clisp.org>
50558
50559         * tests/test-striconveh.c (main): Check behaviour when converting from
50560         UTF-7.
50561
50562         Make striconveh work better with stateful encodings.
50563         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
50564         that iconv does not increment the inptr when returning -1/EINVAL.
50565
50566 2008-09-07  Bruno Haible  <bruno@clisp.org>
50567
50568         * build-aux/config.rpath: Update according to libtool-2.2.6.
50569         * build-aux/config.libpath: Likewise.
50570
50571 2008-09-06  Bruno Haible  <bruno@clisp.org>
50572
50573         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
50574         * lib/freadptr.c (freadptr): Likewise.
50575         * lib/freadseek.c (freadptrinc): Likewise.
50576         Reported by Simon Josefsson.
50577
50578 2008-09-06  Bruno Haible  <bruno@clisp.org>
50579
50580         * modules/freadptr (License): Change to LGPLv2+.
50581         * modules/freadseek (License): Likewise.
50582         Suggested by Eric Blake.
50583
50584         * modules/memchr2 (License): Change to LGPLv2+.
50585         Approved by Eric Blake.
50586
50587 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50588             Bruno Haible  <bruno@clisp.org>
50589
50590         Make gnulib-tool work with native 'sed' on AIX.
50591         * gnulib-tool (sed_noop): New variable.
50592         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
50593         func_add_or_update, func_create_testdir): Use it to initialize sed
50594         script variables.
50595         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50596
50597 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
50598             Bruno Haible  <bruno@clisp.org>
50599
50600         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
50601         also works after #include directives.
50602
50603 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
50604
50605         getdate.y: reject an out-of-range timezone value
50606         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
50607         the range [-24...+24].  When specified with only one or two digits,
50608         * tests/test-getdate.c: Tests for the fix.
50609         * doc/getdate.texi: Document this change.
50610
50611 2008-09-03  Bruno Haible  <bruno@clisp.org>
50612
50613         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
50614
50615 2008-09-02  Simon Josefsson  <simon@josefsson.org>
50616
50617         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
50618         <bruce.korb@gmail.com> with ideas from Ben Pfaff
50619         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
50620         Blake <ebb9@byu.net>.
50621
50622         * tests/test-bitrotate.c: Add more test vectors.
50623
50624 2008-09-02  Eric Blake  <ebb9@byu.net>
50625
50626         vasnprintf-posix: handle large precision via %.*d
50627         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
50628         when handling it ourselves.
50629         * tests/test-vasnprintf-posix.c (test_function): Add test.
50630         * tests/test-snprintf-posix.h (test_function): Likewise.
50631         * tests/test-sprintf-posix.h (test_function): Likewise.
50632         * tests/test-vasprintf-posix.c (test_function): Likewise.
50633         Reported by Alain Guibert.
50634
50635 2008-09-01  Eric Blake  <ebb9@byu.net>
50636
50637         c-stack: make configure-time check more robust
50638         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
50639         successful sigaction call.
50640         Reported by Tom G. Christensen.
50641
50642 2008-09-01  Bruno Haible  <bruno@clisp.org>
50643
50644         New module 'findprog-lgpl'.
50645         * modules/findprog-lgpl: New file.
50646         * lib/findprog-lgpl.c: New file.
50647         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
50648         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
50649         to decide whether to use strdup or xstrdup, concatenated_filename or
50650         xconcatenated_filename.
50651
50652 2008-09-01  Bruno Haible  <bruno@clisp.org>
50653
50654         Split module 'concat-filename' into 'concat-filename' (LGPL) and
50655         'xconcat-filename' (GPL).
50656         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
50657         (License): Change to LGPLv2+.
50658         * modules/xconcat-filename: New file.
50659         * lib/concat-filename.h (concatenated_filename): Change specification.
50660         (xconcatenated_filename): New declaration.
50661         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
50662         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
50663         memory situations.
50664         * lib/xconcat-filename.c: New file.
50665         * NEWS: Mention the change.
50666         * lib/findprog.c: Include concat-filename.h, not filename.h.
50667         (find_in_path): Use xconcatenated_filename instead of
50668         concatenated_filename.
50669         * lib/javacomp.c: Include concat-filename.h, not filename.h.
50670         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50671         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50672         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50673         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
50674         instead of concatenated_filename.
50675         * lib/javaexec.c: Include concat-filename.h, not filename.h.
50676         (execute_java_class): Use xconcatenated_filename instead of
50677         concatenated_filename.
50678         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
50679         * modules/javacomp (Depends-on): Likewise.
50680         * modules/javaexec (Depends-on): Likewise.
50681
50682 2008-09-01  Bruno Haible  <bruno@clisp.org>
50683
50684         Split module 'filename' into 'filename' and 'concat-filename'.
50685         * modules/filename: Keep only lib/filename.h.
50686         (License): Change to LGPLv2+.
50687         * modules/concat-filename: New file, extracted from modules/filename.
50688         * lib/filename.h (concatenated_filename): Remove declaration.
50689         * lib/concat-filename.h: New file, extracted from lib/filename.h.
50690         * lib/concat-filename.c: Include concat-filename.h.
50691         * NEWS: Mention the change.
50692
50693 2008-09-01  Simon Josefsson  <simon@josefsson.org>
50694
50695         * lib/bitrotate.h (rotl8, rotr8): Add.
50696
50697         * modules/bitrotate (configure.ac): Need
50698         AC_REQUIRE([AC_C_INLINE]).
50699         (Description): Mention stdint.h.  Reported by Bruno Haible
50700         <bruno@clisp.org>.
50701
50702         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
50703         Paolo Bonzini <bonzini@gnu.org>.
50704
50705 2008-08-31  Bruno Haible  <bruno@clisp.org>
50706
50707         Assume Solaris specific bi-arch conventions on Solaris systems.
50708         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
50709         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
50710         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
50711         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
50712         like acl_libdirstem.
50713         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
50714         acl_libdirstem.
50715         * NEWS: Mention the change.
50716         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
50717
50718 2008-08-31  Jim Meyering  <meyering@redhat.com>
50719
50720         * lib/strftime.h: Add comments describing the two added arguments.
50721
50722         remove duplicate #include directives
50723         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
50724         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
50725
50726 2008-08-31  Bruno Haible  <bruno@clisp.org>
50727
50728         New module 'sigpipe-die'.
50729         * modules/sigpipe-die: New file.
50730         * lib/sigpipe-die.h: New file.
50731         * lib/sigpipe-die.c: New file.
50732         * MODULES.html.sh (Signal handling): Add sigpipe-die.
50733
50734 2008-08-31  Bruno Haible  <bruno@clisp.org>
50735
50736         Don't override previously installed signal handlers.
50737         * lib/fatal-signal.c (saved_sigactions): New variable.
50738         (uninstall_handlers): Reset the signal to the saved handler, not
50739         to SIG_DFL (except when ignored).
50740         (install_handlers): Save the previous handlers.
50741
50742 2008-08-30  Bruno Haible  <bruno@clisp.org>
50743
50744         * gnulib-tool (func_reset_sigpipe): New function.
50745         (func_get_automake_snippet, func_modules_transitive_closure,
50746         func_import): Invoke it before a join command that reads from stdin,
50747         to avoid "echo: write error: Broken pipe" error messages on stderr.
50748         Reported by Sam Steingold <sds@gnu.org>.
50749
50750 2008-08-30  Bruno Haible  <bruno@clisp.org>
50751
50752         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
50753         Code copied from m4/open.m4.
50754         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
50755         access and the filename ends in a slash. Code copied from lib/open.c.
50756         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
50757         * tests/test-fopen.c (main): Check against bug with trailing slash.
50758
50759 2008-08-29  Bruno Haible  <bruno@clisp.org>
50760
50761         Avoid some "gcc -pedantic" warnings.
50762         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
50763         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
50764         * lib/dirent.in.h: Likewise.
50765         * lib/fcntl.in.h: Likewise.
50766         * lib/float.in.h: Likewise.
50767         * lib/iconv.in.h: Likewise.
50768         * lib/inttypes.in.h: Likewise.
50769         * lib/locale.in.h: Likewise.
50770         * lib/math.in.h: Likewise.
50771         * lib/netinet_in.in.h: Likewise.
50772         * lib/search.in.h: Likewise.
50773         * lib/signal.in.h: Likewise.
50774         * lib/stdarg.in.h: Likewise.
50775         * lib/stdint.in.h: Likewise.
50776         * lib/stdio.in.h: Likewise.
50777         * lib/stdlib.in.h: Likewise.
50778         * lib/string.in.h: Likewise.
50779         * lib/strings.in.h: Likewise.
50780         * lib/sys_select.in.h: Likewise.
50781         * lib/sys_socket.in.h: Likewise.
50782         * lib/sys_stat.in.h: Likewise.
50783         * lib/sys_time.in.h: Likewise.
50784         * lib/sysexits.in.h: Likewise.
50785         * lib/time.in.h: Likewise.
50786         * lib/unistd.in.h: Likewise.
50787         * lib/wchar.in.h: Likewise.
50788         * lib/wctype.in.h: Likewise.
50789         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
50790         * modules/fchdir (Makefile.am): Likewise.
50791         * modules/fcntl (Makefile.am): Likewise.
50792         * modules/float (Makefile.am): Likewise.
50793         * modules/iconv_open (Makefile.am): Likewise.
50794         * modules/inttypes (Makefile.am): Likewise.
50795         * modules/locale (Makefile.am): Likewise.
50796         * modules/math (Makefile.am): Likewise.
50797         * modules/netinet_in (Makefile.am): Likewise.
50798         * modules/search (Makefile.am): Likewise.
50799         * modules/signal (Makefile.am): Likewise.
50800         * modules/stdarg (Makefile.am): Likewise.
50801         * modules/stdint (Makefile.am): Likewise.
50802         * modules/stdio (Makefile.am): Likewise.
50803         * modules/stdlib (Makefile.am): Likewise.
50804         * modules/string (Makefile.am): Likewise.
50805         * modules/strings (Makefile.am): Likewise.
50806         * modules/sys_select (Makefile.am): Likewise.
50807         * modules/sys_socket (Makefile.am): Likewise.
50808         * modules/sys_stat (Makefile.am): Likewise.
50809         * modules/sys_time (Makefile.am): Likewise.
50810         * modules/sysexits (Makefile.am): Likewise.
50811         * modules/time (Makefile.am): Likewise.
50812         * modules/unistd (Makefile.am): Likewise.
50813         * modules/wchar (Makefile.am): Likewise.
50814         * modules/wctype (Makefile.am): Likewise.
50815         Reported by Reuben Thomas <rrt@sc3d.org>.
50816
50817 2008-08-29  Bruno Haible  <bruno@clisp.org>
50818
50819         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
50820         any more.
50821
50822 2008-08-29  Simon Josefsson  <simon@josefsson.org>
50823
50824         * MODULES.html.sh (Misc): Add bitrotate.
50825
50826         * modules/bitrotate: New file.
50827
50828         * lib/bitrotate.h: New file.
50829
50830         * modules/bitrotate-tests: New file.
50831
50832         * tests/test-bitrotate.c: New file.
50833
50834         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
50835         on the bitrotate module.
50836
50837         * lib/arctwo.c: Use new bitrotate module.
50838
50839 2008-08-29  Jim Meyering  <meyering@redhat.com>
50840
50841         bootstrap: merge changes from coreutils
50842         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
50843         of copied files.  Remove a kludge, now that this is fixed.
50844         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
50845         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
50846         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
50847
50848 2008-08-29  Bruno Haible  <bruno@clisp.org>
50849
50850         * MODULES.html.sh: Remove --cvs-urls option.
50851
50852 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
50853
50854         maint.mk: adjust to file name change
50855         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
50856
50857 2008-08-28  Jim Meyering  <meyering@redhat.com>
50858
50859         * modules/getndelim2 (License): Relicense to LGPLv2+.
50860         Approved by Richard Stallman for the version of 1995, and by
50861         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
50862
50863 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
50864
50865         * lib/getdelim.c (flockfile, funlockfile): Make all of them
50866         dummy if one is not available.  Do not touch them if
50867         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
50868         (getc_maybe_unlocked): New.
50869         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
50870
50871 2008-08-26  Eric Blake  <ebb9@byu.net>
50872
50873         doc/INSTALL: resync from autoconf
50874         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
50875         (INSTALL_PRELUDE): Delete; this is done more efficiently by
50876         moving...
50877         * install.texi [!autoconf]: ...here.  Resync from autoconf.
50878         * INSTALL: Regenerate.
50879         * INSTALL.ISO: New file.
50880         * INSTALL.UTF-8: Likewise.
50881
50882 2008-08-26  Jim Meyering  <meyering@redhat.com>
50883
50884         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
50885         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
50886         these definitions conditional, so that they may be overridden, too.
50887
50888 2008-08-26  Bruno Haible  <bruno@clisp.org>
50889
50890         Generate INSTALL file variants with prettier quotes.
50891         * doc/Makefile (INSTALL_PRELUDE): New macro.
50892         (INSTALL): Use it.
50893         (INSTALL.ISO, INSTALL.UTF-8): New rules.
50894
50895 2008-08-26  Bruno Haible  <bruno@clisp.org>
50896
50897         Run makeinfo in an English locale.
50898         * doc/Makefile (MAKEINFO): New variable.
50899
50900 2008-08-26  Bruno Haible  <bruno@clisp.org>
50901
50902         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
50903         Suggested by Eric Blake.
50904
50905 2008-08-25  Bruno Haible  <bruno@clisp.org>
50906
50907         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
50908
50909 2008-08-25  Eric Blake  <ebb9@byu.net>
50910
50911         c-stack: test that stack overflow can be caught
50912         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
50913         that platform allows handling stack overflow; at least OS/2 EMX
50914         has sigaltstack, but crashes before transferring control to
50915         handler on stack overflow.
50916         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
50917         check for HAVE_STACK_OVERFLOW_HANDLING.
50918         Reported by Elbert Pol.
50919
50920 2008-08-25  Bruno Haible  <bruno@clisp.org>
50921
50922         * doc/posix-functions/strftime.texi: Fix description of strftime
50923         module.
50924
50925 2008-08-24  Bruno Haible  <bruno@clisp.org>
50926
50927         * tests/uniwidth/test-uc_width2.c: New file.
50928         * tests/uniwidth/test-uc_width2.sh: New file.
50929         * modules/uniwidth/width-tests (Files): Add the new files.
50930         (TESTS): Add uniwidth/test-uc_width2.sh.
50931         (TESTS_ENVIRONMENT): New variable.
50932         (check_PROGRAMS): Add test-uc_width2.
50933         (test_uc_width2_SOURCES): New variable.
50934
50935         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
50936         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
50937         not 0x00AB.
50938         Reported by Alexander V. Lukyanov <lav@netis.ru>.
50939
50940 2008-08-22  Eric Blake  <ebb9@byu.net>
50941
50942         test-lock, test-tls: mention why a test is skipped
50943         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
50944         skipped.
50945         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
50946
50947         count-one-bits: relax license
50948         * modules/count-one-bits (License): Relicense to LGPLv2+.
50949         Suggested by Ludovic Courtès, approved by Ben Pfaff.
50950
50951 2008-08-22  Andreas Schwab  <schwab@suse.de>
50952
50953         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50954         Remove spurious space in assignment.
50955
50956 2008-08-21  Simon Josefsson  <simon@josefsson.org>
50957
50958         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
50959         Paul Eggert <eggert@CS.UCLA.EDU>.
50960
50961 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
50962
50963         * modules/gettext: Add m4/threadlib.m4.
50964
50965 2008-08-19  Eric Blake  <ebb9@byu.net>
50966
50967         test-c-stack: fix compilation failure on FreeBSD 5.0
50968         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50969         headers before <sys/resource.h>.
50970         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50971         the bug.
50972         Reported by Nelson H. F. Beebe.
50973
50974         strverscmp: migrate from "strverscmp.h" to <string.h>
50975         * modules/string (Makefile.am): Add new hooks.
50976         * modules/strverscmp (Files): Remove strverscmp.h.
50977         (Depends-on): Add string.
50978         (configure.ac): Add indicator.
50979         (Include): Mention new header.
50980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50981         defaults.
50982         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50983         results.
50984         * lib/strverscmp.h: Delete.
50985         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50986         * tests/test-strverscmp.c (includes): Adjust client.
50987         * lib/check-version.c (includes): Likewise.
50988         * NEWS: Document the change.
50989
50990         strverscmp: add unit test
50991         * modules/strverscmp-tests: New file.
50992         * tests/test-strverscmp.c: Likewise.
50993
50994 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50995
50996         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50997         regarding Windows crypto stuff, from Mono.
50998
50999 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51000
51001         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51002         if present, for intel RND.  Return error on failures.
51003
51004 2008-08-18  Ben Pfaff  <blp@gnu.org>
51005
51006         gitlog-to-changelog: give better diagnostic for failed pipe-open
51007         * build-aux/gitlog-to-changelog: Improve error message: suggest
51008         that the version of Git may be too old.
51009
51010 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51011
51012         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51013         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51014
51015 2008-08-18  Bruno Haible  <bruno@clisp.org>
51016
51017         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51018         pthread_in_use().
51019
51020 2008-08-18  Bruno Haible  <bruno@clisp.org>
51021
51022         * lib/glthread/threadlib.c: Include <pthread.h>.
51023
51024 2008-08-18  Bruno Haible  <bruno@clisp.org>
51025
51026         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51027         glthread_recursive_lock_* macros.
51028         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51029         Fix syntax error.
51030
51031 2008-08-18  Bruno Haible  <bruno@clisp.org>
51032
51033         * lib/glthread/thread.c: Avoid forcing a context switch right after
51034         thread creation.
51035
51036 2008-08-17  Bruno Haible  <bruno@clisp.org>
51037
51038         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51039         * lib/glthread/thread.h: Provide Win32 specific implementation.
51040         * modules/thread (Files): Add lib/glthread/thread.c.
51041         (Depends-on): Add lock.
51042         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51043
51044 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51045
51046         New module 'yield'.
51047         * modules/yield: New file.
51048         * lib/glthread/yield.h: New file.
51049         * m4/yield.m4: New file.
51050         * MODULES.html.sh (Multithreading): Add yield.
51051
51052 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51053
51054         New module 'thread'.
51055         * modules/thread: New file.
51056         * lib/glthread/thread.h: New file.
51057         * m4/thread.m4: New file.
51058         * MODULES.html.sh (Multithreading): Add thread.
51059
51060 2008-08-17  Bruno Haible  <bruno@clisp.org>
51061
51062         * lib/glthread/lock.h: Include <stdlib.h> always.
51063         * lib/glthread/tls.h: Likewise.
51064         * lib/glthread/cond.h: Likewise.
51065
51066 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51067
51068         New module 'cond'.
51069         * modules/cond: New file.
51070         * lib/glthread/cond.h: New file.
51071         * lib/glthread/cond.c: New file.
51072         * m4/cond.m4: New file.
51073         * MODULES.html.sh (Multithreading): Add cond.
51074
51075 2008-08-16  Eric Blake  <ebb9@byu.net>
51076
51077         c-stack: fix regression on Irix 5.3 from 2008-06-21
51078         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51079         sa_sigaction...
51080         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51081         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51082         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51083         * modules/signal (Makefile.am): Use the value.
51084         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51085         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51086         * doc/posix-headers/signal.texi (signal.h): Document this
51087         portability issue.
51088         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51089         Reported by Tom G. Christensen.
51090
51091 2008-08-17  Bruno Haible  <bruno@clisp.org>
51092
51093         New module 'threadlib'.
51094         * modules/threadlib: New file.
51095         * lib/glthread/threadlib.c: New file, extracted from
51096         lib/glthread/lock.c.
51097         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51098         functions.
51099         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51100         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51101         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51102         macros.
51103         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51104         (gl_DISABLE_THREADS): Remove macro.
51105         * modules/lock (Files): Remove build-aux/config.rpath.
51106         (Depends-on): Remove havelib. Add threadlib.
51107         (configure.ac-early): Remove section.
51108         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51109         * modules/tls (Depends-on): Remove lock. Add threadlib.
51110         (Link): New section, copied from threadlib.
51111         * MODULES.html.sh (Multithreading): Add threadlib.
51112
51113 2008-08-14  Bruno Haible  <bruno@clisp.org>
51114
51115         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51116         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51117         glthread_rwlock_unlock, glthread_rwlock_destroy,
51118         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51119         glthread_recursive_lock_destroy): Define as macros always.
51120         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51121         glthread_lock_lock.
51122         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51123         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51124         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51125         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51126         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51127         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51128         (glthread_recursive_lock_lock_func): Renamed from
51129         glthread_recursive_lock_lock.
51130         (glthread_recursive_lock_unlock_func): Renamed from
51131         glthread_recursive_lock_unlock.
51132         (glthread_recursive_lock_destroy_func): Renamed from
51133         glthread_recursive_lock_destroy.
51134
51135 2008-08-14  Bruno Haible  <bruno@clisp.org>
51136
51137         * lib/glthread/lock.h: Renamed from lib/lock.h.
51138         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51139         * lib/glthread/tls.h: Renamed from lib/tls.h.
51140         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51141         * lib/fstrcmp.c: Update includes.
51142         * lib/strsignal.c: Update includes.
51143         * modules/lock (Files, Makefile.am): Update.
51144         (Include): Change to "glthread/lock.h".
51145         * modules/tls (Files, Makefile.am): Update.
51146         (Include): Change to "glthread/tls.h".
51147         * tests/test-lock.c: Update includes.
51148         * tests/test-tls.c: Update includes.
51149         * NEWS: Mention the renamed header files.
51150
51151 2008-08-11  Jim Meyering  <meyering@redhat.com>
51152
51153         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51154
51155 2008-08-11  Eric Blake  <ebb9@byu.net>
51156
51157         test-c-stack: avoid C99-ism
51158         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51159         before statement.
51160         Reported by Alain Guibert.
51161
51162 2008-08-10  Jim Meyering  <meyering@redhat.com>
51163
51164         ensure that return value of uinttostr et al are not ignored
51165         * lib/inttostr.h (__GNUC_PREREQ): Define.
51166         (__attribute_warn_unused_result__): Define.
51167         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51168
51169 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51170
51171         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51172         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51173
51174 2008-08-07  Jim Meyering  <meyering@redhat.com>
51175
51176         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51177
51178         * modules/mkstemp (License): Relicense under LGPLv2+.
51179         * modules/tempname (License): Likewise.
51180
51181 2008-08-06  Bruno Haible  <bruno@clisp.org>
51182
51183         * lib/poll.c (poll): Further micro-optimization.
51184
51185 2008-08-06  Jim Meyering  <meyering@redhat.com>
51186
51187         inet_pton.c: use locale-independent tolower
51188         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51189         (inet_pton6): Use c_tolower rather than tolower.
51190         * modules/inet_pton (Depends-on): Add c-ctype.
51191
51192 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51193
51194         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51195         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51196
51197 2008-08-06  Jim Meyering  <meyering@redhat.com>
51198
51199         * modules/inet_pton (License): Relicense under LGPLv2+.
51200
51201 2008-08-03  Bruno Haible  <bruno@clisp.org>
51202
51203         Additional non-aborting API for lock and tls.
51204         * lib/lock.h: Include <errno.h>.
51205         (glthread_lock_init): New macro/function.
51206         (gl_lock_init): Define as wrapper around glthread_lock_init.
51207         (glthread_lock_lock): New macro/function.
51208         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51209         (glthread_lock_unlock): New macro/function.
51210         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51211         (glthread_lock_destroy): New macro/function.
51212         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51213         (glthread_rwlock_init): New macro/function.
51214         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51215         (glthread_rwlock_rdlock): New macro/function.
51216         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51217         (glthread_rwlock_wrlock): New macro/function.
51218         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51219         (glthread_rwlock_unlock): New macro/function.
51220         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51221         (glthread_rwlock_destroy): New macro/function.
51222         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51223         (glthread_recursive_lock_init): New macro/function.
51224         (gl_recursive_lock_init): Define as wrapper around
51225         glthread_recursive_lock_init.
51226         (glthread_recursive_lock_lock): New macro/function.
51227         (gl_recursive_lock_lock): Define as wrapper around
51228         glthread_recursive_lock_lock.
51229         (glthread_recursive_lock_unlock): New macro/function.
51230         (gl_recursive_lock_unlock): Define as wrapper around
51231         glthread_recursive_lock_unlock.
51232         (glthread_recursive_lock_destroy): New macro/function.
51233         (gl_recursive_lock_destroy): Define as wrapper around
51234         glthread_recursive_lock_destroy.
51235         (glthread_once): New macro/function.
51236         (gl_once): Define as wrapper around glthread_once.
51237         Update function declarations.
51238         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51239         glthread_rwlock_init. Return error code.
51240         (glthread_rwlock_rdlock_multithreaded): Renamed from
51241         glthread_rwlock_rdlock. Return error code.
51242         (glthread_rwlock_wrlock_multithreaded): Renamed from
51243         glthread_rwlock_wrlock. Return error code.
51244         (glthread_rwlock_unlock_multithreaded): Renamed from
51245         glthread_rwlock_unlock. Return error code.
51246         (glthread_rwlock_destroy_multithreaded): Renamed from
51247         glthread_rwlock_destroy. Return error code.
51248         (glthread_recursive_lock_init_multithreaded): Renamed from
51249         glthread_recursive_lock_init. Return error code.
51250         (glthread_recursive_lock_lock_multithreaded): Renamed from
51251         glthread_recursive_lock_lock. Return error code.
51252         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51253         glthread_recursive_lock_unlock. Return error code.
51254         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51255         glthread_recursive_lock_destroy. Return error code.
51256         (glthread_once_call): Make static.
51257         (glthread_once_multithreaded): Renamed from glthread_once.
51258         * lib/tls.h: Include <errno.h>.
51259         (glthread_tls_key_init): New macro/function.
51260         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51261         (glthread_tls_set): New macro/function.
51262         (gl_tls_set): Define as wrapper around glthread_tls_set.
51263         (glthread_tls_key_destroy): New macro/function.
51264         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51265         Update function declarations.
51266         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51267         glthread_tls_get.
51268         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51269
51270 2008-08-04  Eric Blake  <ebb9@byu.net>
51271
51272         gnumakefile: use space, not TAB, outside of targets
51273         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51274
51275 2008-08-02  Jim Meyering  <meyering@redhat.com>
51276
51277         getdate.y: avoid locale-dependent date parsing failure
51278         In Turkish locales, getdate would fail to recognize keywords
51279         containing a lowercase "i".  The solution is not to rely on
51280         locale-sensitive case-conversion.
51281         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51282         (lookup_word): Use c_toupper in place of toupper.
51283         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51284         Reported by Vefa Bicakci <bicave@superonline.com> in
51285         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51286         * modules/getdate (Depends-on): Add c-ctype.
51287
51288 2008-08-02  Bruno Haible  <bruno@clisp.org>
51289
51290         * gnulib-tool (func_import): When updating or creating a .gitignore
51291         file, prepend each added line with a slash, and ignore leading slashes
51292         from the existing lines.
51293         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51294
51295 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51296
51297         Portability fix for GNU make 3.79.1.
51298         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51299         versions do not understand.
51300
51301 2008-08-01  Bruno Haible  <bruno@clisp.org>
51302
51303         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51304         * tests/test-isnanf.h (zero): New variable.
51305         (main): Avoid literal -0.0f.
51306         * tests/test-isnand.h (zero): New variable.
51307         (main): Avoid literal -0.0.
51308         * tests/test-isnanl.h (zero): New variable.
51309         (main): Avoid literal -0.0L.
51310         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51311         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51312         -0.0, -0.0L.
51313         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51314         (test_signbitd): Avoid literal -0.0.
51315         (test_signbitl): Avoid literal -0.0L.
51316         * tests/test-ceilf1.c (zero): New variable.
51317         (main): Avoid literal -0.0f.
51318         * tests/test-ceill.c (zero): New variable.
51319         (main): Avoid literal -0.0L.
51320         * tests/test-floorf1.c (zero): New variable.
51321         (main): Avoid literal -0.0f.
51322         * tests/test-floorl.c (zero): New variable.
51323         (main): Avoid literal -0.0L.
51324         * tests/test-roundf1.c (zero): New variable.
51325         (main): Avoid literal -0.0f.
51326         * tests/test-round1.c (zero): New variable.
51327         (main): Avoid literal -0.0.
51328         * tests/test-roundl.c (zero): New variable.
51329         (main): Avoid literal -0.0L.
51330         * tests/test-truncf1.c (zero): New variable.
51331         (main): Avoid literal -0.0f.
51332         * tests/test-trunc1.c (zero): New variable.
51333         (main): Avoid literal -0.0.
51334         * tests/test-truncl.c (zero): New variable.
51335         (main): Avoid literal -0.0L.
51336         * tests/test-frexp.c (zero): New variable.
51337         (main): Avoid literal -0.0.
51338         * tests/test-frexpl.c (zero): New variable.
51339         (main): Avoid literal -0.0L.
51340         * tests/test-ldexpl.c (zero): New variable.
51341         (main): Avoid literal -0.0L.
51342         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51343         (zerod, zerol): New variables.
51344         (test_function): Avoid literals -0.0, -0.0L.
51345         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
51346         (zerod, zerol): New variables.
51347         (test_function): Avoid literals -0.0, -0.0L.
51348         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51349         (zerod, zerol): New variables.
51350         (test_function): Avoid literals -0.0, -0.0L.
51351         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
51352         (zerod, zerol): New variables.
51353         (test_function): Avoid literals -0.0, -0.0L.
51354         * tests/test-strtod.c (zero): New variable.
51355         (main): Avoid literal -0.0.
51356         Reported by Jonathan C. Patschke <jp@centtech.com>.
51357
51358 2008-07-31  Jim Meyering  <meyering@redhat.com>
51359
51360         sha256.h: correct definition of SHA224_DIGEST_SIZE
51361         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
51362         Reported by Paulie Pena IV <paulie4@gmail.com>.
51363         Define as 224 / 8, rather than as a literal.
51364         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
51365         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
51366         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
51367
51368 2008-07-31  Bruno Haible  <bruno@clisp.org>
51369
51370         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
51371         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
51372         Reported by Jonathan Patschke <jp@centtech.com>.
51373
51374 2008-07-31  Bruno Haible  <bruno@clisp.org>
51375
51376         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
51377         Reported by Paolo Bonzini <bonzini@gnu.org>.
51378
51379 2008-07-30  Eric Blake  <ebb9@byu.net>
51380
51381         test-strtod: allow compilation without -lm
51382         * tests/test-strtod.c (main): Avoid link dependence on fabs.
51383         Reported by Dennis Clarke <blastwave@gmail.com>.
51384
51385 2008-07-28  Jim Meyering  <meyering@redhat.com>
51386
51387         bootstrap: work also when there are no .po files in po/
51388         * build-aux/bootstrap (update_po_files): Complete the change
51389         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
51390
51391 2008-07-27  Jim Meyering  <meyering@redhat.com>
51392
51393         * users.txt: Add zile.
51394
51395 2008-07-26  Ben Pfaff  <blp@gnu.org>
51396
51397         Add missing dependencies on new m4/exponent[fdl].m4 files.
51398         * modules/isnanf-nolibm: Add m4/exponentf.m4.
51399         * modules/isnand-nolibm: Add m4/exponentd.m4.
51400         * modules/isnanl-nolibm: Add m4/exponentl.m4.
51401         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
51402         m4/isnan[fdl].m4, because the macros actually used moved.
51403         Reported by Jim Meyering.
51404
51405 2008-07-14  Ben Pfaff  <blp@gnu.org>
51406
51407         Add isinf module.
51408         * lib/isinf.c: New file.
51409         * lib/math.in.h: Define isinf macro if we have decided to replace
51410         it.
51411         * m4/isinf.m4: New file.
51412         * m4/math_h.m4: Initialize and substitute variables for isinf
51413         module.
51414         * modules/isinf: New file.
51415         * modules/isinf-tests: New file.
51416         * modules/math: Add substitutions for new module.
51417         * tests/test-isinf.c: New file.
51418         * doc/posix-functions/isinf.texi: Mention new module.
51419         * MODULES.html.sh: Mention new module.
51420
51421 2008-07-14  Ben Pfaff  <blp@gnu.org>
51422
51423         Factor out some macros for use by additional modules.
51424         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
51425         exponentf.m4.
51426         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
51427         exponentd.m4.
51428         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
51429         file exponentl.m4.
51430         * m4/exponentf.m4: New file.
51431         * m4/exponentd.m4: New file.
51432         * m4/exponentl.m4: New file.
51433         * modules/isnanf: Use new file m4/exponentf.m4.
51434         * modules/isnand: Use new file m4/exponentd.m4.
51435         * modules/isnanl: Use new file m4/exponentl.m4.
51436
51437 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
51438
51439         mktime.c: normalize tp->tm_isdst value to -1/0/1.
51440         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
51441         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
51442         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
51443
51444         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
51445         readlink on platforms without PATH_MAX.
51446
51447 2008-07-21  Eric Blake  <ebb9@byu.net>
51448
51449         Warn, not fail, on stale version.
51450         * top/GNUmakefile (_curr-ver): Tone down previous patch.
51451
51452         Don't allow installation with stale devel version number.
51453         * top/GNUmakefile (_is-install-target): New macro.
51454         (_curr-ver): Forbid installation with stale version number.
51455
51456 2008-07-20  Bruno Haible  <bruno@clisp.org>
51457
51458         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
51459         TESTS_ENVIRONMENT.
51460         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
51461
51462 2008-07-20  Bruno Haible  <bruno@clisp.org>
51463
51464         * lib/c-stack.h (c_stack_action): Add documentation.
51465         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
51466
51467 2008-07-20  Bruno Haible  <bruno@clisp.org>
51468
51469         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
51470         * modules/readlink (License): Likewise.
51471
51472 2008-07-17  Eric Blake  <ebb9@byu.net>
51473
51474         * modules/c-stack (Link): Fix typo.
51475
51476         Make c-stack use libsigsegv, when available.
51477         * modules/c-stack (Depends-on): Add libsigsegv.
51478         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
51479         needed.
51480         * lib/c-stack.c (SIGSTKSZ): Define fallback.
51481         (segv_handler, overflow_handler, c_stack_action)
51482         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
51483         implementation when libsigsegv is available, but only when using
51484         the library is necessary.
51485         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
51486         comment, explaining why XSI check fails on Linux.
51487         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
51488         * tests/test-c-stack2.sh: Tweak skip message.
51489         * NEWS: Document new link-time requirements.
51490
51491 2008-07-16  Eric Blake  <ebb9@byu.net>
51492
51493         c-stack: Expose false positives when not using libsigsegv.
51494         * modules/c-stack-tests (Files): Expand test.
51495         * tests/test-c-stack.c (main): Add means to conditionally trigger
51496         non-overflow SIGSEGV.
51497         * tests/test-c-stack2.sh: New file.
51498
51499 2008-07-14  Bruno Haible  <bruno@clisp.org>
51500
51501         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
51502         Reported by Eric Blake.
51503
51504 2008-07-14  Sam Steingold  <sds@gnu.org>
51505             Bruno Haible  <bruno@clisp.org>
51506
51507         New module libsigsegv.
51508         * modules/libsigsegv: New file.
51509         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
51510         modifications.
51511         * MODULES.html.sh (Signal handling): New section.
51512
51513 2008-07-14  Bruno Haible  <bruno@clisp.org>
51514
51515         * modules/unictype/ctype-* (Description): Add the word "function".
51516         Improves the resulting doc in MODULES.html.
51517
51518 2008-07-12  Ben Pfaff  <blp@gnu.org>
51519
51520         Add longlong module.
51521         * modules/longlong: New file.
51522
51523 2008-07-12  Bruno Haible  <bruno@clisp.org>
51524
51525         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
51526         to empty.
51527
51528 2008-07-10  Ben Pfaff  <blp@gnu.org>
51529
51530         Add isnan module.
51531         * doc/posix-functions/isnan.texi: Mention new module.
51532         * lib/math.in.h: Define isnan macro if we have decided to replace
51533         it.
51534         * m4/isnan.m4: New file.
51535         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
51536         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
51537         also.
51538         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
51539         redundancy.
51540         * m4/math_h.m4: Initialize and substitute variables for isnan
51541         module.
51542         * modules/isnan: New file.
51543         * modules/isnan-tests: New file.
51544         * modules/math: Add substitutions for new module.
51545         * tests/test-isnan.c: New file.
51546         * MODULES.html.sh: Mention new module.
51547
51548 2008-07-10  Ben Pfaff  <blp@gnu.org>
51549
51550         Add isnanf module.
51551         * lib/isnanf.m4: New file.
51552         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
51553         (gl_HAVE_ISNANF_IN_LIBM): New macro.
51554         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
51555         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
51556         * modules/isnanf: New file.
51557         * modules/isnanf-tests: New file.
51558         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
51559         files.
51560         * tests/test-isnanf-nolibm.c: factored most of its contents into
51561         new file tests/test-isnanf.h.
51562         * tests/test-isnanf.h: New file.
51563         * tests/test-isnanf.c: New file.
51564         * MODULES.html.sh: Mention new module.
51565         * doc/glibc-functions/isnanf.texi: Mention new module.
51566
51567 2008-07-10  Ben Pfaff  <blp@gnu.org>
51568
51569         Add isnand module.
51570         * lib/isnand.h: New file.
51571         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
51572         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
51573         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
51574         functionality also.
51575         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
51576         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
51577         (gl_HAVE_ISNAND_IN_LIBM): New macro.
51578         * modules/isnand: New file.
51579         * modules/isnand-tests: New file.
51580         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
51581         files.
51582         * tests/test-isnand-nolibm.c: factored most of its contents into
51583         new file tests/test-isnand.h.
51584         * tests/test-isnand.h: New file.
51585         * tests/test-isnand.c: New file.
51586         * MODULES.html.sh: Mention new module.
51587
51588 2008-07-10  Ben Pfaff  <blp@gnu.org>
51589
51590         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
51591         * lib/isnand.h: Rename lib/isnand-nolibm.h.
51592         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
51593         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
51594         * modules/isnanf-nolibm: Update references to renamed files.
51595         * modules/isnand-nolibm: Likewise.
51596         * modules/isnanf-nolibm-tests: Likewise.
51597         * modules/isnand-nolibm-tests: Likewise.
51598         * lib/frexp.c: Likewise.
51599         * lib/isfinite.c: Likewise.
51600         * lib/signbitd.c: Likewise.
51601         * lib/signbitf.c: Likewise.
51602         * lib/vasnprintf.c: Likewise.
51603         * tests/test-ceilf1.c: Likewise.
51604         * tests/test-ceilf2.c: Likewise.
51605         * tests/test-floorf1.c: Likewise.
51606         * tests/test-floorf2.c: Likewise.
51607         * tests/test-frexp.c: Likewise.
51608         * tests/test-round1.c: Likewise.
51609         * tests/test-round2.c: Likewise.
51610         * tests/test-roundf1.c: Likewise.
51611         * tests/test-strtod.c: Likewise.
51612         * tests/test-trunc1.c: Likewise.
51613         * tests/test-trunc2.c: Likewise.
51614         * tests/test-truncf1.c: Likewise.
51615         * tests/test-truncf2.c: Likewise.
51616         * NEWS: Mention the renamed header files.
51617
51618 2008-07-11  Jim Meyering  <meyering@redhat.com>
51619
51620         vc-list-files: make the last-resort awk code more portable
51621         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
51622         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
51623         does not support it.
51624
51625 2008-07-10  Eric Blake  <ebb9@byu.net>
51626
51627         Work with tar's bootstrap.
51628         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
51629         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
51630         an m4 comment.
51631
51632 2008-07-09  Jim Meyering  <meyering@redhat.com>
51633
51634         posix-shell.m4: fix typo that made this test malfunction
51635         * m4/posix-shell.m4: Remove capitalization in variable name.
51636
51637 2008-07-08  Bruno Haible  <bruno@clisp.org>
51638
51639         * m4/onceonly.m4: Update comments.
51640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51641
51642 2008-07-04  Jim Meyering  <meyering@redhat.com>
51643
51644         * users.txt: Add vc-dwim.
51645         (bison, coreutils): Use the gitweb URL.
51646
51647 2008-07-03  Jim Meyering  <meyering@redhat.com>
51648
51649         * users.txt: Add libffcall.  From Sam Steingold.
51650
51651 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
51652
51653         getdate.y: do not ignore TZ with relative day, month or year offset
51654         * lib/getdate.y (get_date): Move the tz-handling block to follow the
51655         relative-date-handling, since otherwise, the latter would clobber the
51656         sole output (an updated Start value) of the tz-handling block.
51657         * tests/test-getdate.c: Tests for the fix
51658
51659 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51660
51661         Recognize 'foo_LIBRARIES += libgnu.a'.
51662         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
51663         makefile snippet has already specified an installation location,
51664         also using '+='.
51665
51666 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
51667
51668         getdate.y: factor out common actions
51669         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
51670         Use them in place of open-coded actions.
51671
51672 2008-07-01  Simon Josefsson  <simon@josefsson.org>
51673
51674         Add self-test for getdate module.
51675         * modules/getdate-tests: New file.
51676         * tests/test-getdate.c: New file.
51677
51678 2008-06-29  Bruno Haible  <bruno@clisp.org>
51679
51680         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
51681         .gitignore.
51682         Reported by Sylvain Beucler <beuc@beuc.net>.
51683
51684 2008-06-29  Bruno Haible  <bruno@clisp.org>
51685
51686         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
51687         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
51688
51689 2008-06-29  Bruno Haible  <bruno@clisp.org>
51690
51691         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
51692         EXTRA_DIST.
51693         Reported by Sylvain Beucler <beuc@beuc.net>.
51694
51695 2008-06-26  Jim Meyering  <meyering@redhat.com>
51696
51697         make several modules depend on the "open" module
51698         This provides slightly increased consistency when opening-for-write
51699         the name of a non-directory spelled with a trailing slash.
51700         * modules/chdir-safer: Likewise.
51701         * modules/chown: Likewise.
51702         * modules/clean-temp: Likewise.
51703         * modules/copy-file: Likewise.
51704         * modules/fchdir: Likewise.
51705         * modules/fcntl-safer: Likewise.
51706         * modules/pipe: Likewise.
51707         * modules/utime: Likewise.
51708         Prompted by Eric Blake and Bruno Haible.
51709
51710 2008-06-24  Andreas Schwab  <schwab@suse.de>
51711
51712         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
51713         literals can be used as initializers for global variables.
51714
51715 2008-06-23  Eric Blake  <ebb9@byu.net>
51716
51717         Make gnulib-cache.m4 easier to diff.
51718         * gnulib-tool (func_import): Allow newlines when reading cached
51719         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
51720
51721 2008-06-23  Bruno Haible  <bruno@clisp.org>
51722
51723         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
51724         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
51725         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
51726         m4/signalblocking.m4.
51727         (gl_PREREQ_SIGACTION): Don't invoke it.
51728         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
51729         gl_PREREQ_SIG_HANDLER_H.
51730         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51731         Don't check for sigaction here.
51732
51733 2008-06-23  Bruno Haible  <bruno@clisp.org>
51734
51735         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
51736         (install_handlers): Don't set the SA_RESETHAND flag.
51737
51738 2008-06-23  Bruno Haible  <bruno@clisp.org>
51739
51740         * m4/sigaction.m4: Comment fixes.
51741         * lib/signal.in.h: Likewise.
51742
51743 2008-06-23  Eric Blake  <ebb9@byu.net>
51744
51745         Fix typo.
51746         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
51747
51748         Avoid SA_ namespace.
51749         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
51750         Reported by Ralf Wildenhues.
51751
51752         Avoid test failure due to SA_RESTORER.
51753         * tests/test-sigaction.c (SA_MASK): New macro.
51754         (main): Avoid failing due to extension flags being set.
51755         Reported by Jim Meyering.
51756
51757         Revert use of sig-handler.h in sigprocmask.c.
51758         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
51759         it requires the existence of struct sigaction.
51760         * lib/sigprocmask.c (handler_t): Restore typedef.
51761         (rpl_signal, old_handlers): Use local type.
51762
51763 2008-06-22  Bruno Haible  <bruno@clisp.org>
51764
51765         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
51766         conditionally.
51767         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51768
51769 2008-06-22  Bruno Haible  <bruno@clisp.org>
51770
51771         * doc/posix-functions/siginterrupt.texi: Move note.
51772
51773         * lib/signal.in.h (SA_RESTART): New macro.
51774         * lib/sigaction.c: Update comment.
51775
51776         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
51777
51778         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
51779         (gl_PREREQ_SIGPROCMASK): Invoke it.
51780         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
51781
51782         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
51783
51784         * lib/sigprocmask.c: Update a comment.
51785
51786 2008-06-21  Eric Blake  <ebb9@byu.net>
51787
51788         Use sigaction module rather than signal().
51789         * modules/c-stack (Depends-on): Add sigaction.
51790         * modules/fatal-signal (Depends-on): Likewise.
51791         * modules/nanosleep (Depends-on): Likewise.
51792         * modules/sigprocmask (Files): Add sig-handler.h.
51793         * modules/sigaction (Files): Likewise.
51794         * lib/sig-handler.h (get_handler): New file, suggested by Paul
51795         Eggert.
51796         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
51797         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
51798         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
51799         (init_fatal_signals): Likewise.
51800         * lib/nanosleep.c (rpl_nanosleep): Likewise.
51801         (siginterrupt): Delete fallback.
51802         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
51803         instead.
51804         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
51805         siginterrupt.
51806
51807         New module sigaction, for mingw.
51808         * modules/sigaction: New module...
51809         * modules/sigaction-tests: ...and its test.
51810         * m4/sigaction.m4: New file.
51811         * lib/sigaction.c: Likewise.
51812         * tests/test-sigaction.c: Likewise.
51813         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
51814         * modules/signal (Makefile.am): Likewise.
51815         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
51816         needed.
51817         * doc/posix-headers/signal.texi (signal.h): Mention provided
51818         types.
51819         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
51820         that sigaction is preferable.
51821         * doc/posix-functions/sigaction.texi (sigaction): Mention new
51822         module.
51823         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51824         sigaction.
51825
51826         Improve robustness of sigprocmask by overriding signal.
51827         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
51828         is in use.
51829         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
51830         (SIGKILL, SIGSTOP): Provide fallbacks.
51831         (rpl_signal): Implement.
51832         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
51833         signal can be called inside handlers.
51834
51835         Fix nanosleep module on mingw.
51836         * modules/nanosleep (Depends-on): Add sys_select.
51837         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
51838
51839         Fix licensing of sigprocmask.
51840         * modules/raise (License): Relicense as LGPL.
51841
51842 2008-06-21  Bruno Haible  <bruno@clisp.org>
51843
51844         * lib/propername.c (proper_name_utf8): Don't use the transliterated
51845         result if it contains question marks.
51846         Reported by Michael Geng <linux@michaelgeng.de>.
51847
51848 2008-06-19  Bruno Haible  <bruno@clisp.org>
51849
51850         Fix CVS-ism.
51851         * doc/gnulib.texi: Include updated-stamp.texi.
51852         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
51853         (updated-stamp.texi): New rule.
51854         (gnulib.info): Depend on it.
51855         * doc/.gitignore: Add updated-stamp.texi.
51856         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
51857
51858 2008-06-19  Bruno Haible  <bruno@clisp.org>
51859
51860         * doc/Makefile (gnulib.info): Update and simplify dependencies.
51861         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
51862
51863 2008-06-19  Eric Blake  <ebb9@byu.net>
51864
51865         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
51866         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
51867         Reported by Stepan Kasal.
51868
51869 2008-06-18  Bruno Haible  <bruno@clisp.org>
51870
51871         * lib/fatal-signal.c (init_fatal_signals): Add comment.
51872         Reported by Eric Blake.
51873
51874 2008-06-18  Eric Blake  <ebb9@byu.net>
51875
51876         Work around cygwin 1.5.25 strsignal bug.
51877         * tests/test-strsignal.c: Allow for const char *.
51878         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
51879
51880 2008-06-18  Simon Josefsson  <simon@josefsson.org>
51881
51882         * users.txt: Update URL to article and add author/date
51883         information.
51884
51885 2008-06-17  Bruno Haible  <bruno@clisp.org>
51886
51887         New macro gl_DISABLE_THREADS.
51888         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
51889         if the user did not pass --enable-threads or --disable-threads option.
51890         (gl_DISABLE_THREADS): New macro.
51891         Reported by Eric Blake <ebb9@byu.net>.
51892
51893 2008-06-17  Bruno Haible  <bruno@clisp.org>
51894
51895         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
51896         when the macro ignores it.
51897         Based on a patch by Eric Blake <ebb9@byu.net>.
51898
51899 2008-06-17  Bruno Haible  <bruno@clisp.org>
51900
51901         * modules/tls (License): Change to LGPLv2+.
51902         Reported by Eric Blake.
51903
51904 2008-06-17  Eric Blake  <ebb9@byu.net>
51905
51906         Simplify c-stack prerequisites.
51907         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
51908         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
51909         no longer requires <ucontext.h> to exist.  Optimize setrlimit
51910         check.
51911         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
51912         <sys/resource.h>.
51913
51914         Move c-stack test into testsuite.
51915         * modules/c-stack-tests: New file.
51916         * lib/c-stack.c [DEBUG]: Move test program...
51917         * tests/test-c-stack.c: ...into this new file.  Skip rather than
51918         fail test if sigaltstack is lacking.
51919         * tests/test-c-stack.sh: New driver file.
51920
51921 2008-06-16  Eric Blake  <ebb9@byu.net>
51922
51923         Use raise module consistently.
51924         * modules/fatal-signal (Depends-on): Add raise.
51925         * modules/sigprocmask (Depends-on): Likewise.
51926         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
51927         * lib/sigprocmask.c (sigprocmask): Likewise.
51928         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
51929         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
51930
51931         Fix compliance bug in sigpending.
51932         * lib/sigprocmask.c (sigpending): Return pending array via
51933         parameter, not return value.
51934
51935 2008-06-14  Eric Blake  <ebb9@byu.net>
51936
51937         Improve obstack-printf test code.
51938         * tests/test-obstack-printf.c (test_function): Fix comment, and
51939         simplify usage of obstack_* in macros.  Add a test for coverage.
51940         Reported by Bruno Haible.
51941
51942 2008-06-14  Bruno Haible  <bruno@clisp.org>
51943
51944         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
51945         array size as a constant, not as a const variable.
51946         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
51947         AC_USE_SYSTEM_EXTENSIONS.
51948         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51949         Test whether the obstack_printf function actually exists.
51950         * modules/obstack-printf (Depends-on): Add extensions.
51951         (Include): Remove obstack.h.
51952         * modules/obstack-printf-posix (Depends-on): Add extensions.
51953         (Include): Remove obstack.h.
51954
51955 2008-06-13  Eric Blake  <ebb9@byu.net>
51956
51957         Add obstack-printf and obstack-printf-posix modules.
51958         * modules/obstack-printf: New file.
51959         * modules/obstack-printf-posix: Likewise.
51960         * MODULES.html.sh (Misc): Mention them.
51961         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51962         Likewise.
51963         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51964         Likewise.
51965         * modules/stdio (Makefile.am): Accomodate new modules.
51966         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51967         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51968         Declare.
51969         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51970         functions.
51971         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51972         (gl_REPLACE_OBSTACK_PRINTF): New macros
51973         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51974         * tests/test-obstack-printf.c: New file.
51975         * modules/obstack-printf-tests: Likewise.
51976         * modules/obstack-printf-posix-tests: Likewise.
51977
51978 2008-06-11  Bruno Haible  <bruno@clisp.org>
51979
51980         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51981         * lib/open.c: Include errno.h.
51982         (open): Fail when attempting to write to a file that has a trailing
51983         slash.
51984         * tests/test-open.c (main): Test against trailing slash bug.
51985         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51986
51987 2008-06-10  Bruno Haible  <bruno@clisp.org>
51988
51989         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51990         for $? to work inside the trap command, with various /bin/sh-s.
51991         * tests/test-vc-list-files-cvs.sh: Likewise.
51992
51993 2008-06-10  Bruno Haible  <bruno@clisp.org>
51994
51995         * lib/acl-internal.h: Don't include gettext.h here.
51996         * lib/set-mode-acl.c: Include gettext.h here.
51997         * lib/copy-acl.c: Likewise.
51998
51999 2008-06-10  Bruno Haible  <bruno@clisp.org>
52000
52001         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52002         * lib/wait-process.c (wait_subprocess): Likewise.
52003         * lib/execute.h (execute): Add termsigp argument.
52004         * lib/execute.c (execute): Likewise.
52005         * lib/csharpcomp.c (compile_csharp_using_pnet,
52006         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52007         * lib/csharpexec.c (execute_csharp_using_pnet,
52008         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52009         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52010         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52011         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52012         is_jikes_present): Update.
52013         * lib/javaexec.c (execute_java_class): Update.
52014         * lib/javaversion.c (execute_and_read_line): Update.
52015         * NEWS: Document the changes.
52016         Reported by Eric Blake.
52017
52018 2008-06-10  Eric Blake  <ebb9@byu.net>
52019
52020         Add missing include.
52021         * tests/test-strstr.c (includes): Add <signal.h>.
52022         * tests/test-strcasestr.c (includes): Likewise.
52023         * tests/test-memmem.c (includes): Likewise.
52024
52025 2008-06-10  Bruno Haible  <bruno@clisp.org>
52026
52027         * lib/wait-process.c (wait_subprocess): Add an assertion.
52028
52029 2008-06-10  Bruno Haible  <bruno@clisp.org>
52030
52031         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52032
52033 2008-06-10  Bruno Haible  <bruno@clisp.org>
52034
52035         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52036         using alarm().
52037         * tests/test-strcasestr.c (main): Likewise.
52038         * tests/test-strstr.c (main): Likewise.
52039
52040 2008-06-09  Bruno Haible  <bruno@clisp.org>
52041
52042         Work around the Solaris 10 ACE ACLs ABI change.
52043         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52044         declare if ACL_NO_TRIVIAL is present.
52045         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52046         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52047         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52048         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52049         define if ACL_NO_TRIVIAL is present.
52050         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52051         and use the current ABI.
52052         (file_has_acl): Use same #if condition as elsewhere.
52053         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52054         in use, and use the current ABI.
52055         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52056         Reported by Jim Meyering.
52057
52058 2008-06-09  Eric Blake  <ebb9@byu.net>
52059
52060         Work around environments that (stupidly) ignore SIGALRM.
52061         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52062         before using alarm().
52063         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52064         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52065         Reported by Ian Beckwith <ianb@erislabs.net>.
52066
52067         Produce autobuild blurb earlier in log.
52068         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52069
52070 2008-06-09  Jim Meyering  <meyering@redhat.com>
52071         and OndÅ™ej Vašík  <ovasik@redhat.com>
52072
52073         utimens.c: correct kernel bug work-around
52074         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52075         failure, not success, and the kernel bug we're trying to work
52076         around affects not just the utimensat call, but also the fallback
52077         futimens call.
52078         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52079         not success.
52080         [HAVE_FUTIMENS]: Use the same work-around, here.
52081
52082 2008-06-09  Jim Meyering  <meyering@redhat.com>
52083
52084         add more guards around definition of ACE_-related code
52085         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52086         ALLOW and ACE_OWNER are also defined.
52087
52088 2008-06-08  Bruno Haible  <bruno@clisp.org>
52089
52090         * lib/acl-internal.h: Add me as co-author.
52091         * lib/file-has-acl.c: Likewise.
52092         * lib/set-mode-acl.c: Likewise.
52093         * lib/copy-acl.c: Likewise.
52094
52095 2008-06-08  Bruno Haible  <bruno@clisp.org>
52096
52097         Add support for AIX ACLs.
52098         * lib/acl-internal.h (acl_nontrivial): New declaration.
52099         * lib/file-has-acl.c (acl_nontrivial): New function.
52100         (file_has_acl): Add implementation using AIX 4 ACL API.
52101         * lib/set-mode-acl.c (qset_acl): Likewise.
52102         * lib/copy-acl.c (qcopy_acl): Likewise.
52103
52104 2008-06-08  Bruno Haible  <bruno@clisp.org>
52105
52106         Add support for HP-UX ACLs.
52107         * lib/acl-internal.h (acl_nontrivial): New declaration.
52108         * lib/file-has-acl.c (acl_nontrivial): New function.
52109         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52110         * lib/set-mode-acl.c (qset_acl): Likewise.
52111         * lib/copy-acl.c (qcopy_acl): Likewise.
52112
52113 2008-06-08  Bruno Haible  <bruno@clisp.org>
52114
52115         Add support for Cygwin ACLs.
52116         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52117         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52118         the chmod_or_fchmod call.
52119         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52120
52121 2008-06-08  Bruno Haible  <bruno@clisp.org>
52122
52123         Fix bug with setuid modes in Solaris 10+ code.
52124         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52125         succeeded, when the mode contains some special bits.
52126
52127 2008-06-08  Bruno Haible  <bruno@clisp.org>
52128
52129         Add support for Solaris 7..10 ACLs.
52130         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52131         declarations.
52132         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52133         functions.
52134         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52135         * lib/set-mode-acl.c (qset_acl): Likewise.
52136         * lib/copy-acl.c (qcopy_acl): Likewise.
52137
52138 2008-06-08  Bruno Haible  <bruno@clisp.org>
52139
52140         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52141         declaration.
52142         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52143         (acl_access_nontrivial): Remove MacOS X case.
52144         (file_has_acl): Use acl_extended_nontrivial.
52145         * lib/copy-acl.c (qcopy_acl): Likewise.
52146
52147 2008-06-08  Bruno Haible  <bruno@clisp.org>
52148
52149         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52150
52151 2008-06-08  Jim Meyering  <meyering@redhat.com>
52152
52153         * modules/acl (Maintainer): Add Bruno Haible.
52154
52155 2008-06-07  Bruno Haible  <bruno@clisp.org>
52156
52157         Improve support for Tru64 ACLs.
52158         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52159         ACL on OSF/1.
52160
52161 2008-06-07  Bruno Haible  <bruno@clisp.org>
52162
52163         Add support for MacOS X ACLs.
52164         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52165         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52166         * lib/set-mode-acl.c (qset_acl): Likewise.
52167         * lib/copy-acl.c (qcopy_acl): Likewise.
52168
52169 2008-06-07  Bruno Haible  <bruno@clisp.org>
52170
52171         Fix memory leak introduced on 2008-05-22.
52172         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52173         use.
52174
52175 2008-06-07  Bruno Haible  <bruno@clisp.org>
52176
52177         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52178         to construct an empty ACL.
52179
52180 2008-06-07  Bruno Haible  <bruno@clisp.org>
52181
52182         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52183         precisely.
52184         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52185
52186 2008-06-07  Bruno Haible  <bruno@clisp.org>
52187
52188         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52189         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52190
52191 2008-06-07  Bruno Haible  <bruno@clisp.org>
52192
52193         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52194         regardless of POSIX.
52195         * doc/posix-functions/_longjmp.texi: Likewise.
52196         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52197         SystemV platform in this case.
52198
52199 2008-06-06  Eric Blake  <ebb9@byu.net>
52200
52201         Document abort() bugs.
52202         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52203
52204         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52205         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52206         sigsetjmp.
52207         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52208         siglongjmp, but only as a macro.
52209         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52210         is obsolete.
52211         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52212
52213         Tweak documentation to cover cygwin argz bugs.
52214         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52215         argz bug fix; no code change needed since no cygwin releases
52216         occurred between the last fix and the bug being tested.
52217         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52218         module and recently fixed cygwin bugs.
52219         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52220         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52221         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52222         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52223         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52224         Likewise.
52225         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52226         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52227         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52228         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52229         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52230         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52231         Likewise.
52232
52233         Avoid gcc warning on cygwin.
52234         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52235         !ACL_NO_TRIVIAL]: Avoid unused variable.
52236
52237 2008-06-05  Eric Blake  <ebb9@byu.net>
52238
52239         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52240         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52241         git-version-gen fails to come up with a version.
52242         Reported by Simon Josefsson.
52243
52244 2008-06-05  Jim Meyering  <meyering@redhat.com>
52245             Paul Eggert  <eggert@cs.ucla.edu>
52246
52247         utimens.c: work around a probable Linux kernel bug
52248         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52249         appears to be a kernel bug that causes utimensat to return 280
52250         instead of 0, indicating success.
52251
52252 2008-06-04  Bruno Haible  <bruno@clisp.org>
52253
52254         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52255         2008-06-01 commit.
52256
52257 2008-06-04  Bruno Haible  <bruno@clisp.org>
52258
52259         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52260         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52261         (file_has_acl): Use it. Save errno afterwards.
52262         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52263
52264 2008-06-03  Bruno Haible  <bruno@clisp.org>
52265
52266         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52267         draft code. Simplify #ifs.
52268         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52269         Put Solaris code after POSIX-draft code. Fix comments regarding
52270         Solaris 10, HP-UX. Mention Cygwin.
52271         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52272
52273 2008-06-03  Eric Blake  <ebb9@byu.net>
52274
52275         Provide fallback for older kernels.
52276         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52277         Provide runtime fallback if kernel lacks support.
52278         Reported by Mike Frysinger.
52279
52280 2008-06-02  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52283         it exists.
52284
52285 2008-06-02  Bruno Haible  <bruno@clisp.org>
52286
52287         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52288         * lib/copy-acl.c (qcopy_acl): Update comment.
52289
52290 2008-06-02  Bruno Haible  <bruno@clisp.org>
52291
52292         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52293         like ACL APIs.
52294
52295 2008-06-02  Bruno Haible  <bruno@clisp.org>
52296
52297         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52298         * tests/test-set-mode-acl.sh: Likewise.
52299         * tests/test-copy-acl.sh: Likewise.
52300         * tests/test-copy-file.sh: Likewise.
52301
52302 2008-06-02  Bruno Haible  <bruno@clisp.org>
52303
52304         * tests/test-file-has-acl.sh: Remove unused code.
52305
52306 2008-06-01  Bruno Haible  <bruno@clisp.org>
52307
52308         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52309         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52310         messages.
52311         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52312
52313 2008-06-01  Bruno Haible  <bruno@clisp.org>
52314
52315         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52316         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52317         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52318         APIs.
52319         * modules/acl-tests (configure.ac): Remove tests now contained in
52320         m4/acl.m4.
52321
52322 2008-06-02  Jim Meyering  <meyering@redhat.com>
52323
52324         announce-gen: use a better key-server host name
52325         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52326         it may be more consistently reliable.  Suggested by Werner Koch
52327         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52328
52329 2008-06-01  Bruno Haible  <bruno@clisp.org>
52330
52331         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
52332         Reported by Voroskoi Andras <voroskoi@gmail.com>.
52333
52334 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
52335
52336         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
52337
52338 2008-06-01  Bruno Haible  <bruno@clisp.org>
52339
52340         New ACL tests.
52341         * tests/test-file-has-acl.sh: New file.
52342         * tests/test-file-has-acl.c: New file.
52343         * tests/test-set-mode-acl.sh: New file.
52344         * tests/test-set-mode-acl.c: New file.
52345         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
52346         * tests/test-copy-acl.c: New file.
52347         * modules/acl-tests: New file, based on modules/copy-file-tests.
52348         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
52349         (Depends-on): Add acl-tests.
52350         (configure.ac): Remove checks.
52351         (Makefile.am): Don't create test-sameacls program here any more.
52352
52353 2008-06-01  Bruno Haible  <bruno@clisp.org>
52354
52355         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
52356         * tests/test-sameacls.c: Include progname.h.
52357         (main): Invoke set_program_name. Portability fixes for MacOS X,
52358         Solaris, HP-UX.
52359
52360 2008-06-01  Bruno Haible  <bruno@clisp.org>
52361
52362         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
52363         function.
52364         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
52365
52366 2008-06-01  Bruno Haible  <bruno@clisp.org>
52367
52368         * modules/rpmatch (Depends-on): Add strdup.
52369
52370 2008-06-01  Bruno Haible  <bruno@clisp.org>
52371
52372         * lib/pipe.c: Include unistd-safer.h.
52373         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
52374         * modules/pipe (Depends-on): Add unistd-safer.
52375
52376 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52377
52378         * modules/autobuild (configure.ac): Call AB_INIT.
52379
52380 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52381
52382         * tests/test-getaddrinfo.c: Don't print debug messages by default.
52383         Suggested by Bruno Haible <bruno@clisp.org>.
52384
52385 2008-05-30  Simon Josefsson  <simon@josefsson.org>
52386
52387         * tests/test-base64.c: Cast size_t to unsigned long when invoking
52388         printf.  Use %lu instead of %d.  Reported by Bruno Haible
52389         <bruno@clisp.org>.
52390
52391 2008-05-29  Eric Blake  <ebb9@byu.net>
52392
52393         Prefer new POSIX 200x interfaces over futimesat.
52394         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
52395         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
52396         when available.
52397         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
52398
52399 2008-05-28  Bruno Haible  <bruno@clisp.org>
52400
52401         * modules/stpcpy (License): Change to LGPLv2+.
52402         Requested by David Lutterkort <dlutter@redhat.com>.
52403
52404 2008-05-27  Bruno Haible  <bruno@clisp.org>
52405
52406         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
52407         current mingw.
52408         Reported by Jose E. Marchesi <jemarch@gnu.org>.
52409
52410 2008-05-27  Bruno Haible  <bruno@clisp.org>
52411
52412         * modules/iconv_open (Link): New section, from module 'iconv'.
52413         * modules/striconv (Link): Likewise.
52414         * modules/striconveh (Link): Likewise.
52415         * modules/xstriconv (Link): Likewise.
52416         * modules/unicodeio (Link): Likewise.
52417         * modules/propername (Link): Likewise.
52418         Reported by Jim Meyering.
52419
52420 2008-05-26  Jim Meyering  <meyering@redhat.com>
52421
52422         sha256: do not artificially restrict buffer length to be < 2^32
52423         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
52424         uint32_t to size_t.
52425         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
52426         to match.
52427
52428         avoid unaligned access errors, e.g., on sparc
52429         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
52430         direct access through a possibly-unaligned uint64* pointer.
52431         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
52432         direct access through a possibly-unaligned uint32* pointer.
52433         Prompted by this patch from Tom "spot" Callaway:
52434         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
52435
52436         sha512.c: fix typo in comment
52437         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
52438
52439 2008-05-25  Bruno Haible  <bruno@clisp.org>
52440
52441         * lib/set-mode-acl.c: Renamed from lib/acl.c.
52442         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
52443         (Makefile.am): Update lib_SOURCES.
52444
52445 2008-05-25  Bruno Haible  <bruno@clisp.org>
52446
52447         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
52448
52449 2008-05-25  Jim Meyering  <meyering@redhat.com>
52450
52451         useless-if-before-free: freed expr may have white-space differences
52452         * build-aux/useless-if-before-free: Recognize cases in which the
52453         freed expression differs from the tested one in embedded white
52454         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
52455         $1 was used, so we can't make any regexp shy.  Improved tests now
52456         detect this.
52457
52458         useless-if-before-free: accept white space in the expression.
52459         * build-aux/useless-if-before-free: For now, any white space
52460         in the expression must be identical in the free argument.
52461
52462         useless-if-before-free: efficiency tweak
52463         * build-aux/useless-if-before-free: Make the expression-matching
52464         regexp "shy".
52465         Make the *outer* regexp shy, not the expr-matching one.
52466
52467         update code-in-comment to accept cast of free arg
52468         * build-aux/useless-if-before-free: Update regexp.
52469
52470 2008-05-25  Bruno Haible  <bruno@clisp.org>
52471
52472         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
52473         * modules/copy-file-tests (Files, Makefile.am): Update.
52474         * tests/test-copy-file.c (func_test_copy): Update.
52475
52476 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
52477
52478         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
52479
52480 2008-05-23  Bruno Haible  <bruno@clisp.org>
52481
52482         Improve support for ACLs on OSF/1.
52483         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
52484         Remove fallback for unknown flavors of ACLs.
52485
52486 2008-05-22  Bruno Haible  <bruno@clisp.org>
52487
52488         Add support for ACLs on OSF/1.
52489         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
52490         replacements.
52491         (acl_free_text): New macro fallback.
52492         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
52493         acl_free.
52494         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
52495         acl_free_text function. Require AC_C_INLINE.
52496
52497 2008-05-22  Bruno Haible  <bruno@clisp.org>
52498
52499         Make copy_acl work on MacOS X 10.5.
52500         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
52501         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
52502         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
52503         If MODE_INSIDE_ACL, don't assume that every system has the same text
52504         representation for ACLs as FreeBSD.
52505         * lib/copy-acl.c (copy_acl): Add support for platforms with
52506         !MODE_INSIDE_ACL.
52507         * lib/file-has-acl.c (file_has_acl): Likewise.
52508         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
52509         FreeBSD, MacOS X, or IRIX, respectively.
52510
52511 2008-05-22  Bruno Haible  <bruno@clisp.org>
52512
52513         * lib/acl.h: Don't include <sys/acl.h>.
52514         (GETACLCNT): Move fallback to lib/acl-internal.h.
52515         * lib/acl-internal.h: Include <sys/acl.h> here.
52516         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
52517
52518 2008-05-22  Bruno Haible  <bruno@clisp.org>
52519
52520         Split off copy_acl function to separate file.
52521         * lib/copy-acl.c: New file, extracted from lib/acl.c.
52522         * lib/acl.c (copy_acl): Moved function to separate file.
52523         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
52524         * modules/acl (Files): Add lib/copy-acl.c.
52525         (Makefiles.am): Augment lib_SOURCES.
52526
52527 2008-05-22  Bruno Haible  <bruno@clisp.org>
52528
52529         * modules/copy-file-tests: New file.
52530         * tests/test-copy-file.sh: New file.
52531         * tests/test-copy-file.c: New file.
52532         * tests/test-copy-file-sameacls.c: New file.
52533
52534 2008-05-22  Eric Blake  <ebb9@byu.net>
52535
52536         Avoid gcc warning.
52537         * tests/test-memcmp.c (main): Pass NULL indirectly.
52538
52539 2008-05-21  Bruno Haible  <bruno@clisp.org>
52540
52541         Add reference doc about ACLs.
52542         * doc/acl-resources.txt: New file.
52543         * doc/acl-cygwin.txt: New file.
52544
52545 2008-05-21  Bruno Haible  <bruno@clisp.org>
52546
52547         Avoid one more warning from gcc.
52548         * lib/vasnprintf.c (IF_LINT): Update comments.
52549         (VASNPRINTF): Use it also for the 'prefix' array initializer.
52550
52551 2008-05-21  Jim Meyering  <meyering@redhat.com>
52552
52553         avoid a warning from gcc
52554         * lib/vasnprintf.c (IF_LINT): Define.
52555         (scale10_round_decimal_long_double):
52556         Use it to avoid a "may be used uninitialized" warning.
52557         (scale10_round_decimal_double): Likewise.
52558
52559 2008-05-21  Simon Josefsson  <simon@josefsson.org>
52560
52561         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
52562         declared.
52563
52564 2008-05-20  Bruno Haible  <bruno@clisp.org>
52565
52566         * tests/test-memcmp.c (main): Test also the sign of the result. Test
52567         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
52568
52569 2008-05-20  Simon Josefsson  <simon@josefsson.org>
52570
52571         * modules/memcmp-tests: New file.
52572         * tests/test-memcmp.c: New file.
52573
52574 2008-05-19  Bruno Haible  <bruno@clisp.org>
52575
52576         * modules/propername (Notice, configure.ac): Put quoted "..." into
52577         --keyword option.
52578         * lib/propername.h: Update comments accordingly.
52579         Reported by Eric Blake.
52580
52581 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
52582
52583         * modules/getpass-gnu (Depends-on): Add fseeko.
52584
52585 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52586
52587         * modules/base64-tests: New file.
52588
52589 2008-05-19  Bo Borgerson <gigabo@gmail.com>
52590
52591         * lib/base64.c (base64_decode_ctx): If a decode context structure
52592         was passed in use it to ignore newlines.  If a context structure
52593         was _not_ passed in, continue to treat newlines as garbage (this
52594         is the historical behavior).  Formerly base64_decode.
52595         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52596         takes a decode context structure.
52597         * lib/base64.h (base64_decode): Macro for four-argument calls.
52598         (base64_decode_alloc): Likewise.
52599         * lib/base64.c (base64_decode_ctx): If a decode context structure
52600         was passed in use it to ignore newlines.  If a context structure
52601         was _not_ passed in, continue to treat newlines as garbage (this
52602         is the historical behavior).  Formerly base64_decode.
52603         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
52604         takes a decode context structure.
52605         * lib/base64.h (base64_decode): Macro for four-argument calls.
52606         (base64_decode_alloc): Likewise.
52607
52608 2008-05-19  Jim Meyering  <meyering@redhat.com>
52609
52610         avoid a warning from gcc
52611         * lib/trim.c (IF_LINT): Define.
52612         (trim2): Use it to avoid a "may be used uninitialized" warning.
52613
52614         Fix doc typo.
52615         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
52616
52617 2008-05-19  Bruno Haible  <bruno@clisp.org>
52618
52619         * doc/glibc-functions/getpass.texi: Document limits of other
52620         implementations.
52621
52622 2008-05-19  Simon Josefsson  <simon@josefsson.org>
52623             Bruno Haible <bruno@clisp.org>
52624
52625         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
52626
52627 2008-05-18  Bruno Haible  <bruno@clisp.org>
52628
52629         * modules/propername: New file, from GNU gettext.
52630         * lib/propername.h: New file, from GNU gettext.
52631         * lib/propername.c: New file, from GNU gettext.
52632         * MODULES.html.sh (Internationalization functions): Add propername.
52633
52634 2008-05-16  Jim Meyering  <meyering@redhat.com>
52635             Bruno Haible  <bruno@clisp.org>
52636
52637         Avoid some warnings from "gcc -Wshadow".
52638         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
52639
52640 2008-05-15  Eric Blake  <ebb9@byu.net>
52641
52642         Extend previous patch to cygwin 1.7.0.
52643         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
52644         fast implementation in cygwin >= 1.7.0.
52645         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52646         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52647
52648 2008-05-15  Bruno Haible  <bruno@clisp.org>
52649
52650         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
52651         implementation in glibc >= 2.9.
52652         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52653         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52654
52655 2008-05-15  Bruno Haible  <bruno@clisp.org>
52656
52657         * MODULES.html.sh (Internationalization functions): Remove linebreak.
52658         (Unicode string functions): Add unilbrk/*.
52659         Reported by Karl Berry.
52660
52661 2008-05-15  Eric Blake  <ebb9@byu.net>
52662
52663         Fix violation of <stdbool.h> replacement in regex.
52664         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
52665         * lib/regexec.c (re_search_internal): Likewise.
52666         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
52667
52668 2008-05-15  Jim Meyering  <meyering@redhat.com>
52669
52670         avoid distracting test output when git or cvs is not found
52671         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
52672         * tests/test-vc-list-files-git.sh: Likewise.
52673
52674 2008-05-15  Eric Blake  <ebb9@byu.net>
52675
52676         Glibc finally accepted the memmem speedup code, bugzilla #5514.
52677         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
52678         glibc version.
52679         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
52680         * doc/posix-functions/strstr.texi (strstr): Likewise.
52681         * lib/str-two-way.h (MAX): Sychronize with glibc.
52682
52683 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
52684
52685         * lib/regcomp.c (optimize_utf8): Add a note on why we test
52686         opr.ctx_type.
52687         (calc_first): Initialize constraint field.
52688         (duplicate_node_closure): Use it instead of special casing ANCHORS.
52689         Fix grammar.
52690         (duplicate_node): Merge constraint field for all node types.
52691         (calc_eclosure_iter): Look at constraint field for all node types.
52692         * lib/regex_internal.c (create_cd_newstate): Don't look at
52693         opr.ctx_type.
52694
52695 2008-05-14  Bruno Haible  <bruno@clisp.org>
52696
52697         Help GCC to do better code generation.
52698         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
52699         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
52700         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
52701         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
52702         Declare with attribute 'malloc' if supported.
52703
52704 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
52705
52706         use "echo STR|wc -c" rather than unportable "expr length STR"
52707         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
52708         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
52709
52710 2008-05-14  Jim Meyering  <meyering@redhat.com>
52711
52712         use dd ibs=$n count=1 ... rather than less-portable head -c$n
52713         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
52714         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
52715         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
52716         via Collin Lasse.
52717
52718 2008-05-14  Eric Blake  <ebb9@byu.net>
52719
52720         Avoid quadratic growth in gl_LIBSOURCES.
52721         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
52722         Suggested by Bruno Haible.
52723
52724         Test xmemdup0.
52725         * modules/xmemdup0-tests: New file.
52726         * tests/test-xmemdup0.c: Likewise.
52727
52728 2008-05-13  Eric Blake  <ebb9@byu.net>
52729
52730         Split xmemdup0 into its own module.
52731         * modules/xmemdup0: New file.
52732         * lib/xmemdup0.h: Likewise.
52733         * lib/xmemdup0.c: Likewise.
52734         * MODULES.html.sh (Memory management functions): Add xmemdup0.
52735         * lib/xalloc.h (xmemdup0): Remove.
52736         * lib/xmalloc.c (xmemdup0): Likewise.
52737
52738 2008-05-13  Eric Blake  <ebb9@byu.net>
52739             Bruno Haible  <bruno@clisp.org>
52740
52741         Reduce number of forks required during autoconf.
52742         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
52743         and gl_LIBSOURCES_DIR.
52744         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
52745         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
52746         m4_syscmd per file.
52747         <m4_foreach_w>: Move...
52748         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
52749
52750 2008-05-13  Eric Blake  <ebb9@byu.net>
52751
52752         * gnulib-tool: Fix various comment typos.
52753
52754 2008-05-12  Bruno Haible  <bruno@clisp.org>
52755
52756         Tailor the linebreaking algorithm.
52757         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
52758
52759 2008-05-12  Bruno Haible  <bruno@clisp.org>
52760
52761         Update to Unicode 5.0.0.
52762         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52763         LBP_JV, LBP_JT. Redistribute values.
52764         (unilbrk_table): Change size.
52765         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
52766         Unicode TR#14 rev. 22.
52767         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
52768         LBP_JV, LBP_JT. Redistribute values.
52769         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
52770         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
52771         Update.
52772         * lib/unilbrk/lbrkprop1.h: Regenerated.
52773         * lib/unilbrk/lbrkprop2.h: Regenerated.
52774         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
52775         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
52776         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
52777         Likewise.
52778         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
52779         Likewise.
52780         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
52781         result.
52782         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
52783         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
52784         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
52785         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
52786         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
52787         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
52788
52789 2008-05-11  Bruno Haible  <bruno@clisp.org>
52790
52791         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
52792
52793 2008-05-11  Bruno Haible  <bruno@clisp.org>
52794
52795         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
52796         * modules/unilbrk/gen-lbrk: New file.
52797
52798 2008-05-11  Bruno Haible  <bruno@clisp.org>
52799
52800         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
52801         * m4/sha512.m4 (gl_SHA512): Likewise.
52802
52803 2008-05-11  Jim Meyering  <meyering@redhat.com>
52804
52805         New modules: crypto/sha256, crypto/sha512 (from coreutils)
52806         * modules/crypto/sha256: New file.
52807         * modules/crypto/sha512: Likewise.
52808         * lib/sha256.c: Likewise.
52809         * lib/sha256.h: Likewise.
52810         * lib/sha512.c: Likewise.
52811         * lib/sha512.h: Likewise.
52812         * lib/u64.h: Likewise.
52813         * m4/sha256.m4: Likewise.
52814         * m4/sha512.m4: Likewise.
52815         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
52816
52817 2008-05-10  Bruno Haible  <bruno@clisp.org>
52818
52819         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
52820         (Input/Output <stdio.h>): Add xprintf.
52821         (Signal handling <signal.h>): Add strsignal.
52822         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
52823         (Core language properties): Add func.
52824         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
52825         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
52826         strings.
52827         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
52828         (Input/output): New section.
52829         (File system functions): Add openat-die, stat-macros.
52830         (Networking functions): Add sockets.
52831         (Unicode string functions): Add unictype/*.
52832         (Support for building libraries and executables): Add gperf.
52833         (Support for building documentation): Add agpl-3.0.
52834         (Misc): Add nocrash.
52835
52836 2008-05-10  Bruno Haible  <bruno@clisp.org>
52837
52838         * modules/unictype/gen-ctype: New file.
52839
52840 2008-05-10  Jim Meyering  <meyering@redhat.com>
52841
52842         Make chdir-safer.c more efficient on a system with no symlinks.
52843         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
52844         also if ELOOP is zero.  Suggested by Bruno Haible.
52845
52846         Make chdir-safer.c slightly safer.
52847         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
52848         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
52849
52850         Avoid compile failure on systems without ELOOP (like mingw).
52851         * lib/chdir-safer.c (ELOOP): Define if not already defined.
52852         Reported by Bruno Haible.
52853
52854 2008-05-10  Bruno Haible  <bruno@clisp.org>
52855
52856         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
52857         (is_utf8_encoding): Use a case-insensitive comparison.
52858         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
52859         streq.
52860
52861 2008-05-10  Bruno Haible  <bruno@clisp.org>
52862
52863         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
52864         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
52865         * lib/unilbrk/ulc-common.h (iconv_string_length,
52866         iconv_string_keeping_offsets): Remove declarations.
52867         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
52868         Don't include <iconv.h>, streq.h, xsize.h.
52869         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
52870         conversion.
52871         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
52872         <iconv.h>, streq.h, xsize.h.
52873         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
52874         conversion.
52875         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
52876         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
52877         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
52878         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
52879
52880 2008-05-10  Bruno Haible  <bruno@clisp.org>
52881
52882         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
52883         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
52884
52885         * modules/unilbrk/u32-width-linebreaks-tests: New file.
52886         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
52887
52888         * modules/unilbrk/u16-width-linebreaks-tests: New file.
52889         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
52890
52891         * modules/unilbrk/u8-width-linebreaks-tests: New file.
52892         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
52893
52894         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
52895         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
52896
52897         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
52898         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
52899
52900         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
52901         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
52902
52903         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
52904         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
52905
52906 2008-05-10  Bruno Haible  <bruno@clisp.org>
52907
52908         Split up 'linebreak' module.
52909         * lib/unilbrk.h: New file, based on lib/linebreak.h.
52910         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
52911         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
52912         modifications.
52913         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
52914         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
52915         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
52916         lib/linebreak.c.
52917         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
52918         lib/linebreak.c.
52919         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
52920         lib/linebreak.c.
52921         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
52922         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
52923         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
52924         lib/linebreak.c.
52925         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
52926         lib/linebreak.c.
52927         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
52928         lib/linebreak.c.
52929         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
52930         lib/linebreak.c.
52931         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
52932         lib/linebreak.c.
52933         * modules/unilbrk/base: New file.
52934         * modules/unilbrk/tables: New file.
52935         * modules/unilbrk/u8-possible-linebreaks: New file.
52936         * modules/unilbrk/u16-possible-linebreaks: New file.
52937         * modules/unilbrk/u32-possible-linebreaks: New file.
52938         * modules/unilbrk/ulc-common: New file.
52939         * modules/unilbrk/ulc-possible-linebreaks: New file.
52940         * modules/unilbrk/u8-width-linebreaks: New file.
52941         * modules/unilbrk/u16-width-linebreaks: New file.
52942         * modules/unilbrk/u32-width-linebreaks: New file.
52943         * modules/unilbrk/ulc-width-linebreaks: New file.
52944         * lib/linebreak.h: Remove file.
52945         * lib/linebreak.c: Remove file.
52946         * m4/linebreak.m4: Remove file.
52947         * modules/linebreak: Remove file.
52948         * NEWS: Mention the changes.
52949
52950 2008-05-09  Eric Blake  <ebb9@byu.net>
52951
52952         Add xmemdup0.
52953         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
52954         implementation.
52955         * lib/xmalloc.c (xmemdup0): New C implementation.
52956
52957 2008-05-08  Bruno Haible  <bruno@clisp.org>
52958
52959         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
52960
52961 2008-05-07  Eric Blake  <ebb9@byu.net>
52962
52963         Support cross-compilation of <wctype.h>.
52964         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52965         AC_CACHE_CHECK.
52966
52967 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52968
52969         * build-aux/vc-list-files: Add support for bzr.
52970
52971 2008-05-03  Jim Meyering  <meyering@redhat.com>
52972
52973         avoid failed assertion with tight malloc
52974         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52975
52976 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52977
52978         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52979         are needed from arpa/inet.h.
52980         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52981         Reported by Bruno Haible.
52982
52983 2008-05-02  Jim Meyering  <meyering@redhat.com>
52984
52985         avoid compilation error on FreeBSD 6
52986         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52987
52988 2008-05-01  Jim Meyering  <meyering@redhat.com>
52989
52990         useless-if-before-free: correct --help's exit status description
52991         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52992         for one or more matches, etc.  Reported by Bruno Haible.
52993
52994         vc-list-files: make the stand-alone gnulib test work
52995         * modules/vc-list-files-tests (configure.ac):
52996         Define and AC_SUBST abs_aux_dir.
52997         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52998         $(abs_top_srcdir) to each script and having each of them
52999         duplicate the work of setting PATH, set PATH here, using
53000         the new variable, abs_aux_dir instead.
53001         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53002         * tests/test-vc-list-files-git.sh: Likewise.
53003         Reported by Bruno Haible.
53004
53005 2008-05-01  Bruno Haible  <bruno@clisp.org>
53006
53007         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53008         reallocation. Rename 'done' to 'found_delimiter'.
53009
53010 2008-05-01  Jim Meyering  <meyering@redhat.com>
53011
53012         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53013         * build-aux/vc-list-files: Use `...`, not $(...).
53014
53015 2008-04-30  Jim Meyering  <meyering@redhat.com>
53016
53017         add tests for vc-list-files
53018         * modules/vc-list-files-tests: New module.
53019         * tests/test-vc-list-files-cvs.sh: New file.
53020         * tests/test-vc-list-files-git.sh: New file.
53021
53022         avoid a warning from gcc
53023         * lib/getndelim2.c (IF_LINT): Define.
53024         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53025
53026         vc-list-files: work properly with build-aux/cvsu, too
53027         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53028         to all cvs-based clauses.
53029
53030         vc-list-files: work properly in the CVS+awk case, too
53031         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53032
53033         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53034         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53035         take more than one file argument, so .  Add quotes, just in case $dir
53036         ever contains a shell meta-character.  Prompted by Soren Hansen in
53037         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53038
53039 2008-04-29  Eric Blake  <ebb9@byu.net>
53040
53041         Optimize getndelim2 to use block operations when possible.
53042         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53043         freadseek, and memchr2.
53044         * lib/getndelim2.c (getndelim2): Use them for block reads.
53045
53046 2008-04-29  Bruno Haible  <bruno@clisp.org>
53047
53048         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53049         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53050         * modules/inet_ntop (Depends-on): Add extensions.
53051         * modules/inet_pton (Depends-on): Likewise.
53052         Reported by Simon Josefsson.
53053
53054 2008-04-29  Jim Meyering  <meyering@redhat.com>
53055
53056         When the is more than one match in a block, match all of them.
53057         * build-aux/useless-if-before-free: Iterate through each block
53058         until there are no more matches.
53059
53060         Fix broken useless-if-before-free script.
53061         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53062         the expression to match cast of argument to free-like function.
53063
53064 2008-04-29  Eric Blake  <ebb9@byu.net>
53065
53066         Use new header.
53067         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53068
53069 2008-04-29  Jim Meyering  <meyering@redhat.com>
53070
53071         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53072         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53073         by gnulib to exist and to declare e.g., inet_ntop.
53074         Don't include "inet_ntop.h", now removed.
53075
53076         * m4/arpa_inet_h.m4: Remove trailing blanks.
53077
53078 2008-04-29  Eric Blake  <ebb9@byu.net>
53079
53080         Silence valgrind on safe reads beyond potential array bounds.
53081         * lib/rawmemchr.valgrind: New file.
53082         * lib/strchrnul.valgrind: Likewise.
53083         * modules/rawmemchr (Files): Distribute new file.
53084         * modules/strchrnul (Files): Likewise.
53085         Suggested by Bruno Haible.
53086
53087 2008-04-29  Bruno Haible  <bruno@clisp.org>
53088
53089         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53090         (inet_ntop, inet_pton): Change portability warning's wording.
53091         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53092         Invoke gl_CHECK_NEXT_HEADERS.
53093         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53094         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53095         set ARPA_INET_H.
53096         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53097         * modules/arpa_inet (Description): No longer only for systems that
53098         lack it.
53099         (Depends-on): Add include_next.
53100         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53101         HAVE_ARPA_INET_H.
53102
53103 2008-04-29  Jim Meyering  <meyering@redhat.com>
53104
53105         * modules/mkdir (License): Re-license as LGPLv2+.
53106
53107 2008-04-29  Bruno Haible  <bruno@clisp.org>
53108
53109         * modules/rawmemchr (Maintainer): Set to Eric.
53110         * modules/strchrnul (Maintainer): Likewise.
53111
53112 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53113
53114         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53115         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53116
53117         * modules/arpa_inet (arpa/inet.h): Use them.
53118
53119 2008-04-28  Eric Blake  <ebb9@byu.net>
53120
53121         Test getndelim2.
53122         * modules/getndelim2-tests: New file.
53123         * tests/test-getndelim2.c: Likewise.
53124         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53125         stream.
53126         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53127
53128         * MODULES.html.sh: Document new module.
53129
53130 2008-04-20  Bruno Haible  <bruno@clisp.org>
53131
53132         * lib/c-stack.c (die): Use raise.
53133         * modules/c-stack (Depends-on): Add raise.
53134
53135 2008-04-28  Bruno Haible  <bruno@clisp.org>
53136
53137         Expect rpmatch to be declared.
53138         * lib/yesno.c (rpmatch): Remove declaration.
53139
53140         Declare rpmatch.
53141         * lib/stdlib.in.h (rpmatch): New declaration.
53142         * lib/rpmatch.c: Include <stdlib.h> first.
53143         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53144         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53145         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53146         HAVE_RPMATCH.
53147         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53148         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53149         (Include): Set to <stdlib.h>.
53150         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53151         HAVE_RPMATCH.
53152         * NEWS: Document the change.
53153
53154 2008-04-28  Bruno Haible  <bruno@clisp.org>
53155
53156         Change rpmatch to use nl_langinfo when appropriate.
53157         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53158         (N_): New macro.
53159         (localized_pattern): New function/macro.
53160         (try): Remove match, nomatch arguments. Copy the pattern into safe
53161         memory before caching it.
53162         (rpmatch): Use localized_pattern. Add translator comments.
53163         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53164         Suggested by Eric Blake.
53165         * modules/rpmatch (Depends-on): Add stdbool.
53166
53167 2008-04-28  Eric Blake  <ebb9@byu.net>
53168
53169         Add rawmemchr module, matching glibc.
53170         * modules/string (Makefile.am): New indicator.
53171         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53172         * lib/string.in.h (rawmemchr): Declare when appropriate.
53173         * modules/rawmemchr: New file.
53174         * m4/rawmemchr.m4: Likewise.
53175         * lib/rawmemchr.c: Likewise.
53176         * modules/rawmemchr-tests: Likewise.
53177         * tests/test-rawmemchr.c: Likewise.
53178         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53179         module.
53180         * modules/strchrnul (Depends-on): Add rawmemchr.
53181         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53182
53183         Whitespace cleanup.
53184         * tests/test-strchrnul.c: Reindent.
53185         * lib/strchrnul.c: Likewise.
53186
53187         Optimize and test strchrnul.
53188         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53189         * modules/strchrnul-tests: New file.
53190         * tests/test-strchrnul.c: Likewise.
53191
53192         Remove intprops dependency.
53193         * modules/memchr (Depends-on): Remove intprops.
53194         * modules/memrchr (Depends-on): Likewise.
53195         * modules/memchr2 (Depends-on): Likewise.
53196         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53197         * lib/memrchr.c (__memrchr): Likewise.
53198         * lib/memrchr2.c (memchr2): Likewise.
53199         Reported by Simon Josefsson.
53200
53201 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53202
53203         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53204         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53205
53206 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53207
53208         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53209
53210         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53211
53212         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53213
53214         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53215         declarations.
53216         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53217
53218         * m4/inet_pton.m4: Don't check for header files.
53219
53220         * m4/inet_ntop.m4: Don't check for header files.
53221
53222 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53223
53224         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53225         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53226         trigger for cygwin).
53227         Reported by Bruno Haible  <bruno@clisp.org>.
53228
53229 2008-04-28  Bruno Haible  <bruno@clisp.org>
53230
53231         * doc/posix-functions/strdup.texi: Mention mingw problem.
53232
53233 2008-04-27  Bruno Haible  <bruno@clisp.org>
53234
53235         * modules/stat-time-tests (Depends-on): Add sleep.
53236         * tests/test-stat-time.c (force_unlink): New function.
53237         (cleanup): Use it.
53238         (test_mtime): Remove the ctime related tests.
53239         (test_ctime): New function, containing the ctime related tests.
53240         (main): Call test_ctime, except on native Windows platforms.
53241
53242 2008-04-27  Bruno Haible  <bruno@clisp.org>
53243
53244         * lib/rpmatch.c (rpmatch): Add some comments.
53245         Reported by James Youngman <jay@gnu.org>.
53246
53247 2008-04-27  Bruno Haible  <bruno@clisp.org>
53248
53249         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53250         quiet NaNs.
53251
53252 2008-04-27  Bruno Haible  <bruno@clisp.org>
53253
53254         Make test-yesno.sh work on mingw.
53255         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53256         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53257         (main): Set stdin to binary mode.
53258         * modules/yesno-tests (Depends-on): Add binary-io.
53259
53260 2008-04-27  Bruno Haible  <bruno@clisp.org>
53261
53262         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53263         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53264         argument that lie outside the IEEE 854 domain.
53265         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53266         (gl_ISFINITE): Use it.
53267         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53268
53269 2008-04-27  Bruno Haible  <bruno@clisp.org>
53270
53271         Allow local renaming in config.h.
53272         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53273
53274 2008-04-27  Bruno Haible  <bruno@clisp.org>
53275
53276         * lib/memchr.c (__memchr): Change type of 'i'.
53277         * lib/memchr2.c (memchr2): Likewise.
53278
53279 2008-04-26  Eric Blake  <ebb9@byu.net>
53280         and Bruno Haible  <bruno@clisp.org>
53281
53282         Optimize and test memrchr.
53283         * modules/memrchr (Depends-on): Add intprops.
53284         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53285         * modules/memrchr-tests: New file.
53286         * tests/test-memrchr.c: New file.
53287
53288 2008-04-26  Bruno Haible  <bruno@clisp.org>
53289
53290         Add tentative support for DragonFly BSD.
53291         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53292         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53293         fp.
53294         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53295         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53296         * lib/fpurge.c (fpurge): Likewise.
53297         * lib/freadable.c (freaadable): Likewise.
53298         * lib/freadahead.c (freadahead): Likewise.
53299         * lib/freading.c (freading): Likewise.
53300         * lib/freadptr.c (freadptr): Likewise.
53301         * lib/freadseek.c (freadptrinc): Likewise.
53302         * lib/fseeko.c (fseeko): Likewise.
53303         * lib/fseterr.c (fseterr): Likewise.
53304         * lib/fwritable.c (fwritable): Likewise.
53305         * lib/fwriting.c (fwriting): Likewise.
53306
53307 2008-04-26  Bruno Haible  <bruno@clisp.org>
53308
53309         * lib/stdio-impl.h: New file.
53310         * lib/fbufmode.c: Include stdio-impl.h.
53311         (fbufmode): Use fp_, remove redundant #defines.
53312         * lib/fflush.c: Include stdio-impl.h.
53313         (clear_ungetc_buffer): Remove redundant #defines.
53314         * lib/fpurge.c: Include stdio-impl.h.
53315         (fpurge): Remove redundant #defines.
53316         * lib/freadable.c: Include stdio-impl.h.
53317         (freadable): Remove redundant #defines.
53318         * lib/freadahead.c: Include stdio-impl.h.
53319         (freadahead): Remove redundant #defines.
53320         * lib/freading.c: Include stdio-impl.h.
53321         (freading): Remove redundant #defines.
53322         * lib/freadptr.c: Include stdio-impl.h.
53323         (freadptr): Remove redundant #defines.
53324         * lib/freadseek.c: Include stdio-impl.h.
53325         (freadptrinc): Remove redundant #defines.
53326         * lib/fseeko.c: Include stdio-impl.h.
53327         (rpl_fseeko): Remove redundant #defines.
53328         * lib/fseterr.c: Include stdio-impl.h.
53329         (fseterr): Remove redundant #defines.
53330         * lib/fwritable.c: Include stdio-impl.h.
53331         (fwritable: Remove redundant #defines.
53332         * lib/fwriting.c: Include stdio-impl.h.
53333         (fwriting): Remove redundant #defines.
53334         * modules/fbufmode (Files): Add lib/stdio-impl.h.
53335         * modules/fflush (Files): Likewise.
53336         * modules/fpurge (Files): Likewise.
53337         * modules/freadable (Files): Likewise.
53338         * modules/freadahead (Files): Likewise.
53339         * modules/freading (Files): Likewise.
53340         * modules/freadptr (Files): Likewise.
53341         * modules/freadseek (Files): Likewise.
53342         * modules/fseeko (Files): Likewise.
53343         * modules/fseterr (Files): Likewise.
53344         * modules/fwritable (Files): Likewise.
53345         * modules/fwriting (Files): Likewise.
53346
53347 2008-04-26  Bruno Haible  <bruno@clisp.org>
53348
53349         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53350         restore_seek_optimization, update_fpos_cache): New functions, extracted
53351         from rpl_fflush.
53352         (rpl_fflush): Use them.
53353         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
53354         (gl_REPLACE_FFLUSH): Use it.
53355
53356 2008-04-26  Bruno Haible  <bruno@clisp.org>
53357
53358         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
53359         on Solaris.
53360         * tests/test-xstrtoimax.sh: Likewise.
53361         * tests/test-xstrtoumax.sh: Likewise.
53362         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53363
53364 2008-04-26  Bruno Haible  <bruno@clisp.org>
53365
53366         * modules/memchr-tests: New file.
53367         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
53368
53369 2008-04-26  Eric Blake  <ebb9@byu.net>
53370             Bruno Haible  <bruno@clisp.org>
53371
53372         * lib/memchr.c: Include intprops.h.
53373         (__memchr): Optimize parallel detection of matching bytes. Rename local
53374         variables. Add explanatory comments.
53375
53376 2008-04-26  Bruno Haible  <bruno@clisp.org>
53377
53378         Fix module 'memchr', broken since 2000-10-28.
53379         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
53380
53381 2008-04-26  Bruno Haible  <bruno@clisp.org>
53382
53383         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
53384         comments.
53385
53386 2008-04-25  Eric Blake  <ebb9@byu.net>
53387
53388         Use native fstatat on cygwin 1.7.0.
53389         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
53390         first.
53391
53392 2008-04-23  Eric Blake  <ebb9@byu.net>
53393
53394         Improve memchr2 performance.
53395         * lib/memchr2.c (memchr2): Further optimize parallel detection of
53396         NUL bytes.
53397         * modules/memchr2 (Depends-on): Use intprops.h.
53398
53399 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53400
53401         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
53402         an inline function instead of a CPP macro.  Patch by Ben Pfaff
53403         <blp@cs.stanford.edu>.
53404
53405 2008-04-23  Simon Josefsson  <simon@josefsson.org>
53406
53407         * lib/arpa_inet.in.h: New file.
53408
53409         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
53410         (Makefile.am): Sed in substitute header file.
53411
53412         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
53413         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
53414
53415         * modules/inet_ntop (configure.ac): Use
53416         gl_ARPA_INET_MODULE_INDICATOR.
53417
53418         * modules/inet_pton (configure.ac): Use
53419         gl_ARPA_INET_MODULE_INDICATOR.
53420
53421 2008-04-22  Jim Meyering  <meyering@redhat.com>
53422
53423         * modules/verify (License): Re-license as LGPLv2+.
53424
53425 2008-04-22  Simon Josefsson  <simon@josefsson.org>
53426
53427         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
53428         parameter to void* as per POSIX standard (MinGW uses char*).
53429
53430 2008-04-21  Bruno Haible  <bruno@clisp.org>
53431
53432         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53433         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53434         Define to replacements if REPLACE_ISWCNTRL is 1.
53435         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
53436         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
53437         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
53438         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
53439         what it fixes.
53440         * doc/posix-functions/iswalpha.texi: Likewise.
53441         * doc/posix-functions/iswblank.texi: Likewise.
53442         * doc/posix-functions/iswcntrl.texi: Likewise.
53443         * doc/posix-functions/iswdigit.texi: Likewise.
53444         * doc/posix-functions/iswgraph.texi: Likewise.
53445         * doc/posix-functions/iswlower.texi: Likewise.
53446         * doc/posix-functions/iswprint.texi: Likewise.
53447         * doc/posix-functions/iswpunct.texi: Likewise.
53448         * doc/posix-functions/iswspace.texi: Likewise.
53449         * doc/posix-functions/iswupper.texi: Likewise.
53450         * doc/posix-functions/iswxdigit.texi: Likewise.
53451         Reported by Alain Guibert.
53452
53453 2008-04-21  Bruno Haible  <bruno@clisp.org>
53454
53455         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
53456         Patch by Alain Guibert.
53457
53458 2008-04-21  Bruno Haible  <bruno@clisp.org>
53459
53460         Fix test failures on mingw.
53461         * tests/test-xstrtol.c (print_no_progname): New function.
53462         (main): Install it in error_print_progname hook.
53463         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
53464         * tests/test-xstrtoimax.sh: Likewise.
53465         * tests/test-xstrtoumax.sh: Likewise.
53466
53467 2008-04-21  Bruno Haible  <bruno@clisp.org>
53468
53469         Fix test failure on mingw.
53470         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
53471
53472 2008-04-21  Bruno Haible  <bruno@clisp.org>
53473
53474         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
53475         Actually assign a value.
53476
53477 2008-04-20  Bruno Haible  <bruno@clisp.org>
53478
53479         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
53480         take 2.
53481         * lib/canonicalize.c (canonicalize_file_name): Elide if the
53482         'canonicalize-lgpl' module is also used.
53483         * lib/canonicalize-lgpl.c: Undo last change.
53484         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
53485
53486 2008-04-20  Bruno Haible  <bruno@clisp.org>
53487
53488         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
53489         config.h. Provide _mkdir based fallback for mingw.
53490         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
53491         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
53492         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
53493         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
53494         rather than defining mkdir in config.h.
53495         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
53496         (gl_SYS_STAT_H_DEFAULTS): New macro.
53497         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
53498         HAVE_IO_H any more.
53499         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
53500         HAVE_DECL_MKDIR and HAVE_IO_H.
53501
53502 2008-04-20  Bruno Haible  <bruno@clisp.org>
53503
53504         * lib/isapipe.c: Port to native Windows platforms.
53505
53506 2008-04-20  Bruno Haible  <bruno@clisp.org>
53507
53508         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
53509
53510 2008-04-21  Eric Blake  <ebb9@byu.net>
53511
53512         Work around preprocessors that don't handle UINTMAX_MAX.
53513         * lib/memchr2.c (memchr2): Avoid embedded #if.
53514         Reported by Alain Guibert, fix suggested by Bruno Haible.
53515
53516 2008-04-21  Simon Josefsson  <simon@josefsson.org>
53517
53518         * doc/posix-functions/strftime.texi (strftime): Explain better
53519         Windows incompatibility.  Suggested by Micah Cowan
53520         <micah@cowan.name>.
53521
53522 2008-04-20  Bruno Haible  <bruno@clisp.org>
53523
53524         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
53525         unistr/u8-mblen.
53526
53527 2008-04-20  Bruno Haible  <bruno@clisp.org>
53528
53529         Fix test failure on platforms with non-GNU iconv.
53530         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
53531         (U_TO_U8): Use it, rather than u16_to_u8.
53532         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
53533         units at the end of the input string.
53534         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
53535
53536 2008-04-20  Bruno Haible  <bruno@clisp.org>
53537
53538         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
53539         when the resulting length is 0.
53540         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
53541
53542 2008-04-20  Bruno Haible  <bruno@clisp.org>
53543
53544         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
53545         works.
53546         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
53547
53548 2008-04-20  Bruno Haible  <bruno@clisp.org>
53549
53550         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
53551         * modules/tsearch-tests (configure.ac): Test for initstate function.
53552
53553 2008-04-20  Bruno Haible  <bruno@clisp.org>
53554
53555         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
53556         for nlink_t if missing.
53557         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
53558
53559 2008-04-19  Bruno Haible  <bruno@clisp.org>
53560
53561         Work around snprintf bug on Linux libc5.
53562         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
53563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53564         gl_SNPRINTF_SIZE1.
53565         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53566         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
53567         that test failed.
53568         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
53569         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
53570         * modules/snprintf (Files): Add m4/printf.m4.
53571         * modules/vsnprintf (Files): Likewise.
53572         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
53573         * doc/posix-functions/vsnprintf.texi: Likewise.
53574
53575 2008-04-19  Bruno Haible  <bruno@clisp.org>
53576
53577         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
53578         from 0.0058 to less than 10^-7.
53579
53580 2008-04-19  Bruno Haible  <bruno@clisp.org>
53581
53582         Fix rounding when a precision is given.
53583         * lib/vasnprintf.c (is_borderline): New function.
53584         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
53585         9...9x.
53586         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
53587         %e, %g.
53588         * tests/test-vasprintf-posix.c (test_function): Likewise.
53589         * tests/test-snprintf-posix.h (test_function): Likewise.
53590         * tests/test-sprintf-posix.h (test_function): Likewise.
53591         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
53592         * tests/test-printf-posix.h (test_function): Likewise.
53593         * tests/test-printf-posix.output: Update.
53594         Reported by John Darrington <john@darrington.wattle.id.au> via
53595         Ben Pfaff <blp@cs.stanford.edu>.
53596
53597 2008-04-18  Simon Josefsson  <simon@josefsson.org>
53598
53599         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
53600         Suggested by Bruno Haible <bruno@clisp.org>.
53601
53602 2008-04-17  Bruno Haible  <bruno@clisp.org>
53603
53604         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
53605         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
53606         implementation.
53607         Patch by Bruce Merry <bmerry@gmail.com>.
53608
53609 2008-04-17  Simon Josefsson  <simon@josefsson.org>
53610
53611         * doc/posix-functions/strftime.texi (strftime): Mention that %e
53612         doesn't work under Windows.
53613
53614 2008-04-16  Bruno Haible  <bruno@clisp.org>
53615
53616         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
53617         New macros.
53618         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
53619         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
53620         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
53621         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
53622         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
53623         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
53624         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
53625         macros.
53626         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
53627         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
53628         Northern Sotho, Uighur.
53629
53630 2008-04-16  Bruno Haible  <bruno@clisp.org>
53631
53632         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
53633         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
53634         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
53635         Reported by Daniel Bergström <daniel@octocode.com>.
53636
53637 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
53638             Bruno Haible  <bruno@clisp.org>
53639
53640         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
53641         function.
53642         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
53643         New functions, mostly extracted from gl_locale_name_default.
53644         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
53645
53646 2008-04-16  Eric Blake  <ebb9@byu.net>
53647
53648         Adjust strtod detection to catch glibc 2.7 bug.
53649         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
53650         Reported by John Gatewood Ham.
53651
53652 2008-04-16  Bruno Haible  <bruno@clisp.org>
53653
53654         Add tentative support for Linux libc5.
53655         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
53656         * lib/fpurge.c (fpurge): Likewise.
53657         * lib/freadable.c (freadable): Likewise.
53658         * lib/freadahead.c (freadahead): Likewise.
53659         * lib/freading.c (freading): Likewise.
53660         * lib/freadptr.c (freadptr): Likewise.
53661         * lib/freadseek.c (freadptrinc): Likewise.
53662         * lib/fseeko.c (rpl_fseeko): Likewise.
53663         * lib/fseterr.c (fseterr): Likewise.
53664         * lib/fwritable.c (fwritable): Likewise.
53665         * lib/fwriting.c (fwriting): Likewise.
53666         Reported by Alain Guibert <alguibert+bts@free.fr>.
53667
53668 2008-04-15  Bruno Haible  <bruno@clisp.org>
53669
53670         * modules/mathl (configure.ac): Define module indicator.
53671
53672 2008-04-15  Bruno Haible  <bruno@clisp.org>
53673
53674         * lib/logl.c (logl): Remove unused variables.
53675
53676 2008-04-15  Bruno Haible  <bruno@clisp.org>
53677
53678         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
53679         fails.
53680
53681 2008-04-15  Bruno Haible  <bruno@clisp.org>
53682
53683         * lib/trim.c (trim2): Fix argument of isspace() macro.
53684
53685 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
53686
53687         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
53688         to 0.
53689         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
53690
53691 2008-04-14  Bruno Haible  <bruno@clisp.org>
53692
53693         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
53694         AC_LANG_PROGRAM argument.
53695         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
53696         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
53697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
53698         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53699         * m4/math_h.m4 (gl_MATH_H): Likewise.
53700         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
53701         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53702         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53703         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
53704         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
53705         * m4/regex.m4 (gl_REGEX): Likewise.
53706         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
53707         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
53708         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53709         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
53710         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53711         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53712         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53713         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53714
53715 2008-04-14  Jim Meyering  <meyering@redhat.com>
53716
53717         test-strtod: fix typos: s/abs/fabs/
53718         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
53719
53720 2008-04-13  Bruno Haible  <bruno@clisp.org>
53721
53722         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
53723         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
53724         module is also used and while not building the reloc-wrapper.
53725
53726 2008-04-13  Bruno Haible  <bruno@clisp.org>
53727
53728         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
53729
53730 2008-04-13  Bruno Haible  <bruno@clisp.org>
53731
53732         Fix AIX compilation failure introduced on 2008-04-02.
53733         * tests/test-frexp.c (exp): Undefine before redefining.
53734         * tests/test-frexpl.c (exp): Likewise.
53735
53736 2008-04-13  Bruno Haible  <bruno@clisp.org>
53737
53738         Work around a HP-UX stdio bug.
53739         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
53740         * tests/test-ftello.c (main): Likewise.
53741         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
53742         * doc/posix-functions/ftello.texi: Likewise.
53743
53744 2008-04-13  Bruno Haible  <bruno@clisp.org>
53745
53746         Make test-signbit pass on HP-UX/hppa.
53747         * tests/test-signbit.c (minus_zerol): New variable.
53748         (test_signbitl): Use it.
53749
53750 2008-04-13  Bruno Haible  <bruno@clisp.org>
53751
53752         Make truncl work on OSF/1 4.0.
53753         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
53754         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53755         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
53756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
53757         HAVE_DECL_TRUNCL.
53758         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
53759         HAVE_DECL_TRUNCL.
53760         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
53761
53762 2008-04-13  Bruno Haible  <bruno@clisp.org>
53763
53764         * lib/unictype.h: Remove trailing comma from enumeration definitions.
53765
53766 2008-04-13  Bruno Haible  <bruno@clisp.org>
53767
53768         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
53769         expression, so as to avoid HP-UX 11 cc compiler bug.
53770
53771 2008-04-13  Bruno Haible  <bruno@clisp.org>
53772
53773         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
53774
53775 2008-04-13  Bruno Haible  <bruno@clisp.org>
53776
53777         * lib/git-merge-changelog.c: Remove empty declaration outside of
53778         functions.
53779
53780 2008-04-13  Bruno Haible  <bruno@clisp.org>
53781
53782         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
53783
53784 2008-04-13  Bruno Haible  <bruno@clisp.org>
53785
53786         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
53787         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
53788         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
53789         also if it exists but lacks definitions of the SHUT_* macros.
53790         * modules/sys_socket (Description): Update.
53791         Reported by Elbert Pol <e.pol@chello.nl>.
53792
53793 2008-04-13  Bruno Haible  <bruno@clisp.org>
53794
53795         * lib/localcharset.c (OS2): Don't redefine if already defined.
53796         Reported by Elbert Pol <e.pol@chello.nl>.
53797
53798 2008-04-13  Bruno Haible  <bruno@clisp.org>
53799
53800         * lib/binary-io.h [__EMX__]: Include <io.h>.
53801         Reported by Elbert Pol <e.pol@chello.nl>.
53802
53803 2008-04-12  Bruno Haible  <bruno@clisp.org>
53804
53805         * lib/fpucw.h: Enable the definitions also for x86_64.
53806         Needed for NetBSD/x86_64.
53807         Reported by Thomas Klausner <tk@giga.or.at>.
53808
53809 2008-04-12  Bruno Haible  <bruno@clisp.org>
53810
53811         * tests/test-strtod.c: Include isnand.h.
53812         (main): Use isnand instead of isnan.
53813         Reported by Jim Meyering.
53814
53815 2008-04-12  Bruno Haible  <bruno@clisp.org>
53816
53817         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
53818         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53819
53820 2008-04-12  Jim Meyering  <meyering@redhat.com>
53821
53822         * m4/math_h.m4 (gl_MATH_H): Fix typos.
53823
53824 2008-04-12  Bruno Haible  <bruno@clisp.org>
53825
53826         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
53827         Reported by Elbert Pol <e.pol@chello.nl>.
53828
53829 2008-04-12  Eric Blake  <ebb9@byu.net>
53830
53831         Work around Solaris 10 math.h bug.
53832         * m4/math_h.m4 (gl_MATH_H): Check for bug.
53833         (gl_MATH_H_DEFAULTS): Set up default.
53834         * modules/math (Makefile.am): Replace new indicators.
53835         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
53836         * tests/test-math.c (main): Test this.
53837         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
53838         * doc/posix-headers/math.texi (math.h): Mention bug.
53839         Reported by Nelson H. F. Beebe and Jim Meyering.
53840
53841 2008-04-11  Bruno Haible  <bruno@clisp.org>
53842
53843         Adapt to future versions of Apple GCC.
53844         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
53845         Reported by Peter O'Gorman <peter@pogma.com>.
53846
53847 2008-04-11  Bruno Haible  <bruno@clisp.org>
53848
53849         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
53850
53851 2008-04-11  Bruno Haible  <bruno@clisp.org>
53852
53853         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
53854
53855         * modules/getaddrinfo-tests (Makefile.am): Define
53856         test_getaddrinfo_LDADD.
53857
53858 2008-04-11  Bruno Haible  <bruno@clisp.org>
53859
53860         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
53861         (init): Fix syntax error.
53862         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
53863         is declared.
53864
53865 2008-04-11  Bruno Haible  <bruno@clisp.org>
53866
53867         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
53868         * modules/glob (Depends-on): Add stdbool.
53869
53870 2008-04-11  Bruno Haible  <bruno@clisp.org>
53871
53872         * lib/trim.c: Include <string.h>.
53873
53874 2008-04-11  Eric Blake  <ebb9@byu.net>
53875
53876         Avoid compile failure on OS/2.
53877         * lib/regex_internal.h (internal_function): Disable optimization
53878         on OS/2 (__EMX__), where it caused compiler error.
53879         Reported by Elbert Pol.
53880
53881 2008-04-11  Bruno Haible  <bruno@clisp.org>
53882
53883         Flush the standard error stream before aborting. Needed on mingw.
53884         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
53885         * tests/test-array_list.c (ASSERT): Likewise.
53886         * tests/test-array_oset.c (ASSERT): Likewise.
53887         * tests/test-avltree_list.c (ASSERT): Likewise.
53888         * tests/test-avltree_oset.c (ASSERT): Likewise.
53889         * tests/test-avltreehash_list.c (ASSERT): Likewise.
53890         * tests/test-binary-io.c (ASSERT): Likewise.
53891         * tests/test-byteswap.c (ASSERT): Likewise.
53892         * tests/test-c-ctype.c (ASSERT): Likewise.
53893         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
53894         * tests/test-c-strcasestr.c (ASSERT): Likewise.
53895         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
53896         * tests/test-c-strstr.c (ASSERT): Likewise.
53897         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
53898         * tests/test-canonicalize.c (ASSERT): Likewise.
53899         * tests/test-carray_list.c (ASSERT): Likewise.
53900         * tests/test-ceilf1.c (ASSERT): Likewise.
53901         * tests/test-ceilf2.c (ASSERT): Likewise.
53902         * tests/test-ceill.c (ASSERT): Likewise.
53903         * tests/test-count-one-bits.c (ASSERT): Likewise.
53904         * tests/test-fbufmode.c (ASSERT): Likewise.
53905         * tests/test-fflush2.c (ASSERT): Likewise.
53906         * tests/test-floorf1.c (ASSERT): Likewise.
53907         * tests/test-floorf2.c (ASSERT): Likewise.
53908         * tests/test-floorl.c (ASSERT): Likewise.
53909         * tests/test-fopen.c (ASSERT): Likewise.
53910         * tests/test-fpending.c (ASSERT): Likewise.
53911         * tests/test-fprintf-posix.c (ASSERT): Likewise.
53912         * tests/test-fpurge.c (ASSERT): Likewise.
53913         * tests/test-freadable.c (ASSERT): Likewise.
53914         * tests/test-freadahead.c (ASSERT): Likewise.
53915         * tests/test-freading.c (ASSERT): Likewise.
53916         * tests/test-freadptr.c (ASSERT): Likewise.
53917         * tests/test-freadptr2.c (ASSERT): Likewise.
53918         * tests/test-freadseek.c (ASSERT): Likewise.
53919         * tests/test-freopen.c (ASSERT): Likewise.
53920         * tests/test-frexp.c (ASSERT): Likewise.
53921         * tests/test-frexpl.c (ASSERT): Likewise.
53922         * tests/test-fseek.c (ASSERT): Likewise.
53923         * tests/test-fseeko.c (ASSERT): Likewise.
53924         * tests/test-fstrcmp.c (ASSERT): Likewise.
53925         * tests/test-ftell.c (ASSERT): Likewise.
53926         * tests/test-ftello.c (ASSERT): Likewise.
53927         * tests/test-func.c (ASSERT): Likewise.
53928         * tests/test-fwritable.c (ASSERT): Likewise.
53929         * tests/test-fwriting.c (ASSERT): Likewise.
53930         * tests/test-getdelim.c (ASSERT): Likewise.
53931         * tests/test-getline.c (ASSERT): Likewise.
53932         * tests/test-i-ring.c (ASSERT): Likewise.
53933         * tests/test-iconv-utf.c (ASSERT): Likewise.
53934         * tests/test-iconv.c (ASSERT): Likewise.
53935         * tests/test-isfinite.c (ASSERT): Likewise.
53936         * tests/test-isnand.c (ASSERT): Likewise.
53937         * tests/test-isnanf.c (ASSERT): Likewise.
53938         * tests/test-isnanl.h (ASSERT): Likewise.
53939         * tests/test-ldexpl.c (ASSERT): Likewise.
53940         * tests/test-linked_list.c (ASSERT): Likewise.
53941         * tests/test-linkedhash_list.c (ASSERT): Likewise.
53942         * tests/test-localename.c (ASSERT): Likewise.
53943         * tests/test-lseek.c (ASSERT): Likewise.
53944         * tests/test-mbscasecmp.c (ASSERT): Likewise.
53945         * tests/test-mbscasestr1.c (ASSERT): Likewise.
53946         * tests/test-mbscasestr2.c (ASSERT): Likewise.
53947         * tests/test-mbscasestr3.c (ASSERT): Likewise.
53948         * tests/test-mbscasestr4.c (ASSERT): Likewise.
53949         * tests/test-mbschr.c (ASSERT): Likewise.
53950         * tests/test-mbscspn.c (ASSERT): Likewise.
53951         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
53952         * tests/test-mbspbrk.c (ASSERT): Likewise.
53953         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
53954         * tests/test-mbsrchr.c (ASSERT): Likewise.
53955         * tests/test-mbsspn.c (ASSERT): Likewise.
53956         * tests/test-mbsstr1.c (ASSERT): Likewise.
53957         * tests/test-mbsstr2.c (ASSERT): Likewise.
53958         * tests/test-mbsstr3.c (ASSERT): Likewise.
53959         * tests/test-memchr2.c (ASSERT): Likewise.
53960         * tests/test-memmem.c (ASSERT): Likewise.
53961         * tests/test-open.c (ASSERT): Likewise.
53962         * tests/test-printf-frexp.c (ASSERT): Likewise.
53963         * tests/test-printf-frexpl.c (ASSERT): Likewise.
53964         * tests/test-printf-posix.c (ASSERT): Likewise.
53965         * tests/test-quotearg.c (ASSERT): Likewise.
53966         * tests/test-rbtree_list.c (ASSERT): Likewise.
53967         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53968         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53969         * tests/test-round1.c (ASSERT): Likewise.
53970         * tests/test-roundf1.c (ASSERT): Likewise.
53971         * tests/test-roundl.c (ASSERT): Likewise.
53972         * tests/test-signbit.c (ASSERT): Likewise.
53973         * tests/test-sleep.c (ASSERT): Likewise.
53974         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53975         * tests/test-snprintf.c (ASSERT): Likewise.
53976         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53977         * tests/test-stat-time.c (ASSERT): Likewise.
53978         * tests/test-strcasestr.c (ASSERT): Likewise.
53979         * tests/test-strerror.c (ASSERT): Likewise.
53980         * tests/test-striconv.c (ASSERT): Likewise.
53981         * tests/test-striconveh.c (ASSERT): Likewise.
53982         * tests/test-striconveha.c (ASSERT): Likewise.
53983         * tests/test-strsignal.c (ASSERT): Likewise.
53984         * tests/test-strstr.c (ASSERT): Likewise.
53985         * tests/test-strtod.c (ASSERT): Likewise.
53986         * tests/test-trunc1.c (ASSERT): Likewise.
53987         * tests/test-trunc2.c (ASSERT): Likewise.
53988         * tests/test-truncf1.c (ASSERT): Likewise.
53989         * tests/test-truncf2.c (ASSERT): Likewise.
53990         * tests/test-truncl.c (ASSERT): Likewise.
53991         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53992         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53993         * tests/test-vasnprintf.c (ASSERT): Likewise.
53994         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53995         * tests/test-vasprintf.c (ASSERT): Likewise.
53996         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53997         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53998         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53999         * tests/test-vsnprintf.c (ASSERT): Likewise.
54000         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54001         * tests/test-wcwidth.c (ASSERT): Likewise.
54002         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54003         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54004         * tests/test-xvasprintf.c (ASSERT): Likewise.
54005         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54006         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54007         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54008         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54009         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54010         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54011         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54012         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54013         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54014         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54015         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54016         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54017         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54018         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54019         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54020         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54021         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54022         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54023         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54024         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54025         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54026         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54027         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54028         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54029         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54030         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54031         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54032         * tests/unictype/test-combining.c (ASSERT): Likewise.
54033         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54034         * tests/unictype/test-digit.c (ASSERT): Likewise.
54035         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54036         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54037         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54038         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54039         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54040         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54041         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54042         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54043         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54044         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54045         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54046         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54047         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54048         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54049         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54050         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54051         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54052         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54053         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54054         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54055         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54056         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54057         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54058         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54059         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54060         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54061         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54062         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54063         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54064         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54065         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54066         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54067         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54068         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54069         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54070         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54071         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54072         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54073         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54074         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54075         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54076         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54077         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54078         Reported by Eric Blake.
54079
54080 2008-04-11  Bruno Haible  <bruno@clisp.org>
54081
54082         * lib/wchar.in.h: Tweak comment.
54083
54084 2008-04-11  Bruno Haible  <bruno@clisp.org>
54085
54086         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54087         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54088         gl_COMMON.
54089         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54090
54091 2008-04-11  Bruno Haible  <bruno@clisp.org>
54092
54093         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54094
54095 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54096
54097         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54098         of attempting to use non-existing /dev/*random.  Based on patch
54099         from Adam Strzelecki <ono@java.pl> in
54100         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54101
54102 2008-04-08  Bruno Haible  <bruno@clisp.org>
54103
54104         Add tentative support for emx+gcc.
54105         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54106         * lib/fpurge.c (fpurge): Likewise.
54107         * lib/freadable.c (freadable): Likewise.
54108         * lib/freadahead.c (freadahead): Likewise.
54109         * lib/freading.c (freading): Likewise.
54110         * lib/freadptr.c (freadptr): Likewise.
54111         * lib/freadseek.c (freadptrinc): Likewise.
54112         * lib/fseeko.c (rpl_fseeko): Likewise.
54113         * lib/fseterr.c (fseterr): Likewise.
54114         * lib/fwritable.c (fwritable): Likewise.
54115         * lib/fwriting.c (fwriting): Likewise.
54116         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54117
54118 2008-04-09  Eric Blake  <ebb9@byu.net>
54119
54120         Avoid some autoconf warnings.
54121         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54122         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54123         * m4/afs.m4 (gl_AFS): Likewise.
54124         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54125         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54126         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54127         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54128         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54129         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54130         (AC_CHECK_DECLS_ONCE): Likewise.
54131         Rename file...
54132         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54133         gnulib-tool requires autoconf 2.59 or better.
54134         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54135
54136 2008-04-08  Eric Blake  <ebb9@byu.net>
54137
54138         Use 'git describe --match' if present (added in git 1.5.5).
54139         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54140         if possible.
54141
54142 2008-04-08  Bruno Haible  <bruno@clisp.org>
54143
54144         Add tentative support for OpenServer.
54145         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54146         _ptr, _cnt.
54147         * lib/fpurge.c (fpurge): Likewise.
54148         * lib/freadable.c (freadable): Likewise.
54149         * lib/freadahead.c (freadahead): Likewise.
54150         * lib/freading.c (freading): Likewise.
54151         * lib/freadptr.c (freadptr): Likewise.
54152         * lib/freadseek.c (freadptrinc): Likewise.
54153         * lib/fseeko.c (rpl_fseeko): Likewise.
54154         * lib/fseterr.c (fseterr): Likewise.
54155         * lib/fwritable.c (fwritable): Likewise.
54156         * lib/fwriting.c (fwriting): Likewise.
54157         Reported by Roger Cornelius <rac@tenzing.org> and
54158         Brian K. White <brian@aljex.com>.
54159
54160 2008-04-06  Jim Meyering  <meyering@redhat.com>
54161
54162         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54163
54164 2008-04-06  Bruno Haible  <bruno@clisp.org>
54165
54166         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54167         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54168         * tests/test-printf-posix.sh: Likewise.
54169         * tests/test-vfprintf-posix.sh: Likewise.
54170         * tests/test-vprintf-posix.sh: Likewise.
54171         * tests/test-xprintf-posix.sh: Likewise.
54172
54173 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54174
54175         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54176         hide error from 'ls', needed on OS/2.
54177         Report by Elbert Pol <elbert.pol@gmail.com>.
54178
54179 2008-04-04  Eric Blake  <ebb9@byu.net>
54180
54181         Make test-fseeko.c failures meaningful.
54182         * tests/test-fseeko.c: Print line number on failure.
54183         * tests/test-fseek.c: Likewise.
54184         Reported by Nelson H. F. Beebe.
54185
54186         Improve strtod bug detection check.
54187         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54188         required for Solaris 10.
54189         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54190
54191 2008-04-04  Bruno Haible  <bruno@clisp.org>
54192
54193         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54194         by m4/setenv.m4.
54195
54196 2008-04-03  Eric Blake  <ebb9@byu.net>
54197
54198         Ensure sane .version contents.
54199         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54200         version string.
54201         * build-aux/git-version-gen: Improve documentation.
54202
54203         Make GNU make output nicer.
54204         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54205         MAKECMDGOALS to enforce message for all command line targets.  Set
54206         srcdir for use in maint.mk.
54207
54208         Another maintainer tweak.
54209         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54210         a target that regenerates version.
54211
54212 2008-04-03  Jim Meyering  <meyering@redhat.com>
54213
54214         vc-list-files: don't cause coreutils "make po-check" failure
54215         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54216
54217 2008-04-03  Eric Blake  <ebb9@byu.net>
54218
54219         Allow VPATH usage of vc-list-files.
54220         * build-aux/vc-list-files (scriptversion): Add timestamp.
54221         (options): Add --help, --version, -C.
54222         (CVS): Support installed cvsu.
54223
54224 2008-04-02  Bruno Haible  <bruno@clisp.org>
54225
54226         Avoid some "statement with no effect" warnings from gcc.
54227         * tests/test-wctype.c (main): Explicitly ignore unused values.
54228         Reported by Jim Meyering.
54229
54230 2008-04-02  Jim Meyering  <meyering@redhat.com>
54231
54232         Avoid some warnings from "gcc -Wshadow".
54233         * tests/test-frexp.c (exp): Define to a different identifier.
54234         * tests/test-frexpl.c (exp): Likewise.
54235
54236 2008-04-03  Jim Meyering  <meyering@redhat.com>
54237
54238         bootstrap: remove dangling *.[ch] symlinks from lib
54239         * build-aux/bootstrap [dangling symlink removal]: Move find's
54240         -depth option to precede all others, to avoid a warning.
54241         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54242
54243 2008-04-02  Bruno Haible  <bruno@clisp.org>
54244
54245         Avoid some warnings from "gcc -Wshadow".
54246         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54247         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54248         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54249         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54250         Reported by Jim Meyering.
54251
54252 2008-04-01  Bruno Haible  <bruno@clisp.org>
54253
54254         Fix test to work on IRIX 6.5 with cc.
54255         * tests/test-math.c (numeric_equal): New function.
54256         (main): Use it.
54257
54258 2008-04-01  Bruno Haible  <bruno@clisp.org>
54259
54260         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54261
54262 2008-04-01  Bruno Haible  <bruno@clisp.org>
54263
54264         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54265         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54266         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54267         (Depends-on): Remove math.
54268
54269         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54270         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54271         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54272         (Depends-on): Remove math.
54273
54274         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54275         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54276         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54277         (Depends-on): Remove math.
54278         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54279         (Depends-on): Remove math.
54280
54281         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54282         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54283         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54284         (Depends-on): Remove math.
54285         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54286         (Depends-on): Remove math.
54287
54288         * tests/test-round1.c: Include nan.h.
54289         (main): Use NaNd instead of NAN.
54290         * modules/round-tests (Files): Add tests/nan.h.
54291
54292         * tests/test-trunc1.c: Include nan.h.
54293         (main): Use NaNd instead of NAN.
54294         * modules/trunc-tests (Files): Add tests/nan.h.
54295
54296         * tests/test-roundf1.c: Include nan.h.
54297         (main): Use NaNf instead of NAN.
54298         * modules/roundf-tests (Files): Add tests/nan.h.
54299
54300         * tests/test-truncf1.c: Include nan.h.
54301         (main): Use NaNf instead of NAN.
54302         * modules/truncf-tests (Files): Add tests/nan.h.
54303
54304         * tests/test-ceilf1.c: Include nan.h.
54305         (main): Use NaNf instead of NAN.
54306         * modules/ceilf-tests (Files): Add tests/nan.h.
54307
54308         * tests/test-floorf1.c: Include nan.h.
54309         (main): Use NaNf instead of NAN.
54310         * modules/floorf-tests (Files): Add tests/nan.h.
54311
54312         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54313         (main): Use NaNf instead of NAN.
54314         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54315
54316         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54317         (main): Use NaNd instead of NAN.
54318         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54319
54320         * tests/test-frexp.c: Include nan.h.
54321         (main): Use NaNd instead of NAN.
54322         * modules/frexp-tests (Files): Add tests/nan.h.
54323
54324         * lib/isnan.c: Don't include <math.h>.
54325         (FUNC): Don't use NAN macro.
54326         * modules/isnand-nolibm (Depends-on): Remove math.
54327         * modules/isnanf-nolibm (Depends-on): Remove math.
54328         * modules/isnanl (Depends-on): Remove math.
54329         * modules/isnanl-nolibm (Depends-on): Remove math.
54330
54331         * tests/nan.h: New file.
54332
54333 2008-04-01  Eric Blake  <ebb9@byu.net>
54334
54335         Fix typos.
54336         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
54337         values to be the right type.
54338
54339         For now, cater to gnulib strtod inaccuracies.
54340         * tests/test-strtod.c (main): Allow 1-ulp error on expected
54341         fractional results.  While not as nice from a QoI perspective, it
54342         is a quicker patch than correctly implementing decimal to binary
54343         rounding.
54344
54345 2008-03-31  Eric Blake  <ebb9@byu.net>
54346
54347         Guarantee a definition of NAN.
54348         * lib/math.in.h (NAN): Define if missing.
54349         * tests/test-math.c (main): Test it.
54350         * doc/posix-headers/math.texi (math.h): Document this.
54351         * lib/isnan.c (rpl_isnand): Use it.
54352         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
54353         * tests/test-floorf1.c (NaN): Likewise.
54354         * tests/test-frexp.c (NaN): Likewise.
54355         * tests/test-isnand.c (NaN): Likewise.
54356         * tests/test-isnanf.c (NaN): Likewise.
54357         * tests/test-round1.c (NaN): Likewise.
54358         * tests/test-roundf1.c (NaN): Likewise.
54359         * tests/test-snprintf-posix.h (NaN): Likewise.
54360         * tests/test-sprintf-posix.h (NaN): Likewise.
54361         * tests/test-trunc1.c (NaN): Likewise.
54362         * tests/test-truncf1.c (NaN): Likewise.
54363         * tests/test-vasnprintf-posix.c (NaN): Likewise.
54364         * tests/test-vasprintf-posix.c (NaN): Likewise.
54365         * modules/isnand-nolibm (Depends-on): Add math.
54366         * modules/isnanf-nolibm (Depends-on): Likewise.
54367         * modules/isnanl (Depends-on): Likewise.
54368         * modules/isnanl-nolibm (Depends-on): Likewise.
54369         * modules/snprintf-posix-tests (Depends-on): Likewise.
54370         * modules/sprintf-posix-tests (Depends-on): Likewise.
54371         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
54372         * modules/vsprintf-posix-tests (Depends-on): Likewise.
54373         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
54374         * modules/vasprintf-posix-tests (Depends-on): Likewise.
54375
54376 2008-03-31  Bruno Haible  <bruno@clisp.org>
54377
54378         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
54379         * doc/posix-functions/strtod.texi: Likewise.
54380
54381 2008-03-31  Bruno Haible  <bruno@clisp.org>
54382
54383         * tests/test-strtod.c (main): Don't use C99 syntax.
54384
54385 2008-03-31  Bruno Haible  <bruno@clisp.org>
54386
54387         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
54388         Reported by Eric Blake.
54389
54390 2008-03-31  Jim Meyering  <meyering@redhat.com>
54391
54392         Don't compare actual signbit return values.
54393         * tests/test-strtod.c (main): Rather, compare only their
54394         zero/non-zero nature.
54395
54396 2008-03-31  Eric Blake  <ebb9@byu.net>
54397
54398         More strtod documentation.
54399         * doc/posix-functions/strtod.texi (strtod): Interpret more test
54400         failures as distinct bugs.
54401
54402 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54403
54404         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
54405         Problem reported by Erik Benada in
54406         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
54407
54408 2008-03-30  Bruno Haible  <bruno@clisp.org>
54409
54410         * tests/test-strtod.c: Add comments about which assertion fails on which
54411         platform.
54412         * doc/posix-functions/strtod.texi: Add info about many more platforms.
54413
54414 2008-03-30  Eric Blake  <ebb9@byu.net>
54415
54416         Test signbit behavior on zeros.
54417         * tests/test-signbit.c (test_signbitf): Add tests for zero.
54418         (test_signbitd, test_signbitl): Likewise.
54419
54420         More strtod touchups.
54421         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
54422         sign of negative underflow, for now.  Use .5, not .1.
54423         * doc/posix-functions/strtod.texi (strtod): Mention these
54424         limitations.
54425         Reported by Jim Meyering.
54426
54427 2008-03-30  Bruno Haible  <bruno@clisp.org>
54428
54429         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
54430         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
54431
54432 2008-03-30  Bruno Haible  <bruno@clisp.org>
54433
54434         Avoid failure when attempting to return empty iconv results on some
54435         platforms.
54436         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
54437         allocation, don't report ENOMEM when the resulting string is empty.
54438
54439 2008-03-30  Bruno Haible  <bruno@clisp.org>
54440
54441         Fix buffer overrun.
54442         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
54443         Don't consider the width for tmp_length. Check count against tmp_length
54444         before doing the padding. Ensure enough allocation during padding.
54445
54446 2008-03-30  Eric Blake  <ebb9@byu.net>
54447
54448         strtod touchups.
54449         * lib/strtod.c (strtod): Avoid compiler warnings.
54450         Reported by Jim Meyering.
54451
54452 2008-03-30  Bruno Haible  <bruno@clisp.org>
54453
54454         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
54455         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
54456         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
54457         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
54458         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
54459         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
54460         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
54461         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
54462
54463         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
54464         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
54465         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
54466         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
54467         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
54468         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
54469         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
54470         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
54471
54472         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
54473         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
54474         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
54475         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
54476         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
54477         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
54478         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
54479         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
54480
54481         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
54482         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
54483
54484         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
54485         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
54486
54487         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
54488         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
54489
54490         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
54491         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
54492         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
54493
54494         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
54495         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
54496         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
54497
54498         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
54499         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
54500         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
54501
54502         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
54503         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
54504         * modules/vasprintf (Depends-on): Add EOVERFLOW.
54505
54506         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
54507         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
54508         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
54509         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
54510         (Depends-on): Add EOVERFLOW.
54511         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
54512         (Depends-on): Add EOVERFLOW.
54513         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54514         (Depends-on): Add EOVERFLOW.
54515         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
54516         (Depends-on): Add EOVERFLOW.
54517         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54518         (Depends-on): Add EOVERFLOW.
54519         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
54520         (Depends-on): Add EOVERFLOW.
54521         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54522         (Depends-on): Add EOVERFLOW.
54523         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
54524         (Depends-on): Add EOVERFLOW.
54525
54526         * lib/sprintf.c (EOVERFLOW): Remove fallback.
54527         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
54528         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
54529
54530         * lib/snprintf.c (EOVERFLOW): Remove fallback.
54531         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
54532         * modules/snprintf (Depends-on): Add EOVERFLOW.
54533
54534         * lib/poll.c (EOVERFLOW): Remove fallback.
54535         * modules/poll (Depends-on): Add EOVERFLOW.
54536
54537         * lib/getugroups.c (EOVERFLOW): Remove fallback.
54538         * modules/getugroups (Depends-on): Add EOVERFLOW.
54539
54540         * lib/getdelim.c (EOVERFLOW): Remove fallback.
54541         * modules/getdelim (Depends-on): Add EOVERFLOW.
54542
54543         * lib/ftell.c (EOVERFLOW): Remove fallback.
54544         * modules/ftell (Depends-on): Add EOVERFLOW.
54545
54546         * lib/fprintf.c (EOVERFLOW): Remove fallback.
54547         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
54548         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
54549
54550         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
54551
54552         * modules/EOVERFLOW-tests: New file.
54553         * tests/test-EOVERFLOW.c: New file.
54554
54555         * modules/EOVERFLOW: New file.
54556         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
54557
54558 2008-03-30  Bruno Haible  <bruno@clisp.org>
54559
54560         Fix bug introduced on 2007-06-10.
54561         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
54562         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
54563
54564 2008-03-30  Bruno Haible  <bruno@clisp.org>
54565
54566         Improve freadseek's efficiency after ungetc.
54567         * lib/freadseek.c: Include freadahead.h.
54568         (freadptrinc): New function, extracted from freadseek.
54569         (freadseek): Use it in a loop. Use freadahead to determine the number
54570         of loop iterations.
54571         * modules/freadseek (Depends-on): Add freadahead.
54572         (configure.ac): Require AC_C_INLINE.
54573
54574 2008-03-30  Bruno Haible  <bruno@clisp.org>
54575
54576         * lib/freadseek.c (freadseek): Don't ignore the return value of
54577         freadptr.
54578
54579 2008-03-29  Eric Blake  <ebb9@byu.net>
54580
54581         Add hex float support.
54582         * modules/strtod (Depends-on): Add c-ctype.
54583         (Link): Mention POW_LIB.
54584         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
54585         whitespace between 'e' and exponent.
54586         * tests/test-strtod.c (main): Enable hex float tests.
54587         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
54588         now provides.
54589
54590         Document various strtod bugs, with some fixes.
54591         * doc/posix-functions/strtod.texi (strtod): Document bugs with
54592         "-0x", "inf", "nan", and hex constants.
54593         * doc/posix-functions/atof.texi (atof): Likewise.
54594         * modules/stdlib (Makefile.am): Support strtod.
54595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
54596         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
54597         detect additional strtod bugs.
54598         * lib/stdlib.in.h (rpl_strtod): Add declarations.
54599         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
54600         bool where appropriate.  Parse 'inf' and 'nan'.
54601         * tests/test-strtod.c: New file.
54602         * modules/strtod (Depends-on): Add stdbool, stdlib.
54603         (configure.ac): Turn on module indicator.
54604         * modules/strtod-tests: New module.
54605
54606 2008-03-29  Eric Blake  <ebb9@byu.net>
54607
54608         Fix ftell on mingw.
54609         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
54610         * modules/ftell-tests (Depends-on): Add binary-io.
54611         * modules/ftello-tests (Depends-on): Likewise.
54612         * tests/test-ftell.c (main): Enhance test to cover behavior after
54613         ungetc.  Enforce binary mode.
54614         * tests/test-ftello.c (main): Likewise.
54615
54616         Pass test-freadseek on cygwin.
54617         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
54618         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
54619         ungetc buffer.
54620
54621         * tests/test-fflush2.c (main): Fix typo.
54622
54623 2008-03-29  Bruno Haible  <bruno@clisp.org>
54624
54625         * tests/test-fflush2.c (main): Temporarily disable the contents of
54626         this test.
54627         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
54628         Reported by Eric Blake.
54629
54630 2008-03-28  Simon Josefsson  <simon@josefsson.org>
54631
54632         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
54633         (GC_SHA224_DIGEST_SIZE): Add.
54634
54635         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
54636         (gc_hash_digest_length): Likewise.
54637         (gc_hash_buffer): Likewise.
54638
54639 2008-03-25  Bruno Haible  <bruno@clisp.org>
54640
54641         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
54642         detail which gettext release to use.
54643         Reported by Simon Josefsson.
54644
54645 2008-03-26  Jim Meyering  <meyering@redhat.com>
54646
54647         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
54648         * modules/gnumakefile (clean-GNUmakefile): Also, use
54649         test ... && ... || : syntax rather than if-then ... fi.
54650
54651         gnumakefile: Don't double-quote-expand $(VPATH) value.
54652         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
54653
54654 2008-03-24  Eric Blake  <ebb9@byu.net>
54655
54656         Alter GNUmakefile to install into top directory.
54657         * modules/maintainer-makefile: Split, and add dependency...
54658         * modules/gnumakefile: to this new module.
54659         * build-aux/GNUmakefile: Move...
54660         * top/GNUmakefile: ...here.
54661         * build-aux/maint.mk: Move...
54662         * top/maint.mk: ...here.
54663         * MODULES.html.sh (Support for maintaining...): Document new
54664         module.
54665
54666 2008-03-23  Bruno Haible  <bruno@clisp.org>
54667
54668         * gnulib-tool: New options --vc-files, --no-vc-files.
54669         (func_usage): Document them.
54670         (vc_files): New variable.
54671         (func_import): Consider vc_files.
54672         (func_create_testdir): Set vc_files to empty.
54673         Suggested by Jim Meyering and Karl Berry.
54674
54675 2008-03-23  Bruno Haible  <bruno@clisp.org>
54676
54677         Fix regex compilation error on HP-UX 11.
54678         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
54679         * modules/regex (Files): Add m4/mbstate_t.m4.
54680         Reported by Ton Voon <ton.voon@altinity.com>.
54681
54682 2008-03-23  Bruno Haible  <bruno@clisp.org>
54683
54684         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
54685
54686 2008-03-23  Eric Blake  <ebb9@byu.net>
54687             Bruno Haible  <bruno@clisp.org>
54688
54689         Install files from top/ in the destination directory.
54690         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54691         augmentation also for the files from top/.
54692         (func_import, func_create_testdir): Rewrite file names:
54693         top/filename -> filename.
54694
54695 2008-03-23  Bruno Haible  <bruno@clisp.org>
54696
54697         Tweak "gnulib --version" output.
54698         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
54699
54700 2008-03-23  Bruno Haible  <bruno@clisp.org>
54701
54702         Tweak "gnulib --version" output.
54703         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
54704         rather than contents of ChangeLog, when possible.
54705
54706 2008-03-21  Eric Blake  <ebb9@byu.net>
54707
54708         More --version tweaks.
54709         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
54710         date of last ChangeLog entry.
54711
54712 2008-03-21  Jim Meyering  <meyering@redhat.com>
54713
54714         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
54715
54716 2008-03-20  Eric Blake  <ebb9@byu.net>
54717
54718         VPATH fix.
54719         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
54720
54721 2008-03-20  Simon Josefsson  <simon@josefsson.org>
54722
54723         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
54724         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
54725
54726 2008-03-20  Eric Blake  <ebb9@byu.net>
54727
54728         Sync GNUmakefile with coreutils.
54729         * build-aux/GNUmakefile (have-Makefile): Rename...
54730         (_have-Makefile): ...to this, for namespace consideration.
54731         (GNUmakefile.cfg): Include, if present.
54732         (_autoreconf): Define a default.
54733         (_is-dist-target): New rule for rebuilds to pick up intra-release
54734         version.
54735         (maint-cfg.mk): Rename...
54736         (cfg.mk): ...to this.
54737
54738 2008-03-18  Jim Meyering  <meyering@redhat.com>
54739
54740         New script and module: mktempd
54741         * MODULES.html.sh (maint+release support): Add mktempd.
54742         * build-aux/mktempd: New file.
54743         * modules/mktempd: New file.
54744
54745 2008-03-15  Jim Meyering  <meyering@redhat.com>
54746
54747         Undo last change.
54748         * lib/sha1.c, lib/md5.c: 63 != ~63.
54749         Reported by Andreas Schwab.
54750
54751         sha1.c, md5.c: Hoist a redundant expression.
54752         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
54753         "ctx->buflen" only once, before calling *_process_block.
54754         * lib/md5.c (md5_process_bytes): Likewise.
54755
54756 2008-03-14  Eric Blake  <ebb9@byu.net>
54757
54758         Bump copyright year in files generated by gnulib-tool.
54759         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
54760         gnulib-tool, rather than hard-coding it.
54761
54762         Fix 'gnulib-tool --version' output to work with git.
54763         * gnulib-tool (func_gnulib_dir): New function, extracted from...
54764         (startup): ...here.
54765         (func_version): Use it to invoke git-version-gen, rather than
54766         relying on CVS keyword expansion.  Modernize wording.
54767         (cvsdatestamp, last_checkin_date, version): Kill unused
54768         variables.
54769
54770 2008-03-12  Jim Meyering  <meyering@redhat.com>
54771
54772         Recognize optional cast of the argument to free.
54773         * build-aux/useless-if-before-free: Update regexps.
54774
54775         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
54776
54777 2008-03-11  Bruno Haible  <bruno@clisp.org>
54778
54779         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
54780         by a single package.
54781         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
54782         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
54783         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
54784         Reported by Sam Steingold <sds@gnu.org>.
54785
54786 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54787
54788         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
54789         repositories.
54790
54791 2008-03-11  Bruno Haible  <bruno@clisp.org>
54792
54793         Avoid conflicts between local macro definitions.
54794         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54795         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
54796
54797 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
54798             Bruno Haible  <bruno@clisp.org>
54799
54800         Make va_copy work with some version of xlc on AIX 5.1.
54801         * lib/stdarg.in.h: New file.
54802         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
54803         On AIX, use a <stdarg.h> file substitute.
54804         * modules/stdarg (Files): Add lib/stdarg.in.h.
54805         (Depends-on): Add include_next.
54806         (Makefile.am): Build a stdarg.h substitute if requested.
54807         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
54808
54809 2008-03-10  Bruno Haible  <bruno@clisp.org>
54810
54811         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
54812         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54813         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54814
54815 2008-03-10  Bruno Haible  <bruno@clisp.org>
54816
54817         * modules/stdlib (Depends-on): Add include_next, remove
54818         absolute-header.
54819
54820 2008-03-09  Bruno Haible  <bruno@clisp.org>
54821
54822         * lib/freadahead.h (freadahead): Document more precisely.
54823         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
54824         the sum of both buffer sizes.
54825         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
54826         * NEWS: Document the change.
54827
54828 2008-03-09  Bruno Haible  <bruno@clisp.org>
54829
54830         Extend freadptr to return also the buffer size.
54831         * lib/freadptr.h (freadptr): Add sizep argument.
54832         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
54833         (freadptr): Add sizep argument. Determine buffer size like freadahead
54834         does.
54835         * tests/test-freadptr.c: Don't include freadahead.h.
54836         (main): Adapt for new calling convention of freadptr.
54837         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
54838         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
54839         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
54840         tests/test-freadptr2.sh.
54841         (Depends): Remove freadahead.
54842         (TESTS): Add test-freadptr2.sh.
54843         (check_PROGRAMS): Add test-freadptr2.
54844
54845 2008-03-09  Bruno Haible  <bruno@clisp.org>
54846
54847         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
54848         Report and solution by Simon Josefsson.
54849
54850 2008-03-06  Bruno Haible  <bruno@clisp.org>
54851
54852         Make fflush after ungetc work on BSD platforms.
54853         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
54854         * tests/test-fflush2.c: New file.
54855         * tests/test-fflush2.sh: New file.
54856         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
54857         tests/test-fflush2.c.
54858         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
54859         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
54860
54861 2008-03-06  Eric Blake  <ebb9@byu.net>
54862
54863         Likewise for ftello.
54864         * modules/ftello (Dependencies): Add extensions.
54865         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
54866
54867 2008-03-06  Bruno Haible  <bruno@clisp.org>
54868
54869         * modules/fseeko (Dependencies): Add extensions.
54870         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
54871         Needed on glibc systems.
54872
54873 2008-03-06  Bruno Haible  <bruno@clisp.org>
54874
54875         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
54876         email address.
54877         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54878
54879 2008-03-06  Bruno Haible  <bruno@clisp.org>
54880
54881         * users.txt: Add libgnupdf.
54882
54883 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54884
54885         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
54886         (Header File Substitutes, Function Substitutes,
54887         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
54888         (Build robot for gnulib): Fix typo.
54889
54890 2008-03-06  Bruno Haible  <bruno@clisp.org>
54891
54892         * doc/gnulib-tool.texi (VCS Issues): Small updates.
54893         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54894
54895 2008-03-06  Bruno Haible  <bruno@clisp.org>
54896
54897         * doc/func.texi: New file, extracted from doc/gnulib.texi.
54898         * doc/gnulib.texi: Include it.
54899
54900 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54901
54902         * modules/func (License): Change license to unlimited; there was
54903         no LGPL parts in the module anyway.
54904
54905 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54906
54907         * modules/__func__: Renamed to modules/func.
54908         * modules/__func__-tests: Renamed to modules/func-tests.
54909         * tests/test-__func__.c: Renamed to tests/test-func.c.
54910         * m4/__func__.m4: Renamed to m4/func.m4.
54911         * doc/gnulib.texi (__func__): Section renamed to func.
54912         Suggested by Eric Blake <ebb9@byu.net>.
54913
54914 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54915
54916         * doc/gnulib.texi (__func__): Use C99 terminology when talking
54917         about __func__.  Make example self-contained.  Suggested by Eric
54918         Blake <ebb9@byu.net>.
54919
54920         * tests/test-__func__.c (main): Avoid extraneous () around __func.
54921         Suggested by Eric Blake <ebb9@byu.net>.
54922
54923 2008-03-06  Simon Josefsson  <simon@josefsson.org>
54924
54925         * modules/__func__: New file.
54926         * modules/__func__-tests: New file.
54927         * tests/test-__func__.c: New file.
54928         * m4/__func__.m4: New file.
54929         * doc/gnulib.texi (__func__): Document __func__ module.
54930
54931 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54932
54933         * modules/byteswap (License): Re-license as LGPLv2+.
54934
54935 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54936
54937         * doc/Makefile: Add pdf target.
54938
54939 2008-03-05  Simon Josefsson  <simon@josefsson.org>
54940
54941         * modules/inline (License): Use 'unlimited', since there are only
54942         *.m4 files in this module.
54943
54944 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54945             Bruno Haible  <bruno@clisp.org>
54946
54947         Add support for HP C 7.1 on OpenVMS 8.3.
54948         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
54949
54950 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
54951
54952         Update VMS specifics.
54953         * lib/getopt.c [VMS]: Remove include of unixlib.h.
54954
54955 2008-03-02  Jim Meyering  <meyering@redhat.com>
54956
54957         Remove the last dependency on the "free" module.
54958         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
54959         Reported by Bob Proulx.
54960
54961         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
54962
54963         Remove useless "if" tests before free.  Deprecate "free" module.
54964         * doc/posix-functions/free.texi: Mention that this
54965         module is no longer useful.
54966         * modules/free (Notice): Say this module is obsolete.
54967         * modules/readutmp (Depends-on): Remove free.
54968         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54969         * lib/putenv.c (putenv): Likewise.
54970         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54971         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54972         * tests/test-c-strcasestr.c (main): Likewise.
54973         * tests/test-c-strstr.c (main): Likewise.
54974         * tests/test-mbscasestr1.c (main): Likewise.
54975         * tests/test-mbscasestr2.c (main): Likewise.
54976         * tests/test-mbsstr1.c (main): Likewise.
54977         * tests/test-mbsstr2.c (main): Likewise.
54978         * tests/test-memmem.c (main): Likewise.
54979         * tests/test-strcasestr.c (main): Likewise.
54980         * tests/test-striconv.c (main): Likewise.
54981         * tests/test-striconveh.c (main): Likewise.
54982         * tests/test-striconveha.c (main): Likewise.
54983         * tests/test-strstr.c (main): Likewise.
54984
54985         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54986
54987         bootstrap: sync from coreutils again
54988         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54989
54990 2008-03-01  Jim Meyering  <meyering@redhat.com>
54991
54992         bootstrap: sync from coreutils
54993         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54994         also when the target doesn't exist.
54995
54996 2008-03-01  Eric Blake  <ebb9@byu.net>
54997
54998         Fix bugs in last patch.
54999         * lib/memchr2.c (memchr2): Fix typo.
55000         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55001         extension.
55002         Reported by Bruce Korb.
55003
55004         New module 'memchr2'.
55005         * modules/memchr2: New file.
55006         * modules/memchr2-tests: Likewise.
55007         * lib/memchr2.h: Likewise.
55008         * lib/memchr2.c: Likewise, based on memchr.c.
55009         * tests/test-memchr2.c: New test.
55010         * MODULES.html.sh (String handling): Add memchr2.
55011
55012 2008-02-29  Bruno Haible  <bruno@clisp.org>
55013
55014         * modules/freadseek-tests: New file.
55015         * tests/test-freadseek.sh: New file.
55016         * tests/test-freadseek.c: New file.
55017
55018         New module 'freadseek'.
55019         * modules/freadseek: New file.
55020         * lib/freadseek.h: New file.
55021         * lib/freadseek.c: New file.
55022         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55023
55024 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55025
55026         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55027         wydawca.
55028
55029         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55030         program_invocation_name and program_invocation_short_name are
55031         present.
55032
55033 2008-02-28  Bruno Haible  <bruno@clisp.org>
55034
55035         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55036         * tests/test-freadptr.sh: Also test non-seekable stdin.
55037
55038 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55039
55040         * build-aux/bootstrap (source_base, m4_base)
55041         (doc_base, tests_base): New variables.
55042         (gnulib_tool_options): Do not hardcode base directories, use
55043         the above variables instead.
55044
55045 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55046
55047         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55048
55049 2008-02-28  Bruno Haible  <bruno@clisp.org>
55050
55051         * modules/freadptr-tests: New file.
55052         * tests/test-freadptr.sh: New file.
55053         * tests/test-freadptr.c: New file.
55054
55055         New module 'freadptr'.
55056         * modules/freadptr: New file.
55057         * lib/freadptr.h: New file.
55058         * lib/freadptr.c: New file.
55059         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55060
55061 2008-02-26  Karl Berry  <karl@freefriends.org>
55062
55063         Sync from Libtool:
55064         * libltdl/argz.c (argz_add, argz_count): New functions.
55065         * libltdl/argz.in.h: Declare them.
55066         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55067
55068 2008-02-22  Bruno Haible  <bruno@clisp.org>
55069
55070         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55071         is a pointer type.  Needed for HP-UX 10.
55072         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55073         * doc/posix-functions/gmtime_r.texi: Likewise.
55074         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55075
55076 2008-02-24  Bruno Haible  <bruno@clisp.org>
55077
55078         * modules/environ-tests: New file.
55079         * tests/test-environ.c: New file.
55080
55081         New module 'environ'.
55082         * modules/environ: New file.
55083         * lib/unistd.in.h (environ): New declaration.
55084         * m4/environ.m4: New file.
55085         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55086         after use.
55087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55088         HAVE_DECL_ENVIRON.
55089         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55090         HAVE_DECL_ENVIRON.
55091         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55092         wrong claim that 'environ' is missing on some systems.
55093         * modules/execute (Depends-on): Add environ.
55094         * lib/execute.c (environ): Remove fallback declaration.
55095         * modules/pipe (Depends-on): Add environ.
55096         * lib/pipe.c (environ): Remove fallback declaration.
55097         * modules/setenv (Depends-on): Add environ.
55098         * lib/setenv.c (environ): Remove fallback declaration.
55099         * modules/unsetenv (Depends-on): Add environ.
55100         * lib/unsetenv.c (environ): Remove fallback declaration.
55101         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55102         m4/environ.m4.
55103         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55104         (gl_PREREQ_UNSETENV): Likewise.
55105
55106 2008-02-24  Bruno Haible  <bruno@clisp.org>
55107
55108         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55109
55110 2008-02-20  Bob Proulx  <bob@proulx.com>
55111
55112         Enable use of older two part flavor 'git describe'.
55113         * build-aux/git-version-gen: If using the older two part flavor of
55114         git version then recreate the third part now present in the
55115         newer three part flavor of git describe.
55116
55117 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55118
55119         * lib/fts.c (fts_build): Typo correction to comment.
55120
55121 2008-02-17  Bruno Haible  <bruno@clisp.org>
55122
55123         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55124         generating no-op conflicts.
55125
55126 2008-02-17  Bruno Haible  <bruno@clisp.org>
55127
55128         Speed up by 10%.
55129         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55130         result_entries, rather than an index-based loop.
55131
55132 2008-02-17  Bruno Haible  <bruno@clisp.org>
55133
55134         Speed up by 25%.
55135         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55136         'hashcode_cached'.
55137         (entry_create): New function.
55138         (entry_hashcode): Use the cached hashcode if possible.
55139         (read_changelog_file, try_split_merged_entry): Use entry_create.
55140
55141 2008-02-17  Bruno Haible  <bruno@clisp.org>
55142
55143         Speed up from O(n^2) to O(n) for long ChangeLog files.
55144         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55145         (read_changelog_file): Change implementation of entries_reversed list
55146         to rbtreehash.
55147         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55148
55149 2008-02-17  Bruno Haible  <bruno@clisp.org>
55150
55151         New option --split-merged-entry.
55152         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55153         (find_paragraph_end, try_split_merged_entry): New functions.
55154         (long_options): Add option --split-merged-entry.
55155         (usage): Document option --split-merged-entry.
55156         (main): Implement option --split-merged-entry.
55157         Reported by Eric Blake.
55158
55159 2008-02-17  Bruno Haible  <bruno@clisp.org>
55160
55161         * lib/git-merge-changelog.c: Include c-strstr.h.
55162         (main): Support the "git pull --rebase" situation.
55163         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55164         Reported by Eric Blake.
55165
55166 2008-02-16  Eric Blake  <ebb9@byu.net>
55167
55168         Avoid doubling \ in common case of "c-maybe" quoting style.
55169         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55170         eliding outer quotes.
55171         * lib/quotearg.h: Document this.
55172         * tests/test-quotearg.c (result_strings, inputs, results_g)
55173         (flag_results, locale_results): Test it by adding a new string to
55174         each test group.
55175         (compare_strings): Test new string.
55176
55177 2008-02-13  Eric Blake  <ebb9@byu.net>
55178
55179         Avoid trigraph quoting in default output.
55180         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55181         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55182         unless explicitly requested.
55183         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55184
55185 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55186
55187         Don't rely on signed integer overflowing to negative value.
55188         * lib/getugroups.c (getugroups): Include <limits.h>.
55189         Instead, compare against INT_MAX, and increment only if the test passes.
55190
55191 2008-02-13  Jim Meyering  <meyering@redhat.com>
55192         and Eric Blake  <ebb9@byu.net>
55193
55194         Avoid shadowing warning and compile errors on Linux.
55195         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55196         forwarding macros on Linux.
55197         (dcgettext): Define a stub, for Linux.
55198         (results_g, main): Avoid warnings.
55199
55200 2008-02-12  Eric Blake  <ebb9@byu.net>
55201
55202         Silence warning in last patch.
55203         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55204
55205         Quotearg part 4: add tests, fix c-maybe colon quoting.
55206         * lib/quotearg.h: Improve documentation.
55207         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55208         escapes when adding outer quotes.  When quoting trigraphs, use
55209         valid C notation.  When quoting NUL, omit extra characters if next
55210         character is not digit.  Alter prototype.
55211         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55212         callers.
55213         * modules/quotearg-tests: New module.
55214         * tests/test-quotearg.c: New test.
55215
55216 2008-02-07  Eric Blake  <ebb9@byu.net>
55217
55218         Quotearg part 3: add flag to control outer quote elision.
55219         * lib/quotearg.h (c_maybe_quoting_style): New style.
55220         (enum quoting_flags): Better documentation of flags.
55221         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55222         c-maybe style.
55223         (quotearg_buffer_restyled): Handle new flag to elide outer
55224         quotes.
55225
55226         Quotearg part 2: add flag that can control NUL elision.
55227         * lib/quotearg.h (set_quoting_flags): New prototype.
55228         * lib/quotearg.c (struct quoting_options): Add flag field.
55229         (set_quoting_flags): New function.
55230         (quotearg_buffer_restyled): Add flags parameter.
55231         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55232         (quotearg_n_options): Set the flag, since length cannot be
55233         returned.
55234         (quoting_options_from_style): Default flags correctly.
55235
55236         Quotearg part 1: more wrappers, restore quotearg_char state.
55237         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55238         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55239         (quotearg_colon_mem): New wrappers.
55240         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55241         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55242         functions.
55243         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55244         (quotearg_colon_mem): New functions.
55245
55246 2008-02-11  Bruno Haible  <bruno@clisp.org>
55247
55248         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55249         library in the current directory: it does not work with parallel make.
55250         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55251
55252 2008-02-11  Bruno Haible  <bruno@clisp.org>
55253
55254         * .gitattributes: New file.
55255
55256 2008-02-11  Jim Meyering  <meyering@redhat.com>
55257
55258         useless-if-before-free: Fix reversed exit values.
55259         * build-aux/useless-if-before-free: Use correct values
55260         for EXIT_MATCH and EXIT_NO_MATCH.
55261
55262         * build-aux/useless-if-before-free: Close stdout carefully.
55263
55264 2008-02-10  Bruno Haible  <bruno@clisp.org>
55265
55266         New module 'git-merge-changelog'.
55267         * modules/git-merge-changelog: New file.
55268         * lib/git-merge-changelog.c: New file.
55269
55270 2008-02-10  Jim Meyering  <meyering@redhat.com>
55271
55272         useless-if-before-free: New option: --list (-l).
55273
55274         useless-if-before-free: Don't exit immediately upon open failure.
55275         * build-aux/useless-if-before-free: Exit 2 for errors.
55276         Upon failure to open a file, don't exit immediately.
55277         Rather, just warn and continue with any remaining files.
55278
55279 2008-02-10  Bruno Haible  <bruno@clisp.org>
55280
55281         New abstract list operation 'node_set_value'.
55282         * lib/gl_list.h (gl_list_node_set_value): New function.
55283         (struct gl_list_implementation): New field node_set_value.
55284         * lib/gl_list.c (gl_list_node_set_value): New function.
55285         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55286         (gl_array_list_implementation): Update.
55287         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55288         (gl_carray_list_implementation): Update.
55289         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55290         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55291         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55292         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55293         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55294         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55295         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55296         Update.
55297         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55298         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55299         (gl_sublist_list_implementation): Update.
55300
55301 2008-02-10  Bruno Haible  <bruno@clisp.org>
55302
55303         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55304         Needed when ELEMENT is #defined to 'some_type *'.
55305
55306 2008-02-10  Jim Meyering  <meyering@redhat.com>
55307
55308         New script and module: useless-if-before-free
55309         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55310         * build-aux/useless-if-before-free: New file.
55311         * modules/useless-if-before-free: New file.
55312
55313         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55314
55315         xstrtol_error: Fix typo.
55316         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55317         s/exit_failure/exit_status/.
55318
55319 2008-02-09  Jim Meyering  <meyering@redhat.com>
55320
55321         New script and module: gitlog-to-changelog
55322         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55323         * modules/gitlog-to-changelog: New file.
55324         * build-aux/gitlog-to-changelog: New file.
55325
55326 2008-02-08  Jim Meyering  <meyering@redhat.com>
55327
55328         Avoid two "parameter unused" warnings.
55329         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55330         Mark "st" as used.
55331
55332         Use "git COMMAND", not "git-COMMAND".
55333         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
55334         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
55335         * build-aux/git-version-gen: Use "git status", not "git-status".
55336
55337 2008-02-07  Bruno Haible  <bruno@clisp.org>
55338
55339         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
55340         Avoids a crash on Windows Vista.
55341         Reported by Adam Strzelecki <ono@java.pl> via
55342         Simon Josefsson <simon@josefsson.org>.
55343
55344 2008-02-06  Bruno Haible  <bruno@clisp.org>
55345
55346         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
55347         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
55348         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
55349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
55350         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55351         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55352         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
55353         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
55354         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55355         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55356         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55357         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55358         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55359         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55360         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55361         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
55362         left-adjust flag.
55363         * tests/test-snprintf-posix.h (test_function): Likewise.
55364         * tests/test-sprintf-posix.h (test_function): Likewise.
55365         * tests/test-vasprintf-posix.c (test_function): Likewise.
55366         * doc/posix-functions/fprintf.texi: Update.
55367         * doc/posix-functions/printf.texi: Update.
55368         * doc/posix-functions/snprintf.texi: Update.
55369         * doc/posix-functions/sprintf.texi: Update.
55370         * doc/posix-functions/vfprintf.texi: Update.
55371         * doc/posix-functions/vprintf.texi: Update.
55372         * doc/posix-functions/vsnprintf.texi: Update.
55373         * doc/posix-functions/vsprintf.texi: Update.
55374         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55375
55376 2008-02-06  Bruno Haible  <bruno@clisp.org>
55377
55378         Fix bug introduced on 2008-01-26.
55379         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
55380
55381 2008-02-06  Bruno Haible  <bruno@clisp.org>
55382
55383         Fix bug introduced on 2007-06-10.
55384         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
55385         !NEED_PRINTF_FLAG_ZERO.
55386
55387 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
55388
55389         getloadavg: use libperfstat on AIX5
55390         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
55391
55392 2008-02-03  Bruno Haible  <bruno@clisp.org>
55393
55394         * lib/diffseq.h: Add comments about required #includes.
55395         Reported by Michael Biggs <gnulib@doubleplum.net>.
55396
55397 2008-02-01  Bruno Haible  <bruno@clisp.org>
55398
55399         * users.txt: Add gnuit.
55400
55401 2008-01-31  Bruno Haible  <bruno@clisp.org>
55402
55403         * lib/md4.c (set_uint32): Mark as inline.
55404         * lib/md5.c (set_uint32): Likewise.
55405         * lib/sha1.c (set_uint32): Likewise.
55406         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
55407         * m4/md5.m4 (gl_MD5): Likewise.
55408         * m4/sha1.m4 (gl_SHA1): Likewise.
55409
55410 2008-01-31  Jim Meyering  <meyering@redhat.com>
55411
55412         Use "sizeof VAR", rather than a literal "4".
55413         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
55414         * lib/md4.c (md4_read_ctx): Likewise.
55415         * lib/sha1.c (sha1_read_ctx): Likewise.
55416
55417 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55418
55419         * tests/test-sha1.c: New file, based on test-md5.c.
55420
55421         * modules/crypto/sha1-tests: New file.
55422
55423 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55424
55425         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
55426
55427 2008-01-31  Jim Meyering  <meyering@redhat.com>
55428
55429         Prefer "sizeof v" over the equivalent "4".
55430         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
55431         * lib/md5.c (set_uint32): Likewise.
55432         * lib/sha1.c (set_uint32): Likewise.
55433
55434 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55435
55436         * lib/sha1.c (set_uint32): Mark function as static.
55437
55438 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55439
55440         md2: clarify comments to say that alignment is not required.
55441         * lib/md2.h: Remove warning about alignment in comment.
55442         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
55443         never been required.
55444
55445 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55446
55447         md4: adapt alignment constraint fix from sha1.
55448         * lib/md4.c (set_uint32): New function, from sha1.c
55449         (md4_read_ctx): Use it.
55450         (md4_finish_ctx): Doc fix.
55451         * lib/md4.h: Doc fix.
55452
55453 2008-01-31  Simon Josefsson  <simon@josefsson.org>
55454
55455         md5: adapt alignment constraint fix from sha1.
55456         * lib/md5.c (set_uint32): New function, from sha1.c
55457         (md5_read_ctx): Use it.
55458         (md5_finish_ctx): Doc fix.
55459         * lib/md5.h: Doc fix.
55460
55461 2008-01-30  Peter Palfrader  <weasel@debian.org>
55462
55463         sha1: remove the result buffer alignment constraint
55464         * lib/sha1.c (set_uint32): New function.
55465         (sha1_read_ctx): Rewrite to remove the result buffer alignment
55466         constraint.
55467         (sha1_finish_ctx): Remove comment warning about alignment constraint.
55468         * lib/sha1.h: Likewise.
55469
55470 2008-01-30  Andreas Schwab  <schwab@suse.de>
55471             Bruno Haible  <bruno@clisp.org>
55472
55473         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
55474         correct definition of LDBL_MIN_EXP.
55475
55476 2008-01-30  Karl Berry  <karl@gnu.org>
55477
55478         * config/srclist-update: try to preserve x bit on updates.
55479         * config/srclistvars.sh: update for karl.
55480
55481 2008-01-29  Jim Meyering  <meyering@redhat.com>
55482
55483         vasnprintf.c: Avoid warning about unused label
55484         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
55485         "overflow" label definition and associated code with the
55486         same cpp condition that guards the sole use of that label.
55487
55488 2008-01-26  Bruno Haible  <bruno@clisp.org>
55489
55490         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
55491         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
55492         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
55493         * lib/isnanl-nolibm.h (isnanl): Likewise.
55494         Reported by Paul Eggert <eggert@cs.ucla.edu>.
55495
55496 2008-01-26  Bruno Haible  <bruno@clisp.org>
55497
55498         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
55499         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
55500
55501 2008-01-26  Bruno Haible  <bruno@clisp.org>
55502
55503         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
55504         GCC >= 4.0 built-in.
55505         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
55506
55507 2008-01-26  Bruno Haible  <bruno@clisp.org>
55508
55509         Rename isnan, applicable to 'double' only, to isnand.
55510         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
55511         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
55512         (configure.ac): Update.
55513         (Include): Replace "isnan.h" with "isnand.h".
55514         * m4/isnand.m4: Renamed from m4/isnan.m4.
55515         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
55516         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
55517         instead of isnan.c.
55518         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
55519         instead of HAVE_ISNAN_IN_LIBC.
55520         (isnand): Renamed from isnan.
55521         * lib/isnand.c: New file.
55522         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
55523         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
55524         (Makefile.am): Update.
55525         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
55526         Include isnand.h instead of isnan.h.
55527         (main): Test isnand instead of isnan.
55528         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
55529         isnan-nolibm.
55530         * modules/frexp (Depends-on): Likewise.
55531         * modules/frexp-tests (Depends-on): Likewise.
55532         * modules/frexp-nolibm (Depends-on): Likewise.
55533         * modules/frexp-nolibm-tests (Depends-on): Likewise.
55534         * modules/isfinite (Depends-on): Likewise.
55535         * modules/round-tests (Depends-on): Likewise.
55536         * modules/signbit (Depends-on): Likewise.
55537         * modules/signbit-tests (Depends-on): Likewise.
55538         * modules/snprintf-posix (Depends-on): Likewise.
55539         * modules/sprintf-posix (Depends-on): Likewise.
55540         * modules/trunc-tests (Depends-on): Likewise.
55541         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55542         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55543         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55544         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55545         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55546         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55547         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55548         * modules/vasnprintf-posix (Depends-on): Likewise.
55549         * modules/vasprintf-posix (Depends-on): Likewise.
55550         * modules/vfprintf-posix (Depends-on): Likewise.
55551         * modules/vsnprintf-posix (Depends-on): Likewise.
55552         * modules/vsprintf-posix (Depends-on): Likewise.
55553         * lib/frexp.c: Include isnand.h instead of isnan.h.
55554         (ISNAN): Set to isnand instead of isnan.
55555         * lib/isfinite.c: Include isnand.h instead of isnan.h.
55556         (gl_isfinited): Use isnand instead of isnan.
55557         * lib/signbitd.c: Include isnand.h instead of isnan.h.
55558         (gl_signbitd): Use isnand instead of isnan.
55559         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
55560         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
55561         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
55562         (main): Use isnand instead of isnan.
55563         * tests/test-round1.c: Include isnand.h.
55564         (main): Use isnand instead of isnan.
55565         * tests/test-round2.c: Include isnand.h instead of isnan.h.
55566         (ISNAN): Set to isnand instead of isnan.
55567         * tests/test-trunc1.c: Include isnand.h.
55568         (main): Use isnand instead of isnan.
55569         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
55570         (equal): Use isnand instead of isnan.
55571         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
55572         isnand-nolibm.
55573         * NEWS: Mention the change.
55574
55575 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55576             Bruno Haible  <bruno@clisp.org>
55577
55578         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
55579         the GCC builtins for signbits are present and set
55580         REPLACE_SIGNBIT_USING_GCC if so.
55581         * lib/math.in.h (signbit): Define using GCC builtins if
55582         REPLACE_SIGNBIT_USING_GCC is set.
55583         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
55584         REPLACE_SIGNBIT_USING_GCC.
55585         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
55586
55587 2008-01-25  Jim Meyering  <meyering@redhat.com>
55588
55589         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
55590         * lib/poll.c: Include <config.h>, not "config.h".
55591         * tests/test-getaddrinfo.c: Likewise.
55592
55593 2008-01-25  Simon Josefsson  <simon@josefsson.org>
55594
55595         * modules/sockets-tests: New file.
55596
55597 2008-01-24  Simon Josefsson  <simon@josefsson.org>
55598
55599         * modules/sockets: New module, can be used to call WSA_Startup and
55600         WSA_Cleanup when needed.
55601
55602         * lib/sockets.h, lib/sockets.c: New files.
55603
55604         * m4/sockets.m4: New file.
55605
55606         * tests/test-sockets.c: New file.
55607
55608 2008-01-19  Bruno Haible  <bruno@clisp.org>
55609
55610         * doc/posix-headers: Renamed from doc/headers.
55611         * doc/posix-functions: Renamed from doc/functions.
55612         * doc/gnulib.texi: Update.
55613
55614 2008-01-19  Bruno Haible  <bruno@clisp.org>
55615
55616         * doc/glibc-functions/strcasestr.texi: Include contents of
55617         doc/functions/strcasestr.texi, fixing the list of platforms.
55618         * doc/functions/strcasestr.texi: Remove file.
55619
55620 2008-01-19  Bruno Haible  <bruno@clisp.org>
55621
55622         * doc/glibc-functions/memmem.texi: Include contents of
55623         doc/functions/memmem.texi.
55624         * doc/functions/memmem.texi: Remove file.
55625
55626 2008-01-18  Bruno Haible  <bruno@clisp.org>
55627
55628         * doc/glibc-functions/*.texi: New files.
55629         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
55630         to use the new files.
55631
55632 2008-01-17  Bruno Haible  <bruno@clisp.org>
55633
55634         * tests/test-gethostname.c (main): Fix printf statement.
55635
55636 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55637
55638         * modules/gethostname-tests: New file.
55639
55640         * tests/test-gethostname.c: New file.
55641
55642 2008-01-17  Simon Josefsson  <simon@josefsson.org>
55643
55644         * lib/gethostname.c: Include string.h unconditionally, strncpy is
55645         used by the UNAME case.  Reported by Bruno Haible
55646         <bruno@clisp.org>.
55647
55648 2008-01-17  Eric Blake  <ebb9@byu.net>
55649
55650         Convert c-strcasestr to be more efficient.
55651         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
55652         (Depends-on): Add c-strcase, remove malloca, strnlen.
55653         * tests/test-c-strcasestr.c (main): Enhance test.
55654         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
55655
55656 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
55657
55658         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
55659         Use it in creating po/Makevars.
55660
55661 2008-01-15  Simon Josefsson  <simon@josefsson.org>
55662
55663         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
55664         Applications that requires it should initialize libgcrypt
55665         manually.
55666
55667 2008-01-16  Simon Josefsson  <simon@josefsson.org>
55668
55669         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
55670
55671 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
55672
55673         Fix problem with getdate on mingw32 reported by Simon Josefsson
55674         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
55675         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
55676         tzname", when deciding whether to declare tzname.
55677         * lib/strftime.c (tzname): Likewise.
55678
55679 2008-01-15  Bruno Haible  <bruno@clisp.org>
55680
55681         Work around a MacOS X 10.5 bug in frexpl().
55682         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
55683         * doc/functions/frexpl.texi: Document the bug.
55684         Reported by Elias Pipping <pipping@gentoo.org>.
55685
55686 2008-01-14  Eric Blake  <ebb9@byu.net>
55687
55688         Touch up previous patch.
55689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
55690         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
55691
55692         Convert strcasestr module to use Two-Way algorithm.
55693         * modules/strcasestr-simple: New module, based on the old
55694         strcasestr, but with Two-Way rather than KMP.
55695         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
55696         * lib/string.in.h (rpl_strcasestr): Declare.
55697         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
55698         performance.
55699         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
55700         * modules/string (Makefile.am): Support strcasestr.
55701         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
55702         * modules/strcasestr-tests (Depends-on): Check for alarm.
55703         * tests/test-strcasestr.c: Augment test.
55704         * lib/str-two-way.h: Clean up stray macro.
55705         * NEWS: Document new module.
55706         * MODULES.html.sh (string handling): Likewise.
55707         * doc/functions/strcasestr.texi: New file.
55708         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
55709         here, since it is not a POSIX function.
55710
55711 2008-01-14  Colin Watson  <cjwatson@debian.org>
55712             Bruno Haible  <bruno@clisp.org>
55713
55714         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
55715         works fine; if not, set REPLACE_STRSIGNAL.
55716         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
55717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55718         REPLACE_STRSIGNAL.
55719         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
55720         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
55721         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
55722
55723 2008-01-14  Bruno Haible  <bruno@clisp.org>
55724
55725         * modules/strsignal (Include): Change to <string.h>.
55726
55727 2008-01-14  Colin Watson  <cjwatson@debian.org>
55728
55729         * modules/argp (Notice): Add a notice recommending to change
55730         XGETTEXT_OPTIONS.
55731         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
55732
55733 2008-01-13  Colin Watson  <cjwatson@debian.org>
55734
55735         * modules/strsignal-tests: New file.
55736         * tests/test-strsignal.c: New file.
55737
55738         * lib/strsignal.c: New file, from glibc with modifications.
55739         * lib/siglist.h: New file, from glibc with modifications.
55740         * lib/string.in.h (strsignal): New declaration.
55741         * m4/strsignal.m4: New file.
55742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55743         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
55744         * modules/strsignal: New file.
55745         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
55746         HAVE_DECL_STRSIGNAL.
55747
55748 2008-01-13  Bruno Haible  <bruno@clisp.org>
55749
55750         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
55751         locale encoding is not ASCII. Needed for OpenBSD 4.0.
55752         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
55753         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
55754
55755 2008-01-13  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
55758         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
55759         * lib/argp.h (__attribute__): Likewise.
55760         * lib/c-stack.c (__attribute__): Likewise.
55761         * lib/error.h (__attribute__): Likewise.
55762         * lib/fts.c (__attribute__): Likewise.
55763         * lib/openat.h (__attribute__): Likewise.
55764         * lib/stdio.in.h (__attribute__): Likewise.
55765         * lib/string.in.h (__attribute__): Likewise.
55766         * lib/utimens.c (__attribute__): Likewise.
55767         * lib/vasnprintf.h (__attribute__): Likewise.
55768         * lib/xalloc.h (__attribute__): Likewise.
55769         * lib/xprintf.h (__attribute__): Likewise.
55770         * lib/xstrtol.h (__attribute__): Likewise.
55771         * lib/xvasprintf.h (__attribute__): Likewise.
55772
55773 2008-01-12  Bruno Haible  <bruno@clisp.org>
55774
55775         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
55776         * doc/glibc-headers/a.out.texi: New file.
55777         * doc/glibc-headers/aliases.texi: New file.
55778         * doc/glibc-headers/alloca.texi: New file.
55779         * doc/glibc-headers/ar.texi: New file.
55780         * doc/glibc-headers/argp.texi: New file.
55781         * doc/glibc-headers/argz.texi: New file.
55782         * doc/glibc-headers/byteswap.texi: New file.
55783         * doc/glibc-headers/crypt.texi: New file.
55784         * doc/glibc-headers/endian.texi: New file.
55785         * doc/glibc-headers/envz.texi: New file.
55786         * doc/glibc-headers/err.texi: New file.
55787         * doc/glibc-headers/error.texi: New file.
55788         * doc/glibc-headers/execinfo.texi: New file.
55789         * doc/glibc-headers/fpu_control.texi: New file.
55790         * doc/glibc-headers/fstab.texi: New file.
55791         * doc/glibc-headers/fts.texi: New file.
55792         * doc/glibc-headers/getopt.texi: New file.
55793         * doc/glibc-headers/ieee754.texi: New file.
55794         * doc/glibc-headers/ifaddrs.texi: New file.
55795         * doc/glibc-headers/libintl.texi: New file.
55796         * doc/glibc-headers/mcheck.texi: New file.
55797         * doc/glibc-headers/mntent.texi: New file.
55798         * doc/glibc-headers/obstack.texi: New file.
55799         * doc/glibc-headers/paths.texi: New file.
55800         * doc/glibc-headers/printf.texi: New file.
55801         * doc/glibc-headers/pty.texi: New file.
55802         * doc/glibc-headers/resolv.texi: New file.
55803         * doc/glibc-headers/shadow.texi: New file.
55804         * doc/glibc-headers/sysexits.texi: New file.
55805         * doc/glibc-headers/ttyent.texi: New file.
55806
55807 2008-01-12  Jim Meyering  <meyering@redhat.com>
55808
55809         announce-gen: emit Gnulib's git-based version string.
55810         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
55811         New option --gnulib-version=V, where V is expected to be
55812         the output of running git describe in the gnulib directory.
55813         (get_tool_versions): Request feedback on xdelta.  I suspect it's
55814         not useful, and plan to stop publishing an xdelta file with each
55815         coreutils release.
55816
55817         * build-aux/announce-gen: Also check for lzma-compressed files.
55818
55819 2008-01-11  Bruno Haible  <bruno@clisp.org>
55820
55821         * tests/test-memmem.c (main): Increase maximum allowed time.
55822         * tests/test-strstr.c (main): Likewise.
55823
55824 2008-01-11  Bruno Haible  <bruno@clisp.org>
55825
55826         * doc/functions/memmem.texi: Add more precisions about platforms.
55827         * doc/functions/strstr.texi: Likewise.
55828
55829 2008-01-10  Eric Blake  <ebb9@byu.net>
55830
55831         * m4/strstr.m4: Delete cruft from copy-n-paste.
55832         Reported by Bruno Haible.
55833
55834 2008-01-10  Bruno Haible  <bruno@clisp.org>
55835
55836         Make c-strstr rely on strstr.
55837         * lib/c-strstr.c: Don't include str-kmp.h.
55838         (c_strstr): Define in terms of strstr.
55839         * modules/c-strstr (Files): Remove lib/str-kmp.h.
55840         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
55841
55842 2008-01-10  Bruno Haible  <bruno@clisp.org>
55843
55844         * doc/gnulib.texi (String Functions in C Locale): New section.
55845         * doc/c-ctype.texi: New file.
55846         * doc/c-strcase.texi: New file.
55847         * doc/c-strcaseeq.texi: New file.
55848         * doc/c-strcasestr.texi: New file.
55849         * doc/c-strstr.texi: New file.
55850         * doc/c-strtod.texi: New file.
55851         * doc/c-strtold.texi: New file.
55852
55853 2008-01-10  Eric Blake  <ebb9@byu.net>
55854
55855         * lib/relocatable.h: Fix a comment.
55856
55857 2008-01-10  Eric Blake  <ebb9@byu.net>
55858
55859         Share two-way algorithm.
55860         * lib/str-two-way.h: New file, merged from...
55861         * lib/memmem.c: ...here...
55862         * lib/strstr.c: ...and here.
55863         * modules/memmem (Files): Use it.
55864         * modules/strstr (Files): Likewise.
55865
55866         Avoid quadratic strstr implementations.
55867         * lib/strstr.c: New file.
55868         * m4/strstr.m4: Likewise.
55869         * modules/strstr: Likewise.
55870         * modules/strstr-tests: Likewise.
55871         * tests/test-strstr.c: Likewise.
55872         * lib/string.in.h (rpl_strstr): Declare.
55873         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
55874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
55875         * modules/string (Makefile.am): Likewise.
55876         * MODULES.html.sh (string handling): Mention new module.
55877         * doc/functions/strstr.texi (strstr): Document the bug.
55878
55879 2008-01-10  Bruno Haible  <bruno@clisp.org>
55880
55881         * lib/relocatable.h (relocate): State whether result is freshly
55882         allocated or not.
55883         * lib/relocatable.c (relocate): Return a freshly allocated string
55884         instead of a pointer to a privately held string.
55885         Reported by Sylvain Beucler <beuc@gnu.org>.
55886
55887 2008-01-10  Colin Watson  <cjwatson@debian.org>
55888
55889         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
55890         s/S_ISNLK/S_ISLNK/.
55891
55892 2008-01-09  Bruno Haible  <bruno@clisp.org>
55893
55894         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
55895         and other files.
55896         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
55897         if it's only a guess.
55898         * modules/memmem: Simplify by depending on memmem-simple.
55899
55900 2008-01-09  Bruno Haible  <bruno@clisp.org>
55901
55902         Work around OpenBSD 4.0 tdelete() bug.
55903         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
55904         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
55905         macros and don't redefine the enum values.
55906         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
55907         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
55908         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
55909
55910 2008-01-09  Bruno Haible  <bruno@clisp.org>
55911
55912         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
55913         (main): Don't perform the tests if setlocale did not install a UTF-8
55914         locale. Needed on OpenBSD 4.0.
55915         * modules/wcwidth-tests (Depends-on): Add localcharset.
55916
55917 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
55918
55919         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
55920         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
55921         * NEWS: announce this.
55922         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
55923
55924 2008-01-09  Simon Josefsson  <simon@josefsson.org>
55925         and Eric Blake  <ebb9@byu.net>
55926
55927         Add memmem-simple module.
55928         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
55929         (gl_FUNC_MEMMEM): Separate performance from presence checks.
55930         * modules/memmem-simple: New file.
55931         * modules/memmem (Description): Tweak.
55932         * MODULES.html.sh (string handling): Mention new module.
55933         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
55934         addressed by memmem-simple.
55935         * NEWS: Document the difference.
55936
55937 2008-01-09  Eric Blake  <ebb9@byu.net>
55938
55939         Give gcc some memmem optimization hints.
55940         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
55941         (strcasestr): Declare as pure.
55942         * modules/memmem (Maintainer): Claim my implementation.
55943
55944 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55945
55946         Support AIX 6.1 and higher.
55947         * build-aux/config.libpath: Likewise.
55948         * build-aux/config.rpath: Likewise.
55949
55950 2008-01-08  Jim Meyering  <meyering@redhat.com>
55951             Bruno Haible  <bruno@clisp.org>
55952
55953         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
55954         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
55955         Reported by Peter Fales in
55956         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
55957
55958 2008-01-08  Bruno Haible  <bruno@clisp.org>
55959
55960         * modules/unictype/category-of (Depends-on): Add
55961         unictype/category-none.
55962         * modules/unictype/category-and-tests (Depends-on): Add
55963         unictype/category-{L,N,Lu,Nd}.
55964         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55965         * modules/unictype/category-or-tests (Depends-on): Add
55966         unictype/category-{L,N}.
55967         * modules/unictype/category-name-tests (Depends-on): Add
55968         unictype/category-{Z,Nl}.
55969         Reported by Simon Josefsson.
55970
55971 2008-01-08  Bruno Haible  <bruno@clisp.org>
55972
55973         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55974         convention better.
55975         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55976         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55977         Reported by Peter Miller <millerp@canb.auug.org.au>.
55978
55979 2008-01-08  Eric Blake  <ebb9@byu.net>
55980
55981         Rewrite memmem to guarantee linear complexity without malloc.
55982         * lib/memmem.c (memmem): Use Two-Way rather than
55983         Knuth-Morris-Pratt, to allow O(1) space usage.
55984         (critical_factorization, two_way_short_needle)
55985         (two_way_long_needle): New functions.
55986         (knuth_morris_pratt): Delete.
55987         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55988         Add stdint.
55989         * tests/test-memmem.c (main): Add tests for periodic needle and
55990         sublinear performance.
55991         * doc/functions/memmem.texi (memmem): Document other deficiencies
55992         in cygwin and older glibc.
55993
55994 2008-01-08  Bruno Haible  <bruno@clisp.org>
55995
55996         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55997         augmentation.
55998
55999 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56000
56001         Add a configure time option: --disable-acl.
56002         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56003         AC_ARG_ENABLE(acl).
56004
56005 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56006
56007         * tests/test-localename.c: Don't include obsolete "setenv.h".
56008
56009         * modules/localename-tests (Depends-on): Need unsetenv.
56010
56011 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56012
56013         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56014
56015 2008-01-06  Colin Watson  <cjwatson@debian.org>
56016
56017         * users.txt: Add man-db.
56018
56019 2008-01-07  Bruno Haible  <bruno@clisp.org>
56020
56021         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56022         previous section name.
56023
56024 2008-01-07  Bruno Haible  <bruno@clisp.org>
56025
56026         * lib/progname.c (set_program_name): Don't strip off a leading
56027         "lt-" prefix outside a .libs directory.
56028         Suggested by Paul Eggert.
56029
56030 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56031             Bruno Haible  <bruno@clisp.org>
56032
56033         Improve memory cleanup in 'relocatable' module.
56034         * lib/relocatable.h (compute_curr_prefix): Change return type to
56035         'char *'.
56036         * lib/relocatable.c (compute_curr_prefix): Change return type to
56037         'char *'. Free curr_installdir after use.
56038         (relocate): Free curr_prefix_better after use.
56039         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56040
56041 2008-01-01  Bruno Haible  <bruno@clisp.org>
56042
56043         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56044         failure on older glibc systems.
56045         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56046
56047 2008-01-05  Eric Blake  <ebb9@byu.net>
56048
56049         Avoid quadratic system memmem.
56050         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56051         Reported by Ralf Wildenhues.
56052
56053         Fix memmem test for mingw.
56054         * modules/memmem-tests (configure.ac): Check for alarm.
56055         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56056         it.
56057         * doc/functions/memmem.texi: New file.
56058         * doc/gnulib.texi (Function Substitutes): Add memmem.
56059         Reported by Bruno Haible.
56060
56061 2008-01-04  Bruno Haible  <bruno@clisp.org>
56062
56063         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56064         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56065         gl_HEADER_STRING_H_DEFAULTS.
56066
56067 2008-01-04  Eric Blake  <ebb9@byu.net>
56068
56069         Shorten duration of memmem test.
56070         * tests/test-memmem.c (main): Use alarm to declare failure if test
56071         is taking too long.
56072         Reported by Ralf Wildenhues.
56073
56074 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56075
56076         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56077         string, needed by strerror.
56078
56079 2008-01-03  Colin Watson  <cjwatson@debian.org>
56080             Bruno Haible  <bruno@clisp.org>
56081
56082         * doc/gnulib-tool.texi (Localization): New section.
56083
56084 2008-01-02  Bruno Haible  <bruno@clisp.org>
56085
56086         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56087         variables to 'unsigned char *' type.
56088         Reported by Paul Eggert.
56089
56090 2008-01-02  Jim Meyering  <jim@meyering.net>
56091
56092         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56093
56094 2007-12-31  Jim Meyering  <jim@meyering.net>
56095
56096         Avoid use of private FTS type name.
56097         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56098
56099 2007-12-30  Karl Berry  <karl@gnu.org>
56100
56101         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56102         work around defect in Texinfo and/or the standalone Info browser.
56103
56104 2007-12-30  Bruno Haible  <bruno@clisp.org>
56105
56106         Unify 5 copies of the KMP code.
56107         * lib/str-kmp.h: New file.
56108         * lib/c-strcasestr.c: Include str-kmp.h.
56109         (knuth_morris_pratt): Remove function.
56110         (c_strcasestr): Update.
56111         * lib/c-strstr.c: Include str-kmp.h.
56112         (knuth_morris_pratt): Remove function.
56113         (c_strcasestr): Update.
56114         * lib/mbscasestr.c: Include str-kmp.h.
56115         (knuth_morris_pratt_unibyte): Remove function.
56116         * lib/mbsstr.c: Include str-kmp.h.
56117         (knuth_morris_pratt_unibyte): Remove function.
56118         * lib/strcasestr.c: Include str-kmp.h.
56119         (knuth_morris_pratt): Remove function.
56120         (strcasestr): Update.
56121         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56122         * modules/c-strstr (Files): Likewise.
56123         * modules/mbscasestr (Files): Likewise.
56124         * modules/mbsstr (Files): Likewise.
56125         * modules/strcasestr (Files): Likewise.
56126         Suggested by Paul Eggert.
56127
56128 2007-12-30  Bruno Haible  <bruno@clisp.org>
56129
56130         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56131         defined.
56132
56133 2007-12-30  Bruno Haible  <bruno@clisp.org>
56134
56135         * lib/xmalloca.h: Include xalloc.h.
56136         (xnmalloca): New macro.
56137
56138 2007-12-30  Bruno Haible  <bruno@clisp.org>
56139
56140         * lib/malloca.h (nmalloca): New macro.
56141         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56142         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56143         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56144         knuth_morris_pratt_multibyte): Likewise.
56145         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56146         knuth_morris_pratt_multibyte): Likewise.
56147         * lib/memmem.c (knuth_morris_pratt): Likewise.
56148         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56149
56150 2007-12-25  Bruno Haible  <bruno@clisp.org>
56151
56152         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56153         * lib/glob.c: Don't include openat.h.
56154         (link_exists2_p): Add back the code that deals with the
56155         !GLOB_ALTDIRFUNC case.
56156         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56157         let it do the filename concatenation.
56158         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56159         * modules/glob (Depends-on): Remove openat.
56160
56161 2007-12-31  Bruno Haible  <bruno@clisp.org>
56162
56163         * modules/dirfd (License): Change to LGPLv2+.
56164         Approved by Jim Meyering.
56165
56166 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56167
56168         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56169         when multiplying M by sizeof (size_t).
56170
56171 2007-12-10  Martin Lambers  <marlam@marlam.de>
56172
56173         Override getpagesize on mingw.
56174         * lib/getpagesize.c: New file.
56175         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56176         * modules/getpagesize (Files): Add lib/getpagesize.c.
56177         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56179         REPLACE_GETPAGESIZE.
56180         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56181
56182 2007-12-25  Bruno Haible  <bruno@clisp.org>
56183
56184         * modules/localcharset (Notice): New field.
56185         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56186         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56187
56188 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56189             Bruno Haible  <bruno@clisp.org>
56190
56191         Avoid using the syntax symbol() in formatted documentation.
56192         * MODULES.html.sh (func_module): When replacing symbol() with a
56193         hyperlink, remove the parentheses. Show an error if some remain.
56194         Recognize and render the '...' syntax.
56195         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56196         Rework. Add paragraph about GCC's inlining.
56197         * doc/alloca.texi: Likewise.
56198         * doc/error.texi: Remove parentheses from symbol reference.
56199         * doc/gnulib-intro.texi: Likewise.
56200         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56201         * modules/fnmatch (Description): Reword to say "the ... function".
56202         * modules/full-read (Description): Likewise.
56203         * modules/full-write (Description): Likewise.
56204         * modules/safe-read (Description): Likewise.
56205         * modules/safe-write (Description): Likewise.
56206         * modules/strchrnul (Description): Likewise.
56207         * modules/trim (Description): Likewise.
56208         * modules/error (Description): Remove parentheses from symbol
56209         references.
56210         * modules/verror (Description): Likewise.
56211         Reported by Karl Berry.
56212
56213 2007-12-25  Bruno Haible  <bruno@clisp.org>
56214
56215         Fixup after 2007-10-16 commit.
56216         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56217
56218 2007-12-24  Bruno Haible  <bruno@clisp.org>
56219
56220         Make --enable-relocatable work with DESTDIR.
56221         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56222         to compute installdir from destprog.
56223         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56224         also set the RELOC_DESTDIR variable.
56225         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56226
56227 2007-12-24  Bruno Haible  <bruno@clisp.org>
56228
56229         Fix link error due to xalloc_die().
56230         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56231         of xreadlink.
56232         * lib/relocwrapper.c: Update comments.
56233         * build-aux/install-reloc: Remove xreadlink.c from file list.
56234         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56235         xreadlink.c.
56236         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56237
56238 2007-12-24  Bruno Haible  <bruno@clisp.org>
56239
56240         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56241         * lib/setenv.h: Remove file.
56242         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56243         lib/setenv.h.
56244         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56245         (Depends-on): Add stdlib.
56246         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56247         gl_FUNC_UNSETENV.
56248         (Include): Replace setenv.h with <stdlib.h>.
56249         * modules/unsetenv: New file.
56250         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56251         * lib/unsetenv.c: Include <stdlib.h> first.
56252         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56253         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56254         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56255         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56256         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56257         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56258         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56259         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56260         * doc/functions/unsetenv.texi: Update.
56261         * modules/xsetenv (Depends-on): Add unsetenv.
56262         * modules/getdate (Depends-on): Likewise.
56263         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56264         * lib/xsetenv.c: Don't include setenv.h.
56265         * lib/getdate.y: Likewise.
56266         * lib/relocwrapper.c: Likewise.
56267         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56268         (Depends-on): Add stdlib.
56269         * NEWS: Mention the changes.
56270         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56271
56272 2007-12-23  Bruno Haible  <bruno@clisp.org>
56273
56274         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56275         indentation.
56276
56277 2007-12-23  Bruno Haible  <bruno@clisp.org>
56278
56279         * lib/c-strcasestr.c: Add more comments.
56280         * lib/c-strstr.c: Likewise.
56281         * lib/mbscasestr.c: Likewise.
56282         * lib/mbsstr.c: Likewise.
56283         * lib/strcasestr.c: Likewise.
56284         * lib/memmem.c: Likewise.
56285
56286 2007-12-23  Bruno Haible  <bruno@clisp.org>
56287
56288         * tests/test-memmem.c: Include <string.h> first.
56289
56290 2007-12-22  Bruno Haible  <bruno@clisp.org>
56291
56292         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56293         the contents of $testsbase.
56294         Reported by Ralf Wildenhues.
56295
56296 2007-12-22  Bruno Haible  <bruno@clisp.org>
56297
56298         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56299         two variables local_ldadd_before, local_ldadd_last.
56300
56301 2007-12-20  Eric Blake  <ebb9@byu.net>
56302
56303         Work around circular library issue when cross-compiling.
56304         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56305         that progname.o does not need to pull in rpl_memcmp.
56306
56307 2007-12-19  Eric Blake  <ebb9@byu.net>
56308
56309         Fix memmem to avoid O(n^2) worst-case complexity.
56310         * lib/memmem.c (knuth_morris_pratt): New function.
56311         (memmem): Use it if first few naive iterations fail.
56312         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56313         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56314         * modules/memchr (License): Likewise.
56315         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56316         malloca.
56317         * tests/test-memmem.c: Rewrite, borrowing ideas from
56318         test-mbsstr1.c; the old version wouldn't even compile!
56319         * modules/memmem-tests: New file.
56320         * lib/string.in.h (rpl_memmem): Add declaration.
56321         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56322         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56323         REPLACE_MEMMEM.
56324
56325 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56326
56327         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56328         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56329         before any system include files, and undef after them all.  This
56330         should fix a problem on VMS reported by John E. Malmberg in
56331         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
56332
56333 2007-12-17  Eric Blake  <ebb9@byu.net>
56334
56335         Revert addition of verify, for BSD/OS.
56336         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
56337         can't handle large files, for the sake of obsolete platforms.
56338         * modules/fseeko (Depends-on): Remove verify.
56339         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
56340         * doc/functions/ftello.texi (ftello): Likewise.
56341         * doc/functions/fgetpos.texi (fgetpos): Likewise.
56342         Reported by Larry Jones.
56343
56344 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
56345
56346         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
56347         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
56348
56349 2007-12-17  Jim Meyering  <meyering@redhat.com>
56350
56351         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
56352         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
56353         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
56354         * modules/getcwd (Depends-on): Add openat.
56355         Reported by Petr Salinger.
56356
56357 2007-12-17  Bruno Haible  <bruno@clisp.org>
56358
56359         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
56360         avoid a segmentation fault of the configure test on x86_64 systems.
56361
56362 2007-12-15  Jim Meyering  <meyering@redhat.com>
56363
56364         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
56365
56366 2007-12-13  Eric Blake  <ebb9@byu.net>
56367
56368         Another fseek test.
56369         * tests/test-fseek.c (main): Also test ungetc handling.
56370         * tests/test-fseeko.c (main): Likewise.
56371         * modules/fseeko (Depends-on): Add verify.
56372         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
56373         large.
56374         Reported by Larry Jones.
56375
56376         Fix fseeko on mingw.
56377         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
56378         seek.
56379
56380         Beef up fseek tests.
56381         * tests/test-fseek.c (main): Also test eof handling.
56382         * tests/test-fseeko.c (main): Likewise.
56383         Reported by Larry Jones.
56384
56385 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
56386
56387         Fix fseeko on BSD-based platforms.
56388         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
56389         successful seek.
56390
56391 2007-12-12  Eric Blake  <ebb9@byu.net>
56392
56393         Allow circular dependency of separate libtests.a
56394         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
56395         when use_libtests.
56396
56397 2007-12-11  Eric Blake  <ebb9@byu.net>
56398
56399         Fix bug with -0.0L in previous patch.
56400         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
56401         * tests/test-isnan.c (main): Also test on zeroes.
56402         * tests/test-isnanf.c (main): Likewise.
56403         * tests/test-isnanl.h (main): Likewise.
56404
56405         Detect pseudo-denormals on x86 even when cross-compiling.
56406         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
56407         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
56408         invalid bit patterns that happen to satisfy ==.
56409
56410         Avoid link failures with separate libtests.a.
56411         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
56412         last, to satisfy circular dependencies.
56413
56414 2007-12-11  Eric Blake  <ebb9@byu.net>
56415         and Bruno Haible  <bruno@clisp.org>
56416
56417         Fix OpenBSD 4.0 <float.h> handling of long double.
56418         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
56419         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
56420         * doc/headers/float.texi (float.h): Document OpenBSD bug.
56421
56422 2007-12-11  Jim Meyering  <meyering@redhat.com>
56423
56424         * users.txt: Add libvirt.
56425
56426         Support versions of autoconf prior to 2.59c.
56427         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
56428         if it is not already defined.
56429
56430 2007-12-09  Bruno Haible  <bruno@clisp.org>
56431
56432         Let 'gnulib-tool --import' collect sources needed for the tests in
56433         tests/ rather than in lib/.
56434         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
56435         argument. If true, add rules to generate libtests.a, and put libtests.a
56436         into $(LDADD). Consider source files in subdirectories and set
56437         uses_subdirs.
56438         (func_emit_initmacro_start, func_emit_initmacro_end,
56439         func_emit_initmacro_done): Pass all arguments explicitly.
56440         (func_import): Determine two module lists main_modules,
56441         testsrelated_modules. Determine use_libtests. Determine two variables
56442         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
56443         instead of just sed_transform_lib_file. Determine two variables
56444         main_files and testsrelated_files. Compute 'files' as the union of
56445         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
56446         func_add_or_update. In the generated gnulib-comp.m4, collect the
56447         object files for tests/ in different variables than those for lib/.
56448         Substitute LIBTESTS_LIBDEPS.
56449         (func_create_testdir): Combine the uses_subdirs results from
56450         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
56451
56452 2007-12-09  Bruno Haible  <bruno@clisp.org>
56453
56454         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
56455         the build-aux directory.
56456
56457 2007-12-09  Bruno Haible  <bruno@clisp.org>
56458
56459         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
56460         introduced on 2006-09-09.
56461
56462 2007-12-07  Jim Meyering  <meyering@redhat.com>
56463
56464         Let these macros work also with autoconf-2.59.
56465         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
56466         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
56467         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
56468
56469 2007-12-06  Jim Meyering  <meyering@redhat.com>
56470
56471         Avoid a configure-time syntax error in gl_FUNC_ACL.
56472         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
56473         function in each branch, before testing the cache variable.
56474
56475 2007-12-04  Eric Blake  <ebb9@byu.net>
56476
56477         Make scripts executable.
56478         * build-aux/config.guess: Add execute permissions.
56479         * build-aux/config.sub: Likewise.
56480         * build-aux/gendocs.sh: Likewise.
56481
56482         Fix frexp on mingw.
56483         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
56484         cross-compiling.
56485         * doc/functions/frexp.texi (frexp): Document the bug.
56486
56487         Make cygwin fseeko check more reliable.
56488         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
56489         version numbers, rather than unrelated feature check.
56490         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
56491         * doc/functions/ftello.texi (ftello): Likewise.
56492         Reported by Bruno Haible.
56493
56494         * m4/strerror.m4: Bump version number.
56495
56496 2007-12-03  Bruno Haible  <bruno@clisp.org>
56497
56498         * doc/functions/mprotect.texi: Mention the mingw problem.
56499
56500 2007-12-03  Eric Blake  <ebb9@byu.net>
56501
56502         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
56503         REPLACE_STRERROR is initialized before this macro.
56504
56505 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
56506
56507         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
56508         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
56509         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
56510         put -lsec in even for programs other than 'ls'.  This fixes a problem
56511         for gettext reported by Bruno Haible in
56512         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
56513         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
56514         Add support for Solaris 10.  This isn't efficient, but should get the
56515         job done for now.
56516
56517 2007-12-03  James Youngman  <jay@gnu.org>
56518
56519         * doc/regexprops-generic.texi: change "an close-group" to "a
56520         close-group" and "illegal" to "not allowed".
56521
56522 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56523
56524         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
56525         pr_byname.h. Needed for the rare case when the maintainer has done
56526         "make maintainer-clean" in the source directory and then attempts a
56527         build outside the source directory.
56528         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
56529         scripts_byname.h.
56530
56531 2007-12-02  Martin Lambers <marlam@marlam.de>
56532             Bruno Haible  <bruno@clisp.org>
56533
56534         * lib/getpagesize.h: Remove file.
56535         * lib/unistd.in.h: Include declaration of getpagesize here.
56536         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
56537         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
56538         HAVE_SYS_PARAM_H.
56539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
56540         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56541         * modules/getpagesize (Files): Remove lib/getpagesize.h.
56542         (Depends-on): Add unistd.
56543         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56544         (Include): Use <unistd.h> instead of getpagesize.h.
56545         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
56546         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
56547         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
56548         gl_GETPAGESIZE invocation, already handled by module dependency.
56549         * lib/pagealign_alloc.c: Don't include getpagesize.h.
56550
56551 2007-12-02  Bruno Haible  <bruno@clisp.org>
56552
56553         * modules/strings-tests: New file.
56554         * tests/test-strings.c: New file.
56555
56556         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
56557         * lib/strings.in.h: New file.
56558         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
56559         * m4/strings_h.m4: New file.
56560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
56561         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
56562         * modules/strings: New file.
56563         * modules/string (Makefile.am): Update.
56564         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
56565         Reported by Karl Berry.
56566
56567 2007-12-01  Eric Blake  <ebb9@byu.net>
56568
56569         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
56570         accomodate fix in cygwin 1.5.25.
56571
56572 2007-12-01  Jim Meyering  <meyering@redhat.com>
56573
56574         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
56575         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
56576         that would inhibit utf8-optimization of a regexp containing line-
56577         or buffer-anchors, e.g., `^', `$'.
56578
56579 2007-11-30  Bruno Haible  <bruno@clisp.org>
56580
56581         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
56582         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
56583         glthread_recursive_lock_init.
56584         * lib/lock.c (glthread_recursive_lock_init)
56585         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
56586         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56587
56588 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
56589
56590         New function qset_acl, like set_acl but with syscall semantics.
56591         * lib/acl.h (qset_acl): New decl.
56592         * lib/acl.c (qset_acl): New function.
56593         (set_acl): Use new function.  Use more-consistent diagnostics.
56594
56595 2007-11-28  Jim Meyering  <meyering@redhat.com>
56596
56597         * modules/physmem (License): Change from GPL to LGPLv2+.
56598
56599 2007-11-26  Bruno Haible  <bruno@clisp.org>
56600
56601         * lib/vasnprintf.c (decode_long_double): Don't abort if the
56602         'long double' type has excess precision.
56603         Reported by Jim Meyering in
56604         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
56605
56606 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56607
56608         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
56609         Sync from <http://gnu.org/licenses>.
56610         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
56611         with license text from same location.
56612         * doc/maintain.texi, doc/standards.texi:  Sync from
56613         <http://savannah.gnu.org/projects/gnustandards>.
56614
56615 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
56616         and Jim Meyering  <meyering@redhat.com>
56617
56618         Adjust getdate' grammar to accept a slightly more regular language.
56619         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
56620         Before, the former was rejected.
56621         * lib/getdate.y (digits_to_date_time): New function, factored
56622         out of ...
56623         (number): ...here.  Just call digits_to_date_time.
56624         (hybrid): New non-terminal to handle an <unsigned number,
56625         signed relative offset> sequence consistently.
56626
56627 2007-11-18  Jim Meyering  <meyering@redhat.com>
56628
56629         Pull my changes from coreutils:
56630         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
56631         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
56632         use of $gnulib_tool_option_extras, so that it's separated from the
56633         preceding argument.
56634
56635         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
56636         * build-aux/bootstrap (cp_mark_as_generated): Create any required
56637         parent destination directories before copying a file into place.
56638
56639 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56640
56641         bootstrap: work also with 4-argument variant of AC_INIT
56642         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
56643
56644 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56645
56646         Port test-getaddrinfo to Solaris.
56647         Problem reported by Bruno Haible in
56648         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
56649         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
56650         explanation of setting 'hints'.
56651         Don't reject an implementation merely because it returns EAI_SERVICE.
56652         (EAI_SERVICE): Define to 0 if not defined.
56653
56654 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56655
56656         The license of gnu-make and posix-shell is now "GPLed build tool".
56657         * modules/gnu-make (License): Likewise.
56658         * modules/posix-shell (License): Likewise.
56659
56660         New module posix-shell, for determining a POSIX shell
56661         or perhaps something that is close enough to a POSIX shell.
56662         * m4/posix-shell.m4: New file.
56663         * modules/posix-shell: New file.
56664
56665         * MODULES.html.sh: Mention new module.
56666
56667         New module gnu-make, for determining whether we're using GNU Make.
56668         * m4/gnu-make.m4: New file.
56669         * modules/gnu-make: New file.
56670         * MODULES.html.sh: Mention new module.
56671
56672 2007-11-14  Jim Meyering  <meyering@redhat.com>
56673
56674         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
56675         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
56676         use this macro to create a function _definition_.
56677         Remove useless "#undef ARGMATCH_DIE".
56678
56679 2007-11-14  Bruno Haible  <bruno@clisp.org>
56680
56681         * lib/config.charset: Update for OpenBSD 4.1.
56682         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
56683
56684 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
56685
56686         Document 64-bit #if problems in stdint.texi.
56687         * doc/headers/stdint.texi (stdint.h): Mention problems with
56688         64-bit-#if, and how to work around them.
56689
56690         Don't insist on 'long long int' support in the preprocessor.  It
56691         breaks too many things.  For example, PRIdMAX still uses a 'long
56692         long int' format with the latest Sun compiler, even though
56693         HAVE_LONG_LONG_INT isn't defined due to that compiler's
56694         preprocessor problem.  This causes the latest coreutils to dump
56695         core on Solaris 10 sparc with the Sun C compiler.
56696         Instead, fix the 2007-10-16 problem in a different way, by evaluating
56697         the troublesome expressions at configure-time, not at #if-time.
56698         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
56699         preprocessor.
56700         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
56701         compile-time C checks, done at 'configure'-time.
56702         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
56703         * modules/inttypes (Makefile): Substitute the new symbols that
56704         gl_INTTYPES_H now generates.
56705         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
56706
56707 2007-11-12  Bruno Haible  <bruno@clisp.org>
56708
56709         Tests for Unicode character classification functions.
56710
56711         * modules/unictype/bidicategory-byname-tests: New file.
56712         * modules/unictype/bidicategory-name-tests: New file.
56713         * modules/unictype/bidicategory-of-tests: New file.
56714         * modules/unictype/bidicategory-test-tests: New file.
56715         * modules/unictype/block-list-tests: New file.
56716         * modules/unictype/block-of-tests: New file.
56717         * modules/unictype/block-test-tests: New file.
56718         * modules/unictype/category-C-tests: New file.
56719         * modules/unictype/category-Cc-tests: New file.
56720         * modules/unictype/category-Cf-tests: New file.
56721         * modules/unictype/category-Cn-tests: New file.
56722         * modules/unictype/category-Co-tests: New file.
56723         * modules/unictype/category-Cs-tests: New file.
56724         * modules/unictype/category-L-tests: New file.
56725         * modules/unictype/category-Ll-tests: New file.
56726         * modules/unictype/category-Lm-tests: New file.
56727         * modules/unictype/category-Lo-tests: New file.
56728         * modules/unictype/category-Lt-tests: New file.
56729         * modules/unictype/category-Lu-tests: New file.
56730         * modules/unictype/category-M-tests: New file.
56731         * modules/unictype/category-Mc-tests: New file.
56732         * modules/unictype/category-Me-tests: New file.
56733         * modules/unictype/category-Mn-tests: New file.
56734         * modules/unictype/category-N-tests: New file.
56735         * modules/unictype/category-Nd-tests: New file.
56736         * modules/unictype/category-Nl-tests: New file.
56737         * modules/unictype/category-No-tests: New file.
56738         * modules/unictype/category-P-tests: New file.
56739         * modules/unictype/category-Pc-tests: New file.
56740         * modules/unictype/category-Pd-tests: New file.
56741         * modules/unictype/category-Pe-tests: New file.
56742         * modules/unictype/category-Pf-tests: New file.
56743         * modules/unictype/category-Pi-tests: New file.
56744         * modules/unictype/category-Po-tests: New file.
56745         * modules/unictype/category-Ps-tests: New file.
56746         * modules/unictype/category-S-tests: New file.
56747         * modules/unictype/category-Sc-tests: New file.
56748         * modules/unictype/category-Sk-tests: New file.
56749         * modules/unictype/category-Sm-tests: New file.
56750         * modules/unictype/category-So-tests: New file.
56751         * modules/unictype/category-Z-tests: New file.
56752         * modules/unictype/category-Zl-tests: New file.
56753         * modules/unictype/category-Zp-tests: New file.
56754         * modules/unictype/category-Zs-tests: New file.
56755         * modules/unictype/category-and-not-tests: New file.
56756         * modules/unictype/category-and-tests: New file.
56757         * modules/unictype/category-byname-tests: New file.
56758         * modules/unictype/category-name-tests: New file.
56759         * modules/unictype/category-none-tests: New file.
56760         * modules/unictype/category-of-tests: New file.
56761         * modules/unictype/category-or-tests: New file.
56762         * modules/unictype/category-test-withtable-tests: New file.
56763         * modules/unictype/combining-class-tests: New file.
56764         * modules/unictype/ctype-alnum-tests: New file.
56765         * modules/unictype/ctype-alpha-tests: New file.
56766         * modules/unictype/ctype-blank-tests: New file.
56767         * modules/unictype/ctype-cntrl-tests: New file.
56768         * modules/unictype/ctype-digit-tests: New file.
56769         * modules/unictype/ctype-graph-tests: New file.
56770         * modules/unictype/ctype-lower-tests: New file.
56771         * modules/unictype/ctype-print-tests: New file.
56772         * modules/unictype/ctype-punct-tests: New file.
56773         * modules/unictype/ctype-space-tests: New file.
56774         * modules/unictype/ctype-upper-tests: New file.
56775         * modules/unictype/ctype-xdigit-tests: New file.
56776         * modules/unictype/decimal-digit-tests: New file.
56777         * modules/unictype/digit-tests: New file.
56778         * modules/unictype/mirror-tests: New file.
56779         * modules/unictype/numeric-tests: New file.
56780         * modules/unictype/property-alphabetic-tests: New file.
56781         * modules/unictype/property-ascii-hex-digit-tests: New file.
56782         * modules/unictype/property-bidi-arabic-digit-tests: New file.
56783         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
56784         * modules/unictype/property-bidi-block-separator-tests: New file.
56785         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
56786         * modules/unictype/property-bidi-common-separator-tests: New file.
56787         * modules/unictype/property-bidi-control-tests: New file.
56788         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
56789         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
56790         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
56791         * modules/unictype/property-bidi-european-digit-tests: New file.
56792         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
56793         * modules/unictype/property-bidi-left-to-right-tests: New file.
56794         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
56795         * modules/unictype/property-bidi-other-neutral-tests: New file.
56796         * modules/unictype/property-bidi-pdf-tests: New file.
56797         * modules/unictype/property-bidi-segment-separator-tests: New file.
56798         * modules/unictype/property-bidi-whitespace-tests: New file.
56799         * modules/unictype/property-byname-tests: New file.
56800         * modules/unictype/property-combining-tests: New file.
56801         * modules/unictype/property-composite-tests: New file.
56802         * modules/unictype/property-currency-symbol-tests: New file.
56803         * modules/unictype/property-dash-tests: New file.
56804         * modules/unictype/property-decimal-digit-tests: New file.
56805         * modules/unictype/property-default-ignorable-code-point-tests: New file.
56806         * modules/unictype/property-deprecated-tests: New file.
56807         * modules/unictype/property-diacritic-tests: New file.
56808         * modules/unictype/property-extender-tests: New file.
56809         * modules/unictype/property-format-control-tests: New file.
56810         * modules/unictype/property-grapheme-base-tests: New file.
56811         * modules/unictype/property-grapheme-extend-tests: New file.
56812         * modules/unictype/property-grapheme-link-tests: New file.
56813         * modules/unictype/property-hex-digit-tests: New file.
56814         * modules/unictype/property-hyphen-tests: New file.
56815         * modules/unictype/property-id-continue-tests: New file.
56816         * modules/unictype/property-id-start-tests: New file.
56817         * modules/unictype/property-ideographic-tests: New file.
56818         * modules/unictype/property-ids-binary-operator-tests: New file.
56819         * modules/unictype/property-ids-trinary-operator-tests: New file.
56820         * modules/unictype/property-ignorable-control-tests: New file.
56821         * modules/unictype/property-iso-control-tests: New file.
56822         * modules/unictype/property-join-control-tests: New file.
56823         * modules/unictype/property-left-of-pair-tests: New file.
56824         * modules/unictype/property-line-separator-tests: New file.
56825         * modules/unictype/property-logical-order-exception-tests: New file.
56826         * modules/unictype/property-lowercase-tests: New file.
56827         * modules/unictype/property-math-tests: New file.
56828         * modules/unictype/property-non-break-tests: New file.
56829         * modules/unictype/property-not-a-character-tests: New file.
56830         * modules/unictype/property-numeric-tests: New file.
56831         * modules/unictype/property-other-alphabetic-tests: New file.
56832         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
56833         * modules/unictype/property-other-grapheme-extend-tests: New file.
56834         * modules/unictype/property-other-id-continue-tests: New file.
56835         * modules/unictype/property-other-id-start-tests: New file.
56836         * modules/unictype/property-other-lowercase-tests: New file.
56837         * modules/unictype/property-other-math-tests: New file.
56838         * modules/unictype/property-other-uppercase-tests: New file.
56839         * modules/unictype/property-paired-punctuation-tests: New file.
56840         * modules/unictype/property-paragraph-separator-tests: New file.
56841         * modules/unictype/property-pattern-syntax-tests: New file.
56842         * modules/unictype/property-pattern-white-space-tests: New file.
56843         * modules/unictype/property-private-use-tests: New file.
56844         * modules/unictype/property-punctuation-tests: New file.
56845         * modules/unictype/property-quotation-mark-tests: New file.
56846         * modules/unictype/property-radical-tests: New file.
56847         * modules/unictype/property-sentence-terminal-tests: New file.
56848         * modules/unictype/property-soft-dotted-tests: New file.
56849         * modules/unictype/property-space-tests: New file.
56850         * modules/unictype/property-terminal-punctuation-tests: New file.
56851         * modules/unictype/property-test-tests: New file.
56852         * modules/unictype/property-titlecase-tests: New file.
56853         * modules/unictype/property-unassigned-code-value-tests: New file.
56854         * modules/unictype/property-unified-ideograph-tests: New file.
56855         * modules/unictype/property-uppercase-tests: New file.
56856         * modules/unictype/property-variation-selector-tests: New file.
56857         * modules/unictype/property-white-space-tests: New file.
56858         * modules/unictype/property-xid-continue-tests: New file.
56859         * modules/unictype/property-xid-start-tests: New file.
56860         * modules/unictype/property-zero-width-tests: New file.
56861         * modules/unictype/scripts-tests: New file.
56862         * modules/unictype/syntax-c-ident-tests: New file.
56863         * modules/unictype/syntax-c-whitespace-tests: New file.
56864         * modules/unictype/syntax-java-ident-tests: New file.
56865         * modules/unictype/syntax-java-whitespace-tests: New file.
56866         * tests/unictype/test-bidi_byname.c: New file.
56867         * tests/unictype/test-bidi_name.c: New file.
56868         * tests/unictype/test-bidi_of.c: New file.
56869         * tests/unictype/test-bidi_test.c: New file.
56870         * tests/unictype/test-block_list.c: New file.
56871         * tests/unictype/test-block_of.c: New file.
56872         * tests/unictype/test-block_test.c: New file.
56873         * tests/unictype/test-categ_and.c: New file.
56874         * tests/unictype/test-categ_and_not.c: New file.
56875         * tests/unictype/test-categ_byname.c: New file.
56876         * tests/unictype/test-categ_name.c: New file.
56877         * tests/unictype/test-categ_none.c: New file.
56878         * tests/unictype/test-categ_of.c: New file.
56879         * tests/unictype/test-categ_or.c: New file.
56880         * tests/unictype/test-categ_test_withtable.c: New file.
56881         * tests/unictype/test-combining.c: New file.
56882         * tests/unictype/test-decdigit.c: New file.
56883         * tests/unictype/test-digit.c: New file.
56884         * tests/unictype/test-mirror.c: New file.
56885         * tests/unictype/test-numeric.c: New file.
56886         * tests/unictype/test-pr_byname.c: New file.
56887         * tests/unictype/test-pr_test.c: New file.
56888         * tests/unictype/test-predicate-part1.h: New file.
56889         * tests/unictype/test-predicate-part2.h: New file.
56890         * tests/unictype/test-scripts.c: New file.
56891         * tests/unictype/test-sy_c_ident.c: New file.
56892         * tests/unictype/test-sy_java_ident.c: New file.
56893
56894         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
56895         for Unicode 5.0.0.
56896         * tests/unictype/test-categ_Cc.c: Likewise.
56897         * tests/unictype/test-categ_Cf.c: Likewise.
56898         * tests/unictype/test-categ_Cn.c: Likewise.
56899         * tests/unictype/test-categ_Co.c: Likewise.
56900         * tests/unictype/test-categ_Cs.c: Likewise.
56901         * tests/unictype/test-categ_L.c: Likewise.
56902         * tests/unictype/test-categ_Ll.c: Likewise.
56903         * tests/unictype/test-categ_Lm.c: Likewise.
56904         * tests/unictype/test-categ_Lo.c: Likewise.
56905         * tests/unictype/test-categ_Lt.c: Likewise.
56906         * tests/unictype/test-categ_Lu.c: Likewise.
56907         * tests/unictype/test-categ_M.c: Likewise.
56908         * tests/unictype/test-categ_Mc.c: Likewise.
56909         * tests/unictype/test-categ_Me.c: Likewise.
56910         * tests/unictype/test-categ_Mn.c: Likewise.
56911         * tests/unictype/test-categ_N.c: Likewise.
56912         * tests/unictype/test-categ_Nd.c: Likewise.
56913         * tests/unictype/test-categ_Nl.c: Likewise.
56914         * tests/unictype/test-categ_No.c: Likewise.
56915         * tests/unictype/test-categ_P.c: Likewise.
56916         * tests/unictype/test-categ_Pc.c: Likewise.
56917         * tests/unictype/test-categ_Pd.c: Likewise.
56918         * tests/unictype/test-categ_Pe.c: Likewise.
56919         * tests/unictype/test-categ_Pf.c: Likewise.
56920         * tests/unictype/test-categ_Pi.c: Likewise.
56921         * tests/unictype/test-categ_Po.c: Likewise.
56922         * tests/unictype/test-categ_Ps.c: Likewise.
56923         * tests/unictype/test-categ_S.c: Likewise.
56924         * tests/unictype/test-categ_Sc.c: Likewise.
56925         * tests/unictype/test-categ_Sk.c: Likewise.
56926         * tests/unictype/test-categ_Sm.c: Likewise.
56927         * tests/unictype/test-categ_So.c: Likewise.
56928         * tests/unictype/test-categ_Z.c: Likewise.
56929         * tests/unictype/test-categ_Zl.c: Likewise.
56930         * tests/unictype/test-categ_Zp.c: Likewise.
56931         * tests/unictype/test-categ_Zs.c: Likewise.
56932         * tests/unictype/test-ctype_alnum.c: Likewise.
56933         * tests/unictype/test-ctype_alpha.c: Likewise.
56934         * tests/unictype/test-ctype_blank.c: Likewise.
56935         * tests/unictype/test-ctype_cntrl.c: Likewise.
56936         * tests/unictype/test-ctype_digit.c: Likewise.
56937         * tests/unictype/test-ctype_graph.c: Likewise.
56938         * tests/unictype/test-ctype_lower.c: Likewise.
56939         * tests/unictype/test-ctype_print.c: Likewise.
56940         * tests/unictype/test-ctype_punct.c: Likewise.
56941         * tests/unictype/test-ctype_space.c: Likewise.
56942         * tests/unictype/test-ctype_upper.c: Likewise.
56943         * tests/unictype/test-ctype_xdigit.c: Likewise.
56944         * tests/unictype/test-decdigit.h: Likewise.
56945         * tests/unictype/test-digit.h: Likewise.
56946         * tests/unictype/test-numeric.h: Likewise.
56947         * tests/unictype/test-pr_alphabetic.c: Likewise.
56948         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
56949         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
56950         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
56951         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
56952         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
56953         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
56954         * tests/unictype/test-pr_bidi_control.c: Likewise.
56955         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
56956         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
56957         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
56958         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
56959         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
56960         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
56961         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
56962         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
56963         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
56964         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56965         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56966         * tests/unictype/test-pr_combining.c: Likewise.
56967         * tests/unictype/test-pr_composite.c: Likewise.
56968         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56969         * tests/unictype/test-pr_dash.c: Likewise.
56970         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56971         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56972         * tests/unictype/test-pr_deprecated.c: Likewise.
56973         * tests/unictype/test-pr_diacritic.c: Likewise.
56974         * tests/unictype/test-pr_extender.c: Likewise.
56975         * tests/unictype/test-pr_format_control.c: Likewise.
56976         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56977         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56978         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56979         * tests/unictype/test-pr_hex_digit.c: Likewise.
56980         * tests/unictype/test-pr_hyphen.c: Likewise.
56981         * tests/unictype/test-pr_id_continue.c: Likewise.
56982         * tests/unictype/test-pr_id_start.c: Likewise.
56983         * tests/unictype/test-pr_ideographic.c: Likewise.
56984         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56985         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56986         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56987         * tests/unictype/test-pr_iso_control.c: Likewise.
56988         * tests/unictype/test-pr_join_control.c: Likewise.
56989         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56990         * tests/unictype/test-pr_line_separator.c: Likewise.
56991         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56992         * tests/unictype/test-pr_lowercase.c: Likewise.
56993         * tests/unictype/test-pr_math.c: Likewise.
56994         * tests/unictype/test-pr_non_break.c: Likewise.
56995         * tests/unictype/test-pr_not_a_character.c: Likewise.
56996         * tests/unictype/test-pr_numeric.c: Likewise.
56997         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56998         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56999         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57000         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57001         * tests/unictype/test-pr_other_id_start.c: Likewise.
57002         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57003         * tests/unictype/test-pr_other_math.c: Likewise.
57004         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57005         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57006         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57007         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57008         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57009         * tests/unictype/test-pr_private_use.c: Likewise.
57010         * tests/unictype/test-pr_punctuation.c: Likewise.
57011         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57012         * tests/unictype/test-pr_radical.c: Likewise.
57013         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57014         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57015         * tests/unictype/test-pr_space.c: Likewise.
57016         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57017         * tests/unictype/test-pr_titlecase.c: Likewise.
57018         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57019         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57020         * tests/unictype/test-pr_uppercase.c: Likewise.
57021         * tests/unictype/test-pr_variation_selector.c: Likewise.
57022         * tests/unictype/test-pr_white_space.c: Likewise.
57023         * tests/unictype/test-pr_xid_continue.c: Likewise.
57024         * tests/unictype/test-pr_xid_start.c: Likewise.
57025         * tests/unictype/test-pr_zero_width.c: Likewise.
57026         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57027         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57028
57029 2007-11-12  Bruno Haible  <bruno@clisp.org>
57030
57031         Unicode character classification functions.
57032         * lib/unictype.h: New file.
57033         * modules/unictype/base: New file.
57034         * modules/unictype/category-L: New file.
57035         * modules/unictype/category-Lu: New file.
57036         * modules/unictype/category-Ll: New file.
57037         * modules/unictype/category-Lt: New file.
57038         * modules/unictype/category-Lm: New file.
57039         * modules/unictype/category-Lo: New file.
57040         * modules/unictype/category-M: New file.
57041         * modules/unictype/category-Mn: New file.
57042         * modules/unictype/category-Mc: New file.
57043         * modules/unictype/category-Me: New file.
57044         * modules/unictype/category-N: New file.
57045         * modules/unictype/category-Nd: New file.
57046         * modules/unictype/category-Nl: New file.
57047         * modules/unictype/category-No: New file.
57048         * modules/unictype/category-P: New file.
57049         * modules/unictype/category-Pc: New file.
57050         * modules/unictype/category-Pd: New file.
57051         * modules/unictype/category-Ps: New file.
57052         * modules/unictype/category-Pe: New file.
57053         * modules/unictype/category-Pi: New file.
57054         * modules/unictype/category-Pf: New file.
57055         * modules/unictype/category-Po: New file.
57056         * modules/unictype/category-S: New file.
57057         * modules/unictype/category-Sm: New file.
57058         * modules/unictype/category-Sc: New file.
57059         * modules/unictype/category-Sk: New file.
57060         * modules/unictype/category-So: New file.
57061         * modules/unictype/category-Z: New file.
57062         * modules/unictype/category-Zs: New file.
57063         * modules/unictype/category-Zl: New file.
57064         * modules/unictype/category-Zp: New file.
57065         * modules/unictype/category-C: New file.
57066         * modules/unictype/category-Cc: New file.
57067         * modules/unictype/category-Cf: New file.
57068         * modules/unictype/category-Cs: New file.
57069         * modules/unictype/category-Co: New file.
57070         * modules/unictype/category-Cn: New file.
57071         * modules/unictype/category-or: New file.
57072         * modules/unictype/category-of: New file.
57073         * modules/unictype/category-test: New file.
57074         * modules/unictype/category-test-withtable: New file.
57075         * modules/unictype/category-byname: New file.
57076         * modules/unictype/category-none: New file.
57077         * modules/unictype/category-and: New file.
57078         * modules/unictype/category-and-not: New file.
57079         * modules/unictype/category-name: New file.
57080         * modules/unictype/combining-class: New file.
57081         * modules/unictype/category-all: New file.
57082         * modules/unictype/bidicategory-all: New file.
57083         * modules/unictype/bidicategory-byname: New file.
57084         * modules/unictype/bidicategory-name: New file.
57085         * modules/unictype/bidicategory-of: New file.
57086         * modules/unictype/bidicategory-test: New file.
57087         * modules/unictype/decimal-digit: New file.
57088         * modules/unictype/digit: New file.
57089         * modules/unictype/numeric: New file.
57090         * modules/unictype/mirror: New file.
57091         * modules/unictype/property-white-space: New file.
57092         * modules/unictype/property-alphabetic: New file.
57093         * modules/unictype/property-other-alphabetic: New file.
57094         * modules/unictype/property-not-a-character: New file.
57095         * modules/unictype/property-default-ignorable-code-point: New file.
57096         * modules/unictype/property-other-default-ignorable-code-point: New
57097         file.
57098         * modules/unictype/property-deprecated: New file.
57099         * modules/unictype/property-logical-order-exception: New file.
57100         * modules/unictype/property-variation-selector: New file.
57101         * modules/unictype/property-private-use: New file.
57102         * modules/unictype/property-unassigned-code-value: New file.
57103         * modules/unictype/property-uppercase: New file.
57104         * modules/unictype/property-other-uppercase: New file.
57105         * modules/unictype/property-lowercase: New file.
57106         * modules/unictype/property-other-lowercase: New file.
57107         * modules/unictype/property-titlecase: New file.
57108         * modules/unictype/property-soft-dotted: New file.
57109         * modules/unictype/property-id-start: New file.
57110         * modules/unictype/property-other-id-start: New file.
57111         * modules/unictype/property-id-continue: New file.
57112         * modules/unictype/property-other-id-continue: New file.
57113         * modules/unictype/property-xid-start: New file.
57114         * modules/unictype/property-xid-continue: New file.
57115         * modules/unictype/property-pattern-white-space: New file.
57116         * modules/unictype/property-pattern-syntax: New file.
57117         * modules/unictype/property-join-control: New file.
57118         * modules/unictype/property-grapheme-base: New file.
57119         * modules/unictype/property-grapheme-extend: New file.
57120         * modules/unictype/property-other-grapheme-extend: New file.
57121         * modules/unictype/property-grapheme-link: New file.
57122         * modules/unictype/property-bidi-control: New file.
57123         * modules/unictype/property-bidi-left-to-right: New file.
57124         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57125         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57126         * modules/unictype/property-bidi-european-digit: New file.
57127         * modules/unictype/property-bidi-eur-num-separator: New file.
57128         * modules/unictype/property-bidi-eur-num-terminator: New file.
57129         * modules/unictype/property-bidi-arabic-digit: New file.
57130         * modules/unictype/property-bidi-common-separator: New file.
57131         * modules/unictype/property-bidi-block-separator: New file.
57132         * modules/unictype/property-bidi-segment-separator: New file.
57133         * modules/unictype/property-bidi-whitespace: New file.
57134         * modules/unictype/property-bidi-non-spacing-mark: New file.
57135         * modules/unictype/property-bidi-boundary-neutral: New file.
57136         * modules/unictype/property-bidi-pdf: New file.
57137         * modules/unictype/property-bidi-embedding-or-override: New file.
57138         * modules/unictype/property-bidi-other-neutral: New file.
57139         * modules/unictype/property-hex-digit: New file.
57140         * modules/unictype/property-ascii-hex-digit: New file.
57141         * modules/unictype/property-ideographic: New file.
57142         * modules/unictype/property-unified-ideograph: New file.
57143         * modules/unictype/property-radical: New file.
57144         * modules/unictype/property-ids-binary-operator: New file.
57145         * modules/unictype/property-ids-trinary-operator: New file.
57146         * modules/unictype/property-zero-width: New file.
57147         * modules/unictype/property-space: New file.
57148         * modules/unictype/property-non-break: New file.
57149         * modules/unictype/property-iso-control: New file.
57150         * modules/unictype/property-format-control: New file.
57151         * modules/unictype/property-dash: New file.
57152         * modules/unictype/property-hyphen: New file.
57153         * modules/unictype/property-punctuation: New file.
57154         * modules/unictype/property-line-separator: New file.
57155         * modules/unictype/property-paragraph-separator: New file.
57156         * modules/unictype/property-quotation-mark: New file.
57157         * modules/unictype/property-sentence-terminal: New file.
57158         * modules/unictype/property-terminal-punctuation: New file.
57159         * modules/unictype/property-currency-symbol: New file.
57160         * modules/unictype/property-math: New file.
57161         * modules/unictype/property-other-math: New file.
57162         * modules/unictype/property-paired-punctuation: New file.
57163         * modules/unictype/property-left-of-pair: New file.
57164         * modules/unictype/property-combining: New file.
57165         * modules/unictype/property-composite: New file.
57166         * modules/unictype/property-decimal-digit: New file.
57167         * modules/unictype/property-numeric: New file.
57168         * modules/unictype/property-diacritic: New file.
57169         * modules/unictype/property-extender: New file.
57170         * modules/unictype/property-ignorable-control: New file.
57171         * modules/unictype/property-test: New file.
57172         * modules/unictype/property-byname: New file.
57173         * modules/unictype/property-all: New file.
57174         * modules/unictype/scripts: New file.
57175         * modules/unictype/scripts-all: New file.
57176         * modules/unictype/block-of: New file.
57177         * modules/unictype/block-test: New file.
57178         * modules/unictype/block-list: New file.
57179         * modules/unictype/block-all: New file.
57180         * modules/unictype/syntax-c-whitespace: New file.
57181         * modules/unictype/syntax-java-whitespace: New file.
57182         * modules/unictype/syntax-c-ident: New file.
57183         * modules/unictype/syntax-java-ident: New file.
57184         * modules/unictype/ctype-alnum: New file.
57185         * modules/unictype/ctype-alpha: New file.
57186         * modules/unictype/ctype-cntrl: New file.
57187         * modules/unictype/ctype-digit: New file.
57188         * modules/unictype/ctype-graph: New file.
57189         * modules/unictype/ctype-lower: New file.
57190         * modules/unictype/ctype-print: New file.
57191         * modules/unictype/ctype-punct: New file.
57192         * modules/unictype/ctype-space: New file.
57193         * modules/unictype/ctype-upper: New file.
57194         * modules/unictype/ctype-xdigit: New file.
57195         * modules/unictype/ctype-blank: New file.
57196         * lib/unictype/bidi_byname.c: New file.
57197         * lib/unictype/bidi_name.c: New file.
57198         * lib/unictype/bidi_of.c: New file.
57199         * lib/unictype/bidi_test.c: New file.
57200         * lib/unictype/bitmap.h: New file.
57201         * lib/unictype/block_test.c: New file.
57202         * lib/unictype/blocks.c: New file.
57203         * lib/unictype/categ_C.c: New file.
57204         * lib/unictype/categ_Cc.c: New file.
57205         * lib/unictype/categ_Cf.c: New file.
57206         * lib/unictype/categ_Cn.c: New file.
57207         * lib/unictype/categ_Co.c: New file.
57208         * lib/unictype/categ_Cs.c: New file.
57209         * lib/unictype/categ_L.c: New file.
57210         * lib/unictype/categ_Ll.c: New file.
57211         * lib/unictype/categ_Lm.c: New file.
57212         * lib/unictype/categ_Lo.c: New file.
57213         * lib/unictype/categ_Lt.c: New file.
57214         * lib/unictype/categ_Lu.c: New file.
57215         * lib/unictype/categ_M.c: New file.
57216         * lib/unictype/categ_Mc.c: New file.
57217         * lib/unictype/categ_Me.c: New file.
57218         * lib/unictype/categ_Mn.c: New file.
57219         * lib/unictype/categ_N.c: New file.
57220         * lib/unictype/categ_Nd.c: New file.
57221         * lib/unictype/categ_Nl.c: New file.
57222         * lib/unictype/categ_No.c: New file.
57223         * lib/unictype/categ_P.c: New file.
57224         * lib/unictype/categ_Pc.c: New file.
57225         * lib/unictype/categ_Pd.c: New file.
57226         * lib/unictype/categ_Pe.c: New file.
57227         * lib/unictype/categ_Pf.c: New file.
57228         * lib/unictype/categ_Pi.c: New file.
57229         * lib/unictype/categ_Po.c: New file.
57230         * lib/unictype/categ_Ps.c: New file.
57231         * lib/unictype/categ_S.c: New file.
57232         * lib/unictype/categ_Sc.c: New file.
57233         * lib/unictype/categ_Sk.c: New file.
57234         * lib/unictype/categ_Sm.c: New file.
57235         * lib/unictype/categ_So.c: New file.
57236         * lib/unictype/categ_Z.c: New file.
57237         * lib/unictype/categ_Zl.c: New file.
57238         * lib/unictype/categ_Zp.c: New file.
57239         * lib/unictype/categ_Zs.c: New file.
57240         * lib/unictype/categ_and.c: New file.
57241         * lib/unictype/categ_and_not.c: New file.
57242         * lib/unictype/categ_byname.c: New file.
57243         * lib/unictype/categ_name.c: New file.
57244         * lib/unictype/categ_none.c: New file.
57245         * lib/unictype/categ_of.c: New file.
57246         * lib/unictype/categ_or.c: New file.
57247         * lib/unictype/categ_test.c: New file.
57248         * lib/unictype/combining.c: New file.
57249         * lib/unictype/ctype_alnum.c: New file.
57250         * lib/unictype/ctype_alpha.c: New file.
57251         * lib/unictype/ctype_blank.c: New file.
57252         * lib/unictype/ctype_cntrl.c: New file.
57253         * lib/unictype/ctype_digit.c: New file.
57254         * lib/unictype/ctype_graph.c: New file.
57255         * lib/unictype/ctype_lower.c: New file.
57256         * lib/unictype/ctype_print.c: New file.
57257         * lib/unictype/ctype_punct.c: New file.
57258         * lib/unictype/ctype_space.c: New file.
57259         * lib/unictype/ctype_upper.c: New file.
57260         * lib/unictype/ctype_xdigit.c: New file.
57261         * lib/unictype/decdigit.c: New file.
57262         * lib/unictype/digit.c: New file.
57263         * lib/unictype/identsyntaxmap.h: New file.
57264         * lib/unictype/mirror.c: New file.
57265         * lib/unictype/numeric.c: New file.
57266         * lib/unictype/pr_alphabetic.c: New file.
57267         * lib/unictype/pr_ascii_hex_digit.c: New file.
57268         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57269         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57270         * lib/unictype/pr_bidi_block_separator.c: New file.
57271         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57272         * lib/unictype/pr_bidi_common_separator.c: New file.
57273         * lib/unictype/pr_bidi_control.c: New file.
57274         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57275         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57276         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57277         * lib/unictype/pr_bidi_european_digit.c: New file.
57278         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57279         * lib/unictype/pr_bidi_left_to_right.c: New file.
57280         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57281         * lib/unictype/pr_bidi_other_neutral.c: New file.
57282         * lib/unictype/pr_bidi_pdf.c: New file.
57283         * lib/unictype/pr_bidi_segment_separator.c: New file.
57284         * lib/unictype/pr_bidi_whitespace.c: New file.
57285         * lib/unictype/pr_byname.c: New file.
57286         * lib/unictype/pr_byname.gperf: New file.
57287         * lib/unictype/pr_combining.c: New file.
57288         * lib/unictype/pr_composite.c: New file.
57289         * lib/unictype/pr_currency_symbol.c: New file.
57290         * lib/unictype/pr_dash.c: New file.
57291         * lib/unictype/pr_decimal_digit.c: New file.
57292         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57293         * lib/unictype/pr_deprecated.c: New file.
57294         * lib/unictype/pr_diacritic.c: New file.
57295         * lib/unictype/pr_extender.c: New file.
57296         * lib/unictype/pr_format_control.c: New file.
57297         * lib/unictype/pr_grapheme_base.c: New file.
57298         * lib/unictype/pr_grapheme_extend.c: New file.
57299         * lib/unictype/pr_grapheme_link.c: New file.
57300         * lib/unictype/pr_hex_digit.c: New file.
57301         * lib/unictype/pr_hyphen.c: New file.
57302         * lib/unictype/pr_id_continue.c: New file.
57303         * lib/unictype/pr_id_start.c: New file.
57304         * lib/unictype/pr_ideographic.c: New file.
57305         * lib/unictype/pr_ids_binary_operator.c: New file.
57306         * lib/unictype/pr_ids_trinary_operator.c: New file.
57307         * lib/unictype/pr_ignorable_control.c: New file.
57308         * lib/unictype/pr_iso_control.c: New file.
57309         * lib/unictype/pr_join_control.c: New file.
57310         * lib/unictype/pr_left_of_pair.c: New file.
57311         * lib/unictype/pr_line_separator.c: New file.
57312         * lib/unictype/pr_logical_order_exception.c: New file.
57313         * lib/unictype/pr_lowercase.c: New file.
57314         * lib/unictype/pr_math.c: New file.
57315         * lib/unictype/pr_non_break.c: New file.
57316         * lib/unictype/pr_not_a_character.c: New file.
57317         * lib/unictype/pr_numeric.c: New file.
57318         * lib/unictype/pr_other_alphabetic.c: New file.
57319         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57320         * lib/unictype/pr_other_grapheme_extend.c: New file.
57321         * lib/unictype/pr_other_id_continue.c: New file.
57322         * lib/unictype/pr_other_id_start.c: New file.
57323         * lib/unictype/pr_other_lowercase.c: New file.
57324         * lib/unictype/pr_other_math.c: New file.
57325         * lib/unictype/pr_other_uppercase.c: New file.
57326         * lib/unictype/pr_paired_punctuation.c: New file.
57327         * lib/unictype/pr_paragraph_separator.c: New file.
57328         * lib/unictype/pr_pattern_syntax.c: New file.
57329         * lib/unictype/pr_pattern_white_space.c: New file.
57330         * lib/unictype/pr_private_use.c: New file.
57331         * lib/unictype/pr_punctuation.c: New file.
57332         * lib/unictype/pr_quotation_mark.c: New file.
57333         * lib/unictype/pr_radical.c: New file.
57334         * lib/unictype/pr_sentence_terminal.c: New file.
57335         * lib/unictype/pr_soft_dotted.c: New file.
57336         * lib/unictype/pr_space.c: New file.
57337         * lib/unictype/pr_terminal_punctuation.c: New file.
57338         * lib/unictype/pr_test.c: New file.
57339         * lib/unictype/pr_titlecase.c: New file.
57340         * lib/unictype/pr_unassigned_code_value.c: New file.
57341         * lib/unictype/pr_unified_ideograph.c: New file.
57342         * lib/unictype/pr_uppercase.c: New file.
57343         * lib/unictype/pr_variation_selector.c: New file.
57344         * lib/unictype/pr_white_space.c: New file.
57345         * lib/unictype/pr_xid_continue.c: New file.
57346         * lib/unictype/pr_xid_start.c: New file.
57347         * lib/unictype/pr_zero_width.c: New file.
57348         * lib/unictype/scripts.c: New file.
57349         * lib/unictype/sy_c_ident.c: New file.
57350         * lib/unictype/sy_c_whitespace.c: New file.
57351         * lib/unictype/sy_java_ident.c: New file.
57352         * lib/unictype/sy_java_whitespace.c: New file.
57353
57354         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
57355         Unicode 5.0.0.
57356         * lib/unictype/blocks.h: Likewise.
57357         * lib/unictype/categ_C.h: Likewise.
57358         * lib/unictype/categ_Cc.h: Likewise.
57359         * lib/unictype/categ_Cf.h: Likewise.
57360         * lib/unictype/categ_Cn.h: Likewise.
57361         * lib/unictype/categ_Co.h: Likewise.
57362         * lib/unictype/categ_Cs.h: Likewise.
57363         * lib/unictype/categ_L.h: Likewise.
57364         * lib/unictype/categ_Ll.h: Likewise.
57365         * lib/unictype/categ_Lm.h: Likewise.
57366         * lib/unictype/categ_Lo.h: Likewise.
57367         * lib/unictype/categ_Lt.h: Likewise.
57368         * lib/unictype/categ_Lu.h: Likewise.
57369         * lib/unictype/categ_M.h: Likewise.
57370         * lib/unictype/categ_Mc.h: Likewise.
57371         * lib/unictype/categ_Me.h: Likewise.
57372         * lib/unictype/categ_Mn.h: Likewise.
57373         * lib/unictype/categ_N.h: Likewise.
57374         * lib/unictype/categ_Nd.h: Likewise.
57375         * lib/unictype/categ_Nl.h: Likewise.
57376         * lib/unictype/categ_No.h: Likewise.
57377         * lib/unictype/categ_P.h: Likewise.
57378         * lib/unictype/categ_Pc.h: Likewise.
57379         * lib/unictype/categ_Pd.h: Likewise.
57380         * lib/unictype/categ_Pe.h: Likewise.
57381         * lib/unictype/categ_Pf.h: Likewise.
57382         * lib/unictype/categ_Pi.h: Likewise.
57383         * lib/unictype/categ_Po.h: Likewise.
57384         * lib/unictype/categ_Ps.h: Likewise.
57385         * lib/unictype/categ_S.h: Likewise.
57386         * lib/unictype/categ_Sc.h: Likewise.
57387         * lib/unictype/categ_Sk.h: Likewise.
57388         * lib/unictype/categ_Sm.h: Likewise.
57389         * lib/unictype/categ_So.h: Likewise.
57390         * lib/unictype/categ_Z.h: Likewise.
57391         * lib/unictype/categ_Zl.h: Likewise.
57392         * lib/unictype/categ_Zp.h: Likewise.
57393         * lib/unictype/categ_Zs.h: Likewise.
57394         * lib/unictype/categ_of.h: Likewise.
57395         * lib/unictype/combining.h: Likewise.
57396         * lib/unictype/ctype_alnum.h: Likewise.
57397         * lib/unictype/ctype_alpha.h: Likewise.
57398         * lib/unictype/ctype_blank.h: Likewise.
57399         * lib/unictype/ctype_cntrl.h: Likewise.
57400         * lib/unictype/ctype_digit.h: Likewise.
57401         * lib/unictype/ctype_graph.h: Likewise.
57402         * lib/unictype/ctype_lower.h: Likewise.
57403         * lib/unictype/ctype_print.h: Likewise.
57404         * lib/unictype/ctype_punct.h: Likewise.
57405         * lib/unictype/ctype_space.h: Likewise.
57406         * lib/unictype/ctype_upper.h: Likewise.
57407         * lib/unictype/ctype_xdigit.h: Likewise.
57408         * lib/unictype/decdigit.h: Likewise.
57409         * lib/unictype/digit.h: Likewise.
57410         * lib/unictype/mirror.h: Likewise.
57411         * lib/unictype/numeric.h: Likewise.
57412         * lib/unictype/pr_alphabetic.h: Likewise.
57413         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
57414         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
57415         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
57416         * lib/unictype/pr_bidi_block_separator.h: Likewise.
57417         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
57418         * lib/unictype/pr_bidi_common_separator.h: Likewise.
57419         * lib/unictype/pr_bidi_control.h: Likewise.
57420         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
57421         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
57422         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
57423         * lib/unictype/pr_bidi_european_digit.h: Likewise.
57424         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
57425         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
57426         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
57427         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
57428         * lib/unictype/pr_bidi_pdf.h: Likewise.
57429         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
57430         * lib/unictype/pr_bidi_whitespace.h: Likewise.
57431         * lib/unictype/pr_combining.h: Likewise.
57432         * lib/unictype/pr_composite.h: Likewise.
57433         * lib/unictype/pr_currency_symbol.h: Likewise.
57434         * lib/unictype/pr_dash.h: Likewise.
57435         * lib/unictype/pr_decimal_digit.h: Likewise.
57436         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
57437         * lib/unictype/pr_deprecated.h: Likewise.
57438         * lib/unictype/pr_diacritic.h: Likewise.
57439         * lib/unictype/pr_extender.h: Likewise.
57440         * lib/unictype/pr_format_control.h: Likewise.
57441         * lib/unictype/pr_grapheme_base.h: Likewise.
57442         * lib/unictype/pr_grapheme_extend.h: Likewise.
57443         * lib/unictype/pr_grapheme_link.h: Likewise.
57444         * lib/unictype/pr_hex_digit.h: Likewise.
57445         * lib/unictype/pr_hyphen.h: Likewise.
57446         * lib/unictype/pr_id_continue.h: Likewise.
57447         * lib/unictype/pr_id_start.h: Likewise.
57448         * lib/unictype/pr_ideographic.h: Likewise.
57449         * lib/unictype/pr_ids_binary_operator.h: Likewise.
57450         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
57451         * lib/unictype/pr_ignorable_control.h: Likewise.
57452         * lib/unictype/pr_iso_control.h: Likewise.
57453         * lib/unictype/pr_join_control.h: Likewise.
57454         * lib/unictype/pr_left_of_pair.h: Likewise.
57455         * lib/unictype/pr_line_separator.h: Likewise.
57456         * lib/unictype/pr_logical_order_exception.h: Likewise.
57457         * lib/unictype/pr_lowercase.h: Likewise.
57458         * lib/unictype/pr_math.h: Likewise.
57459         * lib/unictype/pr_non_break.h: Likewise.
57460         * lib/unictype/pr_not_a_character.h: Likewise.
57461         * lib/unictype/pr_numeric.h: Likewise.
57462         * lib/unictype/pr_other_alphabetic.h: Likewise.
57463         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
57464         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
57465         * lib/unictype/pr_other_id_continue.h: Likewise.
57466         * lib/unictype/pr_other_id_start.h: Likewise.
57467         * lib/unictype/pr_other_lowercase.h: Likewise.
57468         * lib/unictype/pr_other_math.h: Likewise.
57469         * lib/unictype/pr_other_uppercase.h: Likewise.
57470         * lib/unictype/pr_paired_punctuation.h: Likewise.
57471         * lib/unictype/pr_paragraph_separator.h: Likewise.
57472         * lib/unictype/pr_pattern_syntax.h: Likewise.
57473         * lib/unictype/pr_pattern_white_space.h: Likewise.
57474         * lib/unictype/pr_private_use.h: Likewise.
57475         * lib/unictype/pr_punctuation.h: Likewise.
57476         * lib/unictype/pr_quotation_mark.h: Likewise.
57477         * lib/unictype/pr_radical.h: Likewise.
57478         * lib/unictype/pr_sentence_terminal.h: Likewise.
57479         * lib/unictype/pr_soft_dotted.h: Likewise.
57480         * lib/unictype/pr_space.h: Likewise.
57481         * lib/unictype/pr_terminal_punctuation.h: Likewise.
57482         * lib/unictype/pr_titlecase.h: Likewise.
57483         * lib/unictype/pr_unassigned_code_value.h: Likewise.
57484         * lib/unictype/pr_unified_ideograph.h: Likewise.
57485         * lib/unictype/pr_uppercase.h: Likewise.
57486         * lib/unictype/pr_variation_selector.h: Likewise.
57487         * lib/unictype/pr_white_space.h: Likewise.
57488         * lib/unictype/pr_xid_continue.h: Likewise.
57489         * lib/unictype/pr_xid_start.h: Likewise.
57490         * lib/unictype/pr_zero_width.h: Likewise.
57491         * lib/unictype/scripts.h: Likewise.
57492         * lib/unictype/scripts_byname.gperf: Likewise.
57493         * lib/unictype/sy_c_ident.h: Likewise.
57494         * lib/unictype/sy_c_whitespace.h: Likewise.
57495         * lib/unictype/sy_java_ident.h: Likewise.
57496         * lib/unictype/sy_java_whitespace.h: Likewise.
57497
57498         * lib/unictype/Makefile: New file.
57499         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
57500         glibc.
57501         * lib/unictype/3level.h: New file, copied from glibc.
57502         * lib/unictype/3levelbit.h: New file.
57503
57504 2007-11-11  Bruno Haible  <bruno@clisp.org>
57505
57506         * modules/gperf: New file.
57507         * modules/iconv_open (Depends-on): Add it.
57508         (Makefile.am): Remove the GPERF definition.
57509
57510 2007-11-11  Bruno Haible  <bruno@clisp.org>
57511
57512         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
57513         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
57514
57515 2007-11-11  Bruno Haible  <bruno@clisp.org>
57516
57517         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
57518         (usage): Remove function.
57519
57520 2007-11-11  Bruno Haible  <bruno@clisp.org>
57521
57522         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
57523         gl_FUNC_CEILF_LIBS.
57524         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
57525         gl_FUNC_CEIL_LIBS.
57526         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
57527         gl_FUNC_CEILL_LIBS.
57528         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
57529         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
57530         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
57531
57532 2007-11-11  Bruno Haible  <bruno@clisp.org>
57533
57534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
57535         roundf were declared but do not exist on functions.
57536         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
57537         roundl were declared but do not exist on functions.
57538         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
57539         HAVE_FLOORL_AND_CEILL, respectively.
57540         Needed for Sun C on Solaris 10.
57541
57542 2007-11-11  Bruno Haible  <bruno@clisp.org>
57543
57544         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
57545         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
57546         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
57547         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
57548         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
57549         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
57550         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
57551         HAVE_DECL_ROUNDF.
57552         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
57553         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
57554         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
57555         of HAVE_DECL_ROUND*.
57556         * modules/math (Makefile.am): Update.
57557
57558 2007-11-10  Bruno Haible  <bruno@clisp.org>
57559
57560         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
57561         ptrdiff_t as m4/intl.m4.
57562
57563 2007-11-10  Jim Meyering  <meyering@redhat.com>
57564
57565         Avoid link failure for the argmatch test.
57566         * tests/test-argmatch.c (usage): Define function to avoid a link
57567         failure: argmatch_die requires a usage function.
57568
57569 2007-11-09  Bruno Haible  <bruno@clisp.org>
57570
57571         * doc/functions/snprintf.texi: Mention BeOS deficiency.
57572         * doc/functions/vsnprintf.texi: Likewise.
57573         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
57574         with a size argument < 2.
57575
57576 2007-11-09  Bruno Haible  <bruno@clisp.org>
57577
57578         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
57579         buffer. Fixes an inefficiency introduced on 2007-11-03.
57580
57581 2007-11-09  Bruno Haible  <bruno@clisp.org>
57582
57583         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
57584         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
57585
57586 2007-11-08  Jim Meyering  <meyering@redhat.com>
57587
57588         Change cache variable name prefix "jm_" to "gl_" everywhere.
57589         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
57590         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
57591         * m4/uptime.m4: s/gl_/jm_/
57592
57593 2007-11-07  Bruno Haible  <bruno@clisp.org>
57594
57595         Update to GNU gettext 0.17.
57596         * m4/intl.m4: Update to GNU gettext 0.17.
57597         * m4/po.m4: Likewise.
57598         * modules/gettext (Files): Remove m4/ulonglong.m4.
57599         (configure.ac): Require gettext infrastructure from version 0.17.
57600
57601 2007-11-06  Bruno Haible  <bruno@clisp.org>
57602
57603         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
57604         symbolic values are not defined in a public header.
57605         * lib/freadable.c (freadable) [QNX]: Likewise.
57606         * lib/freadahead.c (freadahead) [QNX]: Likewise.
57607         * lib/freading.c (freading) [QNX]: Likewise.
57608         * lib/fseterr.c (fseterr) [QNX]: Likewise.
57609         * lib/fwritable.c (fwritable) [QNX]: Likewise.
57610         * lib/fwriting.c (fwriting) [QNX]: Likewise.
57611         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
57612         Reported by Alain Magloire.
57613
57614         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
57615
57616 2007-11-05  Bruno Haible  <bruno@clisp.org>
57617
57618         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
57619         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
57620         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
57621         Reported by Eric Blake.
57622
57623 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57624             Bruno Haible  <bruno@clisp.org>
57625
57626         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
57627         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
57628         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
57629         (malloc): Undefine also before including <stdlib.h>.
57630         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
57631         Needed on OSF/1 4.0.
57632
57633 2007-11-05  Jim Meyering  <meyering@redhat.com>
57634
57635         git-version-gen: sync from coreutils.
57636         * build-aux/git-version-gen: Add comments.
57637         Change the first '-' to '.' in the snapshot version string,
57638         e.g., 6.9-377-08144 -> 6.9.377-08144
57639         Remove first parameter.
57640         Don't declare a version "-dirty" merely because a time
57641         stamp has changed.
57642
57643 2007-11-04  Bruno Haible  <bruno@clisp.org>
57644
57645         * lib/lock.h: Protect all macro definitions containing an 'if'
57646         statement through a "do { ... } while (0)".
57647         * lib/tls.h: Likewise.
57648
57649 2007-11-04  Bruno Haible  <bruno@clisp.org>
57650
57651         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
57652
57653 2007-11-04  Bruno Haible  <bruno@clisp.org>
57654
57655         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
57656         * modules/fprintf-posix (Depends-on): Add nocrash.
57657         * modules/snprintf-posix (Depends-on): Likewise.
57658         * modules/sprintf-posix (Depends-on): Likewise.
57659         * modules/vasnprintf-posix (Depends-on): Likewise.
57660         * modules/vasprintf-posix (Depends-on): Likewise.
57661         * modules/vfprintf-posix (Depends-on): Likewise.
57662         * modules/vsnprintf-posix (Depends-on): Likewise.
57663         * modules/vsprintf-posix (Depends-on): Likewise.
57664         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57665         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57666         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57667         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57668         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57669         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57670         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57671
57672 2007-11-04  Bruno Haible  <bruno@clisp.org>
57673
57674         * modules/nocrash: New file.
57675         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
57676         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
57677
57678 2007-11-04  Bruno Haible  <bruno@clisp.org>
57679
57680         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
57681         precision handling.
57682         * tests/test-vasprintf-posix.c (test_function): Likewise.
57683         * tests/test-snprintf-posix.h (test_function): Likewise.
57684         * tests/test-sprintf-posix.h (test_function): Likewise.
57685
57686         Fix *printf behaviour for large precisions on mingw and BeOS.
57687         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
57688         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
57689         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
57690         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57691         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57692         gl_PRINTF_PRECISION and test its result. Invoke
57693         gl_PREREQ_VASNPRINTF_PRECISION.
57694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57695         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57696         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57697         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57698         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57701         * doc/functions/fprintf.texi: Update.
57702         * doc/functions/printf.texi: Update.
57703         * doc/functions/snprintf.texi: Update.
57704         * doc/functions/sprintf.texi: Update.
57705         * doc/functions/vfprintf.texi: Update.
57706         * doc/functions/vprintf.texi: Update.
57707         * doc/functions/vsnprintf.texi: Update.
57708         * doc/functions/vsprintf.texi: Update.
57709
57710 2007-11-04  Bruno Haible  <bruno@clisp.org>
57711
57712         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
57713
57714 2007-11-04  Bruno Haible  <bruno@clisp.org>
57715
57716         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
57717         Reported by Sylvain Beucler <beuc@gnu.org>.
57718
57719 2007-11-03  Bruno Haible  <bruno@clisp.org>
57720
57721         * tests/test-fprintf-posix2.sh: New file.
57722         * tests/test-fprintf-posix2.c: New file.
57723         * modules/fprintf-posix-tests (Files): Add them.
57724         (TESTS): Add test-fprintf-posix2.sh.
57725         (configure.ac): Check for getrlimit and setrlimit.
57726         (check_PROGRAMS): Add test-fprintf-posix2.
57727
57728         * tests/test-printf-posix2.sh: New file.
57729         * tests/test-printf-posix2.c: New file.
57730         * modules/printf-posix-tests (Files): Add them.
57731         (TESTS): Add test-printf-posix2.sh.
57732         (configure.ac): Check for getrlimit and setrlimit.
57733         (check_PROGRAMS): Add test-printf-posix2.
57734
57735         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
57736         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
57737         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
57738         (decode_double): New function, copied from decode_long_double.
57739         (scale10_round_decimal_decoded): New function, extracted from
57740         scale10_round_decimal_long_double.
57741         (scale10_round_decimal_long_double): Use it.
57742         (scale10_round_decimal_double): New function.
57743         (floorlog10): New function.
57744         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
57745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
57746         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57747         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57748         gl_PRINTF_ENOMEM and test its result. Invoke
57749         gl_PREREQ_VASNPRINTF_ENOMEM.
57750         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57751         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57757         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
57758         * modules/snprintf-posix (Depends-on): Likewise.
57759         * modules/sprintf-posix (Depends-on): Likewise.
57760         * modules/vasnprintf-posix (Depends-on): Likewise.
57761         * modules/vasprintf-posix (Depends-on): Likewise.
57762         * modules/vfprintf-posix (Depends-on): Likewise.
57763         * modules/vsnprintf-posix (Depends-on): Likewise.
57764         * modules/vsprintf-posix (Depends-on): Likewise.
57765         * doc/functions/fprintf.texi: Update.
57766         * doc/functions/printf.texi: Update.
57767         * doc/functions/snprintf.texi: Update.
57768         * doc/functions/sprintf.texi: Update.
57769         * doc/functions/vfprintf.texi: Update.
57770         * doc/functions/vprintf.texi: Update.
57771         * doc/functions/vsnprintf.texi: Update.
57772         * doc/functions/vsprintf.texi: Update.
57773
57774 2007-11-03  Bruno Haible  <bruno@clisp.org>
57775
57776         * modules/frexp-nolibm-tests: New file.
57777
57778         * modules/frexp-nolibm: New file.
57779         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
57780
57781 2007-11-03  Bruno Haible  <bruno@clisp.org>
57782
57783         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
57784         value is C99 compliant.
57785         Needed for OSF/1 5.1.
57786
57787 2007-11-03  Bruno Haible  <bruno@clisp.org>
57788
57789         Fix out-of-memory handling of vasnprintf.
57790         * lib/printf-parse.c: Include <errno.h>.
57791         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
57792         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
57793         is already set.
57794
57795 2007-11-02  Eric Blake  <ebb9@byu.net>
57796
57797         Fix tests on cygwin.
57798         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
57799
57800 2007-11-01  Bruno Haible  <bruno@clisp.org>
57801
57802         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
57803         warning.
57804         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
57805         needed for POSIX compatibility.
57806
57807 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57808
57809         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
57810         for compatibility with GNU.
57811
57812 2007-11-01  Bruno Haible  <bruno@clisp.org>
57813
57814         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
57815         (putenv): Renamed from rpl_putenv. Change argument type from
57816         'const char *' to 'char *'.
57817         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
57818         of defining putenv in config.h, just set REPLACE_PUTENV.
57819         * modules/putenv (Depends-on): Add stdlib.
57820         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57821         (Include): Use <stdlib.h>.
57822         * lib/stdlib.in.h (putenv): New declaration.
57823         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
57824         REPLACE_PUTENV.
57825         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
57826         REPLACE_PUTENV.
57827         Needed for MacOS X 10.5.0.
57828         Reported by Peter O'Gorman <peter@pogma.com>.
57829
57830 2007-11-01  Jim Meyering  <meyering@redhat.com>
57831
57832         Treat an empty date string exactly like "0".
57833         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
57834         if the remaining date string (to be parsed) is empty, use "0".
57835         Reported by Mischa Molhoek and discussed in this thread:
57836         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
57837
57838 2007-10-31  Bruno Haible  <bruno@clisp.org>
57839
57840         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
57841         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
57842         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
57843         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
57844         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
57845         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
57846
57847 2007-10-31  Bruno Haible  <bruno@clisp.org>
57848
57849         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
57850         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
57851         (AC_TYPE_LONG_LONG_INT): Use it.
57852         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
57853         it as well.
57854         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
57855         to m4/longlong.m4.
57856         * modules/stdint (Files): Remove m4/ulonglong.m4.
57857         * modules/strtoull (Files): Use m4/longlong.m4 instead of
57858         m4/ulonglong.m4.
57859         * modules/strtoumax (Files): Likewise.
57860
57861 2007-10-30  Bruno Haible  <bruno@clisp.org>
57862
57863         * modules/xvasprintf-posix: New file.
57864         Suggested by Eric Blake.
57865
57866 2007-10-30  Bruno Haible  <bruno@clisp.org>
57867
57868         * modules/xprintf-posix-tests: New file.
57869         * tests/test-xprintf-posix.sh: New file.
57870         * tests/test-xprintf-posix.c: New file.
57871         * tests/test-xfprintf-posix.c: New file.
57872
57873         * modules/xprintf-posix: New file.
57874
57875 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57876
57877         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
57878         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
57879         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
57880
57881 2007-10-29  Bruno Haible  <bruno@clisp.org>
57882
57883         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
57884         contain the special marker '_cv_'.
57885         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
57886         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
57887         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
57888         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
57889         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
57890         Reported by Ralf Wildenhues.
57891
57892 2007-10-29  Bruno Haible  <bruno@clisp.org>
57893
57894         * gnulib-tool (func_import): When --lgpl is not specified, set
57895         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
57896         GPLv3.
57897         Reported by Simon Josefsson.
57898
57899 2007-10-28  Bruno Haible  <bruno@clisp.org>
57900
57901         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
57902         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
57903         HAVE_DECL_ISFINITE.
57904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57905         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
57906         HAVE_DECL_ISFINITE.
57907
57908 2007-10-28  Bruno Haible  <bruno@clisp.org>
57909
57910         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
57911         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
57912
57913 2007-10-28  Bruno Haible  <bruno@clisp.org>
57914
57915         Fix link errors with Sun C 5.0 on Solaris 10.
57916         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
57917         function is declared but not present in the compiler's libm.
57918         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
57919         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
57920         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
57921         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
57922         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
57923         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
57924         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
57925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
57926         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
57927         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
57928         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
57929         HAVE_DECL_FLOORL.
57930
57931 2007-10-28  Bruno Haible  <bruno@clisp.org>
57932
57933         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
57934         gl_FUNC_FLOORL. Cache the result.
57935         (gl_FUNC_FLOORL): Use it.
57936         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
57937         gl_FUNC_CEILL. Cache the result.
57938         (gl_FUNC_CEILL): Use it.
57939
57940         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
57941         gl_FUNC_FLOOR. Cache the result.
57942         (gl_FUNC_FLOOR): Use it.
57943         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
57944         gl_FUNC_CEIL. Cache the result.
57945         (gl_FUNC_CEIL): Use it.
57946
57947         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
57948         gl_FUNC_FLOORF. Cache the result.
57949         (gl_FUNC_FLOORF): Use it.
57950         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
57951         gl_FUNC_CEILF. Cache the result.
57952         (gl_FUNC_CEILF): Use it.
57953
57954 2007-10-28  Bruno Haible  <bruno@clisp.org>
57955
57956         * gnulib-tool: Allow specifying the LGPL version number through
57957         --lgpl=2 or --lgpl=3.
57958         (func_usage): Document --lgpl with argument.
57959         Handle --lgpl=... arguments.
57960         (func_import): Recognize also gl_LGPL calls with an argument. When
57961         --lgpl=2 is used and the module's license is just LGPL, report an
57962         error. Set sed_transform_lib_file according to the lgpl variable. In
57963         the generated files, use --lgpl or gl_LGPL invocations with argument,
57964         if necessary.
57965         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57966         an LGPv2+ license.
57967         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57968         gl_LGPL macro.
57969
57970 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57971             Bruno Haible  <bruno@clisp.org>
57972
57973         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57974         (u16_uctomb_aux): Likewise.
57975         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57976         !HAVE_INLINE.
57977         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57978
57979 2007-10-28  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57982         Invoke AM_GETTEXT_OPTION if it exists.
57983         * modules/vasprintf: Likewise.
57984         * modules/verror: Likewise.
57985         * modules/xprintf: Likewise.
57986         * modules/xvasprintf: Likewise.
57987
57988 2007-10-27  Ben Pfaff  <blp@gnu.org>
57989
57990         * lib/math.in.h: Define isfinite macro and prototypes for
57991         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57992         implementations.
57993         * m4/math_h.m4: New substitutions for isfinite module.
57994         * lib/isfinite.c: New file.
57995         * m4/isfinite.m4: New file.
57996         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57997         * modules/isfinite: New file.
57998         * modules/isfinite-tests: New file.
57999         * tests/tests-isfinite.c: New file.
58000         * doc/functions/isfinite.texi: Mention isfinite module.
58001         * MODULES.html.sh: Mention new module.
58002
58003 2007-10-27  Ben Pfaff  <blp@gnu.org>
58004
58005         Ralf Wildenhues reported that Tru64 4.0D declares the round
58006         functions but does not have definitions.
58007         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58008         cannot be found in any library, set the output variable to
58009         "missing" instead of "".
58010         * m4/round.m4: Also use our substitute if we cannot find round in
58011         any library, even if it is declared.
58012         * m4/roundf.m4: Likewise for roundf.
58013         * m4/roundl.m4: Likewise for roundl.
58014         * lib/math.in.h: Undefine roundf, round, roundl before defining
58015         their replacements, to allow for hypothetical systems where these
58016         may be defined as macros but not available in libraries.
58017
58018 2007-10-27  Bruno Haible  <bruno@clisp.org>
58019
58020         * doc/gnulib.texi: Invoke @firstparagraphindent.
58021         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58022         changes in gnulib.
58023         (Source changes): New section.
58024
58025 2007-10-26  Bruno Haible  <bruno@clisp.org>
58026
58027         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58028         borrowed from autoconf.
58029
58030 2007-10-26  Bruno Haible  <bruno@clisp.org>
58031
58032         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58033         strerror returned the empty string. Needed on HP-UX 11.00.
58034
58035 2007-10-24  Micah Cowan  <micah@cowan.name>
58036
58037         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58038         * build-aux/bootstrap: Remove support for now-unnecessary option,
58039         --cvs-user, and envvars CVS_USER, CVS_RSH.
58040
58041 2007-10-24  Jim Meyering  <meyering@redhat.com>
58042
58043         Avoid diagnostics from sha1sum when there is no cached checksum.
58044         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58045         if the po.s1 file hasn't been created yet.
58046
58047         * build-aux/bootstrap: Sync from coreutils:
58048         2007-10-24  Jim Meyering  <meyering@redhat.com>
58049         Get gnulib from the git repository, not from an obsolete cvs one.
58050         * build-aux/bootstrap: Suggestion from Micah Cowan.
58051         2007-10-04  Jim Meyering  <jim@meyering.net>
58052         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58053         (update_po_files): Work also when there are no .po files in po/.
58054
58055 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58056
58057         * README: Append ".git" to git and cg examples.
58058         Problem reported by Benoit Sigoure.
58059
58060 2007-10-23  Micah Cowan  <micah@cowan.name>
58061
58062         * users.txt: Add wget.
58063
58064 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58065
58066         Fix linking of some unistdio tests on FreeBSD.
58067         * modules/unistdio/u16-vsnprintf-tests
58068         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58069         * modules/unistdio/u16-vsprintf-tests
58070         (test_u16_vsnprintf1_LDADD): Likewise.
58071         * modules/unistdio/u32-vsnprintf-tests
58072         (test_u32_vsnprintf1_LDADD): Likewise.
58073         * modules/unistdio/u32-vsprintf-tests
58074         (test_u32_vsprintf1_LDADD): Likewise.
58075         * modules/unistdio/u8-vsnprintf-tests
58076         (test_u8_vsnprintf1_LDADD): Likewise.
58077         * modules/unistdio/u8-vsprintf-tests
58078         (test_u8_vsprintf1_LDADD): Likewise.
58079         * modules/unistdio/ulc-vsnprintf-tests
58080         (test_ulc_vsnprintf1_LDADD): Likewise.
58081         * modules/unistdio/ulc-vsprintf-tests
58082         (test_ulc_vsprintf1_LDADD): Likewise.
58083
58084         Fix linking of some uniconv tests on FreeBSD.
58085         * modules/uniconv/u16-conv-from-enc-tests
58086         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58087         * modules/uniconv/u16-conv-to-enc-tests
58088         (test_u16_conv_to_enc_LDADD): Likewise.
58089         * modules/uniconv/u16-strconv-from-enc-tests
58090         (test_u16_strconv_from_enc_LDADD): Likewise.
58091         * modules/uniconv/u16-strconv-to-enc-tests
58092         (test_u16_strconv_to_enc_LDADD): Likewise.
58093         * modules/uniconv/u32-conv-from-enc-tests
58094         (test_u32_conv_from_enc_LDADD): Likewise.
58095         * modules/uniconv/u32-conv-to-enc-tests
58096         (test_u32_conv_to_enc_LDADD): Likewise.
58097         * modules/uniconv/u32-strconv-from-enc-tests
58098         (test_u32_strconv_from_enc_LDADD): Likewise.
58099         * modules/uniconv/u32-strconv-to-enc-tests
58100         (test_u32_strconv_to_enc_LDADD): Likewise.
58101         * modules/uniconv/u8-conv-from-enc-tests
58102         (test_u8_conv_from_enc_LDADD): Likewise.
58103         * modules/uniconv/u8-conv-to-enc-tests
58104         (test_u8_conv_to_enc_LDADD): Likewise.
58105         * modules/uniconv/u8-strconv-from-enc-tests
58106         (test_u8_strconv_from_enc_LDADD): Likewise.
58107         * modules/uniconv/u8-strconv-to-enc-tests
58108         (test_u8_strconv_to_enc_LDADD): Likewise.
58109
58110 2007-10-22  Bruno Haible  <bruno@clisp.org>
58111
58112         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58113         size.
58114
58115 2007-10-22  Eric Blake  <ebb9@byu.net>
58116
58117         Tweak x*printf documentation.
58118         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58119         variable name and comments.
58120         Suggested by Bruno Haible.
58121
58122 2007-10-22  Bruno Haible  <bruno@clisp.org>
58123
58124         * lib/acl.c (copy_acl): Fix file name in comment.
58125
58126 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58127
58128         Fix Tru64 problem with stdbool.h.
58129         * lib/stdbool.in.h (false, true):
58130         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58131         Don't declare as an enum in this situation; it runs afoul of Tru64.
58132         Problem reported by Steven M. Schweda in
58133         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58134
58135 2007-10-22  Eric Blake  <ebb9@byu.net>
58136
58137         Also wrap vf?printf.
58138         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58139         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58140         (xvprintf, xvfprintf): New functions.
58141
58142 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58143
58144         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58145         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58146
58147         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58148         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58149
58150 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58151
58152         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58153         by Bruno Haible.
58154
58155 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58156
58157         * lib/getloadavg.c
58158         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58159         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58160
58161         * tests/test-i-ring.c: Work for C89.
58162
58163 2007-10-22  Bruno Haible  <bruno@clisp.org>
58164
58165         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58166         -1u, in preprocessor expression, so that we don't test for the bug
58167         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58168         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58169
58170 2007-10-22  Eric Blake  <ebb9@byu.net>
58171
58172         * tests/test-yesno.sh: Silence stderr during test.
58173
58174 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58175
58176         * modules/crypto/gc-camellia: New file.
58177
58178         * m4/gc-camellia.m4: New file.
58179
58180         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58181
58182         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58183
58184 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58185
58186         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58187         --help to stdout.  Reported by sms@antinode.org (Steven
58188         M. Schweda).
58189
58190 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58191
58192         * users.txt: Fix link to libksba.
58193
58194 2007-10-21  Ben Pfaff  <blp@gnu.org>
58195
58196         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58197         round.c roundf implementation that depends on floorf and ceilf to
58198         be tested unconditionally.
58199
58200 2007-10-21  Ben Pfaff  <blp@gnu.org>
58201
58202         * m4/check-libm-func.m4: Removed.
58203         * m4/check-math-lib.m4: New file.
58204         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58205         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58206         definition and lack of AC_LIBOBJ([roundf]).
58207         * m4/roundl.m4: Ditto, and similarly for roundl.
58208         * modules/round: Reference new m4 file.
58209         * modules/roundf: Ditto.
58210         * modules/roundl: Ditto.
58211         * tests/test-round2.c (main): Use ROUND instead of round.
58212         Bug report from Bruno Haible.
58213
58214 2007-10-21  Bruno Haible  <bruno@clisp.org>
58215
58216         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58217         context.
58218
58219 2007-10-21  Bruno Haible  <bruno@clisp.org>
58220
58221         * tests/test-wcwidth.c (main): Allow negative result for some control
58222         characters.
58223
58224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58225         Needed on OSF/1 5.1.
58226
58227 2007-10-21  Bruno Haible  <bruno@clisp.org>
58228
58229         * tests/test-floorf1.c: Include isnanf.h.
58230         (main): Use isnanf() instead of isnan().
58231         * tests/test-ceilf1.c: Include isnanf.h.
58232         (main): Use isnanf() instead of isnan().
58233         * tests/test-truncf1.c: Include isnanf.h.
58234         (main): Use isnanf() instead of isnan().
58235         * tests/test-roundf1.c: Include isnanf.h.
58236         (main): Use isnanf() instead of isnan().
58237
58238 2007-10-21  Eric Blake  <ebb9@byu.net>
58239
58240         * users.txt: Update URL for m4.
58241
58242 2007-10-21  Bruno Haible  <bruno@clisp.org>
58243
58244         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58245
58246 2007-10-21  Bruno Haible  <bruno@clisp.org>
58247
58248         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58249         Git's management files if the CVS files are not present.
58250
58251 2007-10-20  Bruno Haible  <bruno@clisp.org>
58252
58253         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58254         gcc-3.4.x.
58255
58256 2007-10-20  Ben Pfaff  <blp@gnu.org>
58257
58258         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58259         implementations.
58260         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58261         * lib/round.c: New file.
58262         * lib/roundf.c: New file.
58263         * lib/roundl.c: New file.
58264         * m4/round.m4: New file.
58265         * m4/roundf.m4: New file.
58266         * m4/roundl.m4: New file.
58267         * m4/check-libm-func-m4: New file.
58268         * modules/math: Replace round, roundf, roundl related @VARS@ in
58269         math.in.h.
58270         * modules/round: New file.
58271         * modules/round-tests: New file.
58272         * modules/roundf: New file.
58273         * modules/roundf-tests: New file.
58274         * modules/roundl: New file.
58275         * modules/roundl-tests: New file.
58276         * tests/test-round1.c: New file.
58277         * tests/test-round2.c: New file.
58278         * tests/test-roundf1.c: New file.
58279         * tests/test-roundf2.c: New file.
58280         * tests/test-roundl.c: New file.
58281         * doc/functions/round.texi: Mention round module.
58282         * doc/functions/roundf.texi: Mention roundf module.
58283         * doc/functions/roundl.texi: Mention roundl module.
58284         * MODULES.html.sh: Mention new modules.
58285         Thanks to Bruno Haible for suggestions.
58286
58287 2007-10-20  Jim Meyering  <meyering@redhat.com>
58288
58289         * lib/xprintf.c: Include <config.h> unconditionally.
58290
58291         Change xprintf's license to GPL.
58292         * modules/xprintf (License): s/LGPL/GPL/, since this module
58293         depends on modules (exit and exitfail) which are GPL.
58294         Suggestion from Bruno Haible.
58295
58296         xprintf fixes.
58297         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58298         Use a clearer diagnostic.
58299         Patch from Bruno Haible.
58300
58301 2007-10-20  Bruno Haible  <bruno@clisp.org>
58302
58303         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58304         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58306
58307 2007-10-20  Bruno Haible  <bruno@clisp.org>
58308
58309         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58310         precision in the comparison result > x - 1 or similar.
58311         * tests/test-ceilf2.c (correct_result_p): Likewise.
58312         * tests/test-truncf2.c (correct_result_p): Likewise.
58313         * tests/test-trunc2.c (correct_result_p): Likewise.
58314         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58315
58316 2007-10-20  Bruno Haible  <bruno@clisp.org>
58317
58318         * modules/ceil: New file.
58319         * m4/ceil.m4: New file.
58320         * doc/functions/ceil.texi: Mention the 'ceil' module.
58321
58322 2007-10-20  Bruno Haible  <bruno@clisp.org>
58323
58324         * modules/floor: New file.
58325         * m4/floor.m4: New file.
58326         * doc/functions/floor.texi: Mention the 'floor' module.
58327
58328 2007-10-20  Bruno Haible  <bruno@clisp.org>
58329
58330         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
58331         of %a.
58332         * modules/floorf-tests (Depends-on): Likewise.
58333         * modules/truncf-tests (Depends-on): Likewise.
58334         * modules/trunc-tests (Depends-on): Likewise.
58335         Reported by Ben Pfaff.
58336
58337 2007-10-19  Jim Meyering  <meyering@redhat.com>
58338
58339         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
58340         Don't bother testing specific errno values.  Just test ferror.
58341
58342         New module: xprintf
58343         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
58344
58345 2007-10-19  Bruno Haible  <bruno@clisp.org>
58346
58347         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
58348         syntax.
58349         * modules/javaexec (Makefile.am): Likewise.
58350         * modules/relocatable-prog (Makefile.am): Likewise.
58351         Suggested by Jim Meyering.
58352
58353 2007-10-18  Bruno Haible  <bruno@clisp.org>
58354
58355         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
58356         Reported by Jim Meyering.
58357
58358 2007-10-18  Eric Blake  <ebb9@byu.net>
58359
58360         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
58361
58362 2007-10-18  Bruno Haible  <bruno@clisp.org>
58363
58364         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
58365         the format string into writable memory. Needed in Fortify conditions.
58366
58367 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
58368             Bruno Haible  <bruno@clisp.org>
58369
58370         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
58371         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
58372         * modules/trim (Depends-on): Add mbchar.
58373         (configure.ac): Add gl_FUNC_MBRTOWC.
58374         (Makefile.am): Augment lib_SOURCES.
58375
58376 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58377
58378         Modify glob.c to use fstatat and dirfd, to simplify it.
58379         Suggested by Eric Blake.
58380         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
58381         Don't include <stdbool.h>; not used.
58382         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
58383         (link_exists_p): Simplify implementation, since we can now assume
58384         dirfd and fstatat.
58385         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
58386
58387 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58388
58389         * gnulib-tool (func_get_dependencies): Fix sed script to
58390         match only tests.
58391
58392 2007-10-17  Bruno Haible  <bruno@clisp.org>
58393
58394         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
58395         allow locale names without encoding suffix.
58396         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58397         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58398
58399 2007-10-16  Bruno Haible  <bruno@clisp.org>
58400
58401         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
58402         * lib/getgroups.c (getgroups): Likewise.
58403         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
58404
58405 2007-10-16  Bruno Haible  <bruno@clisp.org>
58406
58407         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
58408         * modules/malloc-posix (License): Likewise.
58409         * modules/realloc-posix (License): Likewise.
58410         * modules/calloc-posix (License): Likewise.
58411         * modules/intprops (License): Change from GPL to LGPL, with
58412         Paul Eggert's approval.
58413
58414 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58415
58416         Merge glibc changes into lib/glob.c.
58417
58418         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
58419         2007-10-15 04:59:03 UTC.  Here are the changes:
58420
58421         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
58422
58423         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
58424
58425         * lib/glob.c: Add some branch prediction throughout.
58426
58427         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
58428
58429         [BZ #5103]
58430         * lib/glob.c (glob): Recognize patterns starting \/.
58431
58432         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
58433
58434         [BZ #3996]
58435         * lib/glob.c (attribute_hidden): Define if not defined.
58436         (glob): Unescape dirname, filename or username when needed and not
58437         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
58438         is NULL.  Handle unescaped [ in pattern without closing ].
58439         Don't pass GLOB_CHECK down to recursive glob for directories.
58440         (__glob_pattern_type): New function.
58441         (__glob_pattern_p): Implement using __glob_pattern_type.
58442         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
58443         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
58444         Remove unreachable code.
58445
58446         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
58447
58448         * lib/glob.c (glob_in_dir): Add some comments and asserts to
58449         explain why there are no leaks.
58450
58451         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
58452
58453         [BZ #3253]
58454         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
58455         time, rather allocate increasingly bigger arrays of pointers, if
58456         possible with alloca, if too large with malloc.
58457
58458 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
58459
58460         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
58461         Problem reported by H.Merijn Brand in
58462         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
58463         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
58464         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
58465
58466 2007-10-15  Bruno Haible  <bruno@clisp.org>
58467
58468         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
58469         with explicit rpl_ prefix.
58470         * lib/fopen.c (fopen): Likewise.
58471         * lib/freopen.c (freopen): Likewise.
58472         * lib/iconv.c (iconv): Likewise.
58473         * lib/iconv_close.c (iconv_close): Likewise.
58474
58475 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58476
58477         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
58478
58479 2007-10-15  Bruno Haible  <bruno@clisp.org>
58480
58481         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
58482         <stddef.h> instead of <stdlib.h> since we only need NULL.
58483         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58484
58485 2007-10-15  Bruno Haible  <bruno@clisp.org>
58486
58487         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
58488         Replace paragraph talking about LIBOBJS.
58489         Reported by Colin Watson <cjwatson@debian.org>.
58490
58491 2007-10-15  Bruno Haible  <bruno@clisp.org>
58492
58493         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
58494         <stdlib.h> before using NULL.
58495
58496 2007-10-15  Simon Josefsson  <simon@josefsson.org>
58497
58498         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
58499         Reported by Albert Chin <china@thewrittenword.com>.
58500
58501 2007-10-14  Bruno Haible  <bruno@clisp.org>
58502
58503         * modules/iconv_open-utf-tests: New file.
58504         * tests/test-iconv-utf.c: New file.
58505
58506         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
58507         * modules/iconv_open-utf: New file.
58508         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
58509         (iconv, iconv_close): New declarations.
58510         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
58511         be defined.
58512         (iconv_open): Add special handling of conversion between UTF-8 and
58513         UTF-{16,32}{BE,LE}.
58514         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
58515         * lib/iconv_close.c: New file.
58516         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
58517         gl_FUNC_ICONV_OPEN.
58518         (gl_FUNC_ICONV_OPEN): Use it.
58519         (gl_FUNC_ICONV_OPEN_UTF): New macro.
58520         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
58521         and REPLACE_ICONV_UTF.
58522         * modules/iconv_open (Depends-on): Add c-strcase.
58523         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
58524         ICONV_CONST.
58525         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
58526
58527 2007-10-13  Albert Chin  <china@thewrittenword.com>
58528             Bruno Haible  <bruno@clisp.org>
58529
58530         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
58531         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
58532
58533 2007-10-13  Bruno Haible  <bruno@clisp.org>
58534
58535         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
58536         defined, use the ISO C99 inline semantics.
58537         * lib/argp.h (ARGP_EI): Likewise.
58538
58539 2007-10-13  Bruno Haible  <bruno@clisp.org>
58540
58541         Handle 'inline' change in gcc 4.3.0.
58542         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
58543         argp_fmtstream_write, argp_fmtstream_set_lmargin,
58544         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
58545         argp_fmtstream_point): Disable 'extern' declaration if the function
58546         definition is going to be provided inline.
58547         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
58548         semantics, not the ISO C99 inline semantics.
58549         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
58550         'extern' declaration if the function definition is going to be provided
58551         inline.
58552         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
58553         the GNU C inline semantics, not the ISO C99 inline semantics. With
58554         GCC 4.2, avoid a warning.
58555
58556 2007-10-13  Bruno Haible  <bruno@clisp.org>
58557
58558         * lib/freading.h (freading): Enable the use of __freading for
58559         glibc >= 2.7.
58560         * lib/freading.c (freading): Likewise.
58561
58562 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
58563
58564         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
58565         "warning: C99 inline functions are not supported; using GNU89".
58566
58567 2007-10-12  Bruno Haible  <bruno@clisp.org>
58568
58569         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
58570         of 2.
58571         * tests/test-ceilf2.c: New file.
58572         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
58573
58574         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
58575         * modules/ceilf-tests: Update.
58576
58577 2007-10-12  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
58580         of 2.
58581         * tests/test-floorf2.c: New file.
58582         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
58583
58584         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
58585         * modules/floorf-tests: Update.
58586
58587 2007-10-12  Bruno Haible  <bruno@clisp.org>
58588
58589         * tests/test-trunc2.c: New file.
58590         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
58591
58592         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
58593         * modules/trunc-tests: Update.
58594
58595 2007-10-12  Bruno Haible  <bruno@clisp.org>
58596
58597         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
58598         of 2.
58599         * tests/test-truncf2.c: New file.
58600         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
58601
58602         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
58603         * modules/truncf-tests: Update.
58604
58605 2007-10-11  Eric Blake  <ebb9@byu.net>
58606
58607         Don't claim strerror is broken on Interix.
58608         * doc/functions/strerror.texi (strerror): Known broken systems are
58609         now Solaris 8, and not Interix.
58610         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
58611         Interix on cross-compile.
58612         Reported by Martin Koeppe in
58613         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
58614
58615 2007-10-11  Bruno Haible  <bruno@clisp.org>
58616
58617         * modules/i-ring-tests: New file.
58618         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
58619         instead of assert.
58620
58621 2007-10-11  Bruno Haible  <bruno@clisp.org>
58622
58623         * modules/filenamecat-tests: New file.
58624         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
58625         * lib/filenamecat.c: Remove test code.
58626
58627 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
58628
58629         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
58630
58631         * lib/strerror.c: Include <string.h> always, to test interface,
58632         and to remove the need for the dummy.
58633         Include intprops.h to compute width instead of doing it ourselves
58634         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
58635         (strerror): Define it to return NULL if there's no system strerror.
58636         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
58637         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
58638         ancient pre-strerror Unix systems well any more.  Saying "unknown
58639         system error" is enough.
58640         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
58641         simpler strerror.c implementation.
58642         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
58643         Simplify the tests to reflect the simpler strerror implementation.
58644         * modules/strerror (Depends-on): Add intprops.
58645
58646 2007-10-09  Eric Blake  <ebb9@byu.net>
58647
58648         Silence test-fpending.
58649         * modules/fpending-tests (Files): Add wrapper script.
58650         * tests/test-fpending.sh: New file.
58651
58652 2007-10-09  Bruno Haible  <bruno@clisp.org>
58653
58654         * MODULES.html.sh (func_module): Don't create a hyperlink for
58655         function names like 'printf_frexp'.
58656         (Misc): Add crc, memxor.
58657         (Characteristics of floating types): New section.
58658         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
58659         isnanf-nolibm, signbit, trunc, truncf, truncl.
58660         (Enhancements for ISO C 99 functions): New subsection Input/output.
58661         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
58662         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
58663         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
58664         (Compatibility checks for POSIX:2001 functions): Add clock-time.
58665         (Enhancements for POSIX:2001 functions): Add chdir-long.
58666         (File system functions): Add areadlink, chdir-safer, read-file.
58667         Remove cycle-check.
58668         (File system as inode set): New section.
58669         (Date and time): Add gethrxtime.
58670         (Multithreading): Add openmp.
58671         (Internationalization functions): Add localename.
58672         (Unicode string functions): Add unistr/u*-mbsnlen.
58673         (Support for maintaining and releasing projects): Add git-version-gen.
58674         (Lone files): Remove directories.
58675
58676 2007-10-08  Ben Pfaff  <blp@gnu.org>
58677
58678         * lib/xmalloca.h: Fix typo in comment.
58679
58680 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58681
58682         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
58683         when avoiding problems with integer overflow.  Use a portable test
58684         instead.
58685
58686 2007-10-08  Simon Josefsson  <simon@josefsson.org>
58687
58688         * modules/dummy (License): Change to LGPLv2+.
58689         * modules/float (License): Likewise
58690         * modules/realloc (License): Likewise
58691         * modules/stdlib (License): Likewise
58692
58693 2007-10-07  Bruno Haible  <bruno@clisp.org>
58694
58695         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
58696         * floor.c (TWO_MANT_DIG): Likewise.
58697         * ceil.c (TWO_MANT_DIG): Likewise.
58698         Reported by Ben Pfaff.
58699
58700 2007-10-07  Bruno Haible  <bruno@clisp.org>
58701
58702         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
58703         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
58704         * lib/frexp.c (FUNC): Likewise.
58705         * lib/printf-frexp.h (printf_frexp): Likewise.
58706         * lib/printf-frexpl.h (printf_frexpl): Likewise.
58707         * lib/printf-frexp.c (FUNC): Likewise.
58708         Suggested by Jim Meyering.
58709
58710 2007-10-07  Jim Meyering  <meyering@redhat.com>
58711
58712         Make xnanosleep's integer overflow test more robust.
58713         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
58714         so that gcc-4.3.0 doesn't optimize away this test for overflow.
58715
58716 2007-10-07  Bruno Haible  <bruno@clisp.org>
58717
58718         * NEWS: Mention the license change.
58719
58720         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
58721         abbreviations in the modules files.
58722
58723         Change copyright notice from GPLv2+ to GPLv3+.
58724         * README: Change copyright notice.
58725         * MODULES.html.sh: Likewise.
58726         * build-aux/bootstrap.conf: Likewise.
58727         * build-aux/config.libpath: Likewise.
58728         * build-aux/csharpcomp.sh.in: Likewise.
58729         * build-aux/csharpexec.sh.in: Likewise.
58730         * build-aux/install-reloc: Likewise.
58731         * build-aux/javacomp.sh.in: Likewise.
58732         * build-aux/javaexec.sh.in: Likewise.
58733         * build-aux/ldd.sh.in: Likewise.
58734         * build-aux/reloc-ldflags: Likewise.
58735         * build-aux/relocatable.sh.in: Likewise.
58736         * build-aux/x-to-1.in: Likewise.
58737         * check-module: Likewise.
58738         * config/srclistvars.sh: Likewise.
58739         * gnulib-tool: Likewise.
58740         * lib/acl-internal.h: Likewise.
58741         * lib/acl.c: Likewise.
58742         * lib/acl.h: Likewise.
58743         * lib/acl_entries.c: Likewise.
58744         * lib/areadlink-with-size.c: Likewise.
58745         * lib/areadlink.c: Likewise.
58746         * lib/areadlink.h: Likewise.
58747         * lib/argmatch.c: Likewise.
58748         * lib/argmatch.h: Likewise.
58749         * lib/argp-ba.c: Likewise.
58750         * lib/argp-eexst.c: Likewise.
58751         * lib/argp-fmtstream.c: Likewise.
58752         * lib/argp-fmtstream.h: Likewise.
58753         * lib/argp-fs-xinl.c: Likewise.
58754         * lib/argp-help.c: Likewise.
58755         * lib/argp-namefrob.h: Likewise.
58756         * lib/argp-parse.c: Likewise.
58757         * lib/argp-pin.c: Likewise.
58758         * lib/argp-pv.c: Likewise.
58759         * lib/argp-pvh.c: Likewise.
58760         * lib/argp-xinl.c: Likewise.
58761         * lib/argp.h: Likewise.
58762         * lib/at-func.c: Likewise.
58763         * lib/atanl.c: Likewise.
58764         * lib/backupfile.c: Likewise.
58765         * lib/backupfile.h: Likewise.
58766         * lib/basename.c: Likewise.
58767         * lib/binary-io.h: Likewise.
58768         * lib/byteswap.in.h: Likewise.
58769         * lib/c-stack.c: Likewise.
58770         * lib/c-stack.h: Likewise.
58771         * lib/c-strcasestr.c: Likewise.
58772         * lib/c-strcasestr.h: Likewise.
58773         * lib/c-strstr.c: Likewise.
58774         * lib/c-strstr.h: Likewise.
58775         * lib/c-strtod.c: Likewise.
58776         * lib/calloc.c: Likewise.
58777         * lib/canon-host.c: Likewise.
58778         * lib/canon-host.h: Likewise.
58779         * lib/canonicalize-lgpl.c: Likewise.
58780         * lib/canonicalize.c: Likewise.
58781         * lib/canonicalize.h: Likewise.
58782         * lib/ceil.c: Likewise.
58783         * lib/ceilf.c: Likewise.
58784         * lib/ceill.c: Likewise.
58785         * lib/chdir-long.c: Likewise.
58786         * lib/chdir-long.h: Likewise.
58787         * lib/chdir-safer.c: Likewise.
58788         * lib/chdir-safer.h: Likewise.
58789         * lib/chown.c: Likewise.
58790         * lib/classpath.c: Likewise.
58791         * lib/classpath.h: Likewise.
58792         * lib/clean-temp.c: Likewise.
58793         * lib/clean-temp.h: Likewise.
58794         * lib/cloexec.c: Likewise.
58795         * lib/close-stream.c: Likewise.
58796         * lib/closein.c: Likewise.
58797         * lib/closein.h: Likewise.
58798         * lib/closeout.c: Likewise.
58799         * lib/closeout.h: Likewise.
58800         * lib/concat-filename.c: Likewise.
58801         * lib/copy-file.c: Likewise.
58802         * lib/copy-file.h: Likewise.
58803         * lib/count-one-bits.h: Likewise.
58804         * lib/crc.c: Likewise.
58805         * lib/crc.h: Likewise.
58806         * lib/creat-safer.c: Likewise.
58807         * lib/csharpcomp.c: Likewise.
58808         * lib/csharpcomp.h: Likewise.
58809         * lib/csharpexec.c: Likewise.
58810         * lib/csharpexec.h: Likewise.
58811         * lib/cycle-check.c: Likewise.
58812         * lib/cycle-check.h: Likewise.
58813         * lib/diacrit.c: Likewise.
58814         * lib/diacrit.h: Likewise.
58815         * lib/diffseq.h: Likewise.
58816         * lib/dirchownmod.c: Likewise.
58817         * lib/dirent.in.h: Likewise.
58818         * lib/dirfd.c: Likewise.
58819         * lib/dirfd.h: Likewise.
58820         * lib/dirname.c: Likewise.
58821         * lib/dirname.h: Likewise.
58822         * lib/dummy.c: Likewise.
58823         * lib/dup-safer.c: Likewise.
58824         * lib/dup2.c: Likewise.
58825         * lib/eealloc.h: Likewise.
58826         * lib/error.c: Likewise.
58827         * lib/error.h: Likewise.
58828         * lib/euidaccess.c: Likewise.
58829         * lib/exclude.c: Likewise.
58830         * lib/exclude.h: Likewise.
58831         * lib/execute.c: Likewise.
58832         * lib/execute.h: Likewise.
58833         * lib/exitfail.c: Likewise.
58834         * lib/exitfail.h: Likewise.
58835         * lib/expl.c: Likewise.
58836         * lib/fatal-signal.c: Likewise.
58837         * lib/fatal-signal.h: Likewise.
58838         * lib/fbufmode.c: Likewise.
58839         * lib/fbufmode.h: Likewise.
58840         * lib/fchdir.c: Likewise.
58841         * lib/fchmodat.c: Likewise.
58842         * lib/fchownat.c: Likewise.
58843         * lib/fcntl--.h: Likewise.
58844         * lib/fcntl-safer.h: Likewise.
58845         * lib/fcntl.in.h: Likewise.
58846         * lib/fd-safer.c: Likewise.
58847         * lib/fflush.c: Likewise.
58848         * lib/file-has-acl.c: Likewise.
58849         * lib/file-set.c: Likewise.
58850         * lib/file-type.c: Likewise.
58851         * lib/file-type.h: Likewise.
58852         * lib/fileblocks.c: Likewise.
58853         * lib/filemode.c: Likewise.
58854         * lib/filemode.h: Likewise.
58855         * lib/filename.h: Likewise.
58856         * lib/filenamecat.c: Likewise.
58857         * lib/filenamecat.h: Likewise.
58858         * lib/findprog.c: Likewise.
58859         * lib/findprog.h: Likewise.
58860         * lib/float.in.h: Likewise.
58861         * lib/floor.c: Likewise.
58862         * lib/floorf.c: Likewise.
58863         * lib/floorl.c: Likewise.
58864         * lib/fopen-safer.c: Likewise.
58865         * lib/fopen.c: Likewise.
58866         * lib/fpending.c: Likewise.
58867         * lib/fpending.h: Likewise.
58868         * lib/fprintf.c: Likewise.
58869         * lib/fprintftime.h: Likewise.
58870         * lib/fpucw.h: Likewise.
58871         * lib/fpurge.c: Likewise.
58872         * lib/fpurge.h: Likewise.
58873         * lib/freadable.c: Likewise.
58874         * lib/freadable.h: Likewise.
58875         * lib/freadahead.c: Likewise.
58876         * lib/freadahead.h: Likewise.
58877         * lib/freading.c: Likewise.
58878         * lib/freading.h: Likewise.
58879         * lib/free.c: Likewise.
58880         * lib/freopen.c: Likewise.
58881         * lib/frexp.c: Likewise.
58882         * lib/frexpl.c: Likewise.
58883         * lib/fseek.c: Likewise.
58884         * lib/fseterr.c: Likewise.
58885         * lib/fseterr.h: Likewise.
58886         * lib/fstatat.c: Likewise.
58887         * lib/fstrcmp.c: Likewise.
58888         * lib/fstrcmp.h: Likewise.
58889         * lib/fsusage.c: Likewise.
58890         * lib/fsusage.h: Likewise.
58891         * lib/ftell.c: Likewise.
58892         * lib/ftello.c: Likewise.
58893         * lib/fts-cycle.c: Likewise.
58894         * lib/fts.c: Likewise.
58895         * lib/fts_.h: Likewise.
58896         * lib/full-read.c: Likewise.
58897         * lib/full-read.h: Likewise.
58898         * lib/full-write.c: Likewise.
58899         * lib/full-write.h: Likewise.
58900         * lib/fwritable.c: Likewise.
58901         * lib/fwritable.h: Likewise.
58902         * lib/fwriteerror.c: Likewise.
58903         * lib/fwriteerror.h: Likewise.
58904         * lib/fwriting.c: Likewise.
58905         * lib/fwriting.h: Likewise.
58906         * lib/gcd.c: Likewise.
58907         * lib/gcd.h: Likewise.
58908         * lib/getcwd.c: Likewise.
58909         * lib/getdate.h: Likewise.
58910         * lib/getdate.y: Likewise.
58911         * lib/getdomainname.c: Likewise.
58912         * lib/getdomainname.h: Likewise.
58913         * lib/getgroups.c: Likewise.
58914         * lib/gethostname.c: Likewise.
58915         * lib/gethrxtime.c: Likewise.
58916         * lib/gethrxtime.h: Likewise.
58917         * lib/getloadavg.c: Likewise.
58918         * lib/getndelim2.c: Likewise.
58919         * lib/getndelim2.h: Likewise.
58920         * lib/getnline.c: Likewise.
58921         * lib/getnline.h: Likewise.
58922         * lib/getopt.c: Likewise.
58923         * lib/getopt.in.h: Likewise.
58924         * lib/getopt1.c: Likewise.
58925         * lib/getopt_int.h: Likewise.
58926         * lib/getpagesize.h: Likewise.
58927         * lib/getsubopt.c: Likewise.
58928         * lib/gettime.c: Likewise.
58929         * lib/getugroups.c: Likewise.
58930         * lib/getugroups.h: Likewise.
58931         * lib/getusershell.c: Likewise.
58932         * lib/gl_anyavltree_list1.h: Likewise.
58933         * lib/gl_anyavltree_list2.h: Likewise.
58934         * lib/gl_anyhash_list1.h: Likewise.
58935         * lib/gl_anyhash_list2.h: Likewise.
58936         * lib/gl_anylinked_list1.h: Likewise.
58937         * lib/gl_anylinked_list2.h: Likewise.
58938         * lib/gl_anyrbtree_list1.h: Likewise.
58939         * lib/gl_anyrbtree_list2.h: Likewise.
58940         * lib/gl_anytree_list1.h: Likewise.
58941         * lib/gl_anytree_list2.h: Likewise.
58942         * lib/gl_anytree_oset.h: Likewise.
58943         * lib/gl_anytreehash_list1.h: Likewise.
58944         * lib/gl_anytreehash_list2.h: Likewise.
58945         * lib/gl_array_list.c: Likewise.
58946         * lib/gl_array_list.h: Likewise.
58947         * lib/gl_array_oset.c: Likewise.
58948         * lib/gl_array_oset.h: Likewise.
58949         * lib/gl_avltree_list.c: Likewise.
58950         * lib/gl_avltree_list.h: Likewise.
58951         * lib/gl_avltree_oset.c: Likewise.
58952         * lib/gl_avltree_oset.h: Likewise.
58953         * lib/gl_avltreehash_list.c: Likewise.
58954         * lib/gl_avltreehash_list.h: Likewise.
58955         * lib/gl_carray_list.c: Likewise.
58956         * lib/gl_carray_list.h: Likewise.
58957         * lib/gl_linked_list.c: Likewise.
58958         * lib/gl_linked_list.h: Likewise.
58959         * lib/gl_linkedhash_list.c: Likewise.
58960         * lib/gl_linkedhash_list.h: Likewise.
58961         * lib/gl_list.c: Likewise.
58962         * lib/gl_list.h: Likewise.
58963         * lib/gl_oset.c: Likewise.
58964         * lib/gl_oset.h: Likewise.
58965         * lib/gl_rbtree_list.c: Likewise.
58966         * lib/gl_rbtree_list.h: Likewise.
58967         * lib/gl_rbtree_oset.c: Likewise.
58968         * lib/gl_rbtree_oset.h: Likewise.
58969         * lib/gl_rbtreehash_list.c: Likewise.
58970         * lib/gl_rbtreehash_list.h: Likewise.
58971         * lib/gl_sublist.c: Likewise.
58972         * lib/gl_sublist.h: Likewise.
58973         * lib/group-member.c: Likewise.
58974         * lib/group-member.h: Likewise.
58975         * lib/hard-locale.c: Likewise.
58976         * lib/hard-locale.h: Likewise.
58977         * lib/hash-pjw.c: Likewise.
58978         * lib/hash-pjw.h: Likewise.
58979         * lib/hash-triple.c: Likewise.
58980         * lib/hash.c: Likewise.
58981         * lib/hash.h: Likewise.
58982         * lib/human.c: Likewise.
58983         * lib/human.h: Likewise.
58984         * lib/i-ring.c: Likewise.
58985         * lib/i-ring.h: Likewise.
58986         * lib/idcache.c: Likewise.
58987         * lib/imaxabs.c: Likewise.
58988         * lib/imaxdiv.c: Likewise.
58989         * lib/inet_pton.c: Likewise.
58990         * lib/inet_pton.h: Likewise.
58991         * lib/intprops.h: Likewise.
58992         * lib/inttostr.c: Likewise.
58993         * lib/inttostr.h: Likewise.
58994         * lib/inttypes.in.h: Likewise.
58995         * lib/isapipe.c: Likewise.
58996         * lib/isdir.c: Likewise.
58997         * lib/isnan.c: Likewise.
58998         * lib/isnan.h: Likewise.
58999         * lib/isnanf.c: Likewise.
59000         * lib/isnanf.h: Likewise.
59001         * lib/isnanl-nolibm.h: Likewise.
59002         * lib/isnanl.c: Likewise.
59003         * lib/isnanl.h: Likewise.
59004         * lib/javacomp.c: Likewise.
59005         * lib/javacomp.h: Likewise.
59006         * lib/javaexec.c: Likewise.
59007         * lib/javaexec.h: Likewise.
59008         * lib/javaversion.c: Likewise.
59009         * lib/javaversion.h: Likewise.
59010         * lib/javaversion.java: Likewise.
59011         * lib/lbrkprop.h: Likewise.
59012         * lib/lchmod.h: Likewise.
59013         * lib/lchown.c: Likewise.
59014         * lib/ldexpl.c: Likewise.
59015         * lib/linebreak.c: Likewise.
59016         * lib/linebreak.h: Likewise.
59017         * lib/linebuffer.c: Likewise.
59018         * lib/linebuffer.h: Likewise.
59019         * lib/locale.in.h: Likewise.
59020         * lib/logl.c: Likewise.
59021         * lib/long-options.c: Likewise.
59022         * lib/long-options.h: Likewise.
59023         * lib/lstat.c: Likewise.
59024         * lib/lstat.h: Likewise.
59025         * lib/math.in.h: Likewise.
59026         * lib/mbchar.c: Likewise.
59027         * lib/mbchar.h: Likewise.
59028         * lib/mbfile.h: Likewise.
59029         * lib/mbiter.h: Likewise.
59030         * lib/mbscasecmp.c: Likewise.
59031         * lib/mbscasestr.c: Likewise.
59032         * lib/mbschr.c: Likewise.
59033         * lib/mbscspn.c: Likewise.
59034         * lib/mbslen.c: Likewise.
59035         * lib/mbsncasecmp.c: Likewise.
59036         * lib/mbsnlen.c: Likewise.
59037         * lib/mbspbrk.c: Likewise.
59038         * lib/mbspcasecmp.c: Likewise.
59039         * lib/mbsrchr.c: Likewise.
59040         * lib/mbssep.c: Likewise.
59041         * lib/mbsspn.c: Likewise.
59042         * lib/mbsstr.c: Likewise.
59043         * lib/mbstok_r.c: Likewise.
59044         * lib/mbswidth.c: Likewise.
59045         * lib/mbswidth.h: Likewise.
59046         * lib/mbuiter.h: Likewise.
59047         * lib/memcasecmp.c: Likewise.
59048         * lib/memcasecmp.h: Likewise.
59049         * lib/memchr.c: Likewise.
59050         * lib/memcmp.c: Likewise.
59051         * lib/memcoll.c: Likewise.
59052         * lib/memcoll.h: Likewise.
59053         * lib/memcpy.c: Likewise.
59054         * lib/memrchr.c: Likewise.
59055         * lib/mkancesdirs.c: Likewise.
59056         * lib/mkdir-p.c: Likewise.
59057         * lib/mkdir-p.h: Likewise.
59058         * lib/mkdir.c: Likewise.
59059         * lib/mkdirat.c: Likewise.
59060         * lib/mkdtemp.c: Likewise.
59061         * lib/mkstemp-safer.c: Likewise.
59062         * lib/mkstemp.c: Likewise.
59063         * lib/modechange.c: Likewise.
59064         * lib/modechange.h: Likewise.
59065         * lib/mountlist.c: Likewise.
59066         * lib/mountlist.h: Likewise.
59067         * lib/mpsort.c: Likewise.
59068         * lib/nanosleep.c: Likewise.
59069         * lib/obstack.c: Likewise.
59070         * lib/obstack.h: Likewise.
59071         * lib/open-safer.c: Likewise.
59072         * lib/open.c: Likewise.
59073         * lib/openat-die.c: Likewise.
59074         * lib/openat-priv.h: Likewise.
59075         * lib/openat-proc.c: Likewise.
59076         * lib/openat.c: Likewise.
59077         * lib/openat.h: Likewise.
59078         * lib/pagealign_alloc.c: Likewise.
59079         * lib/pagealign_alloc.h: Likewise.
59080         * lib/physmem.c: Likewise.
59081         * lib/physmem.h: Likewise.
59082         * lib/pipe-safer.c: Likewise.
59083         * lib/pipe.c: Likewise.
59084         * lib/pipe.h: Likewise.
59085         * lib/posixtm.c: Likewise.
59086         * lib/posixtm.h: Likewise.
59087         * lib/posixver.c: Likewise.
59088         * lib/printf-frexp.c: Likewise.
59089         * lib/printf-frexp.h: Likewise.
59090         * lib/printf-frexpl.c: Likewise.
59091         * lib/printf-frexpl.h: Likewise.
59092         * lib/printf.c: Likewise.
59093         * lib/progname.c: Likewise.
59094         * lib/progname.h: Likewise.
59095         * lib/progreloc.c: Likewise.
59096         * lib/putenv.c: Likewise.
59097         * lib/quote.c: Likewise.
59098         * lib/quote.h: Likewise.
59099         * lib/quotearg.c: Likewise.
59100         * lib/quotearg.h: Likewise.
59101         * lib/raise.c: Likewise.
59102         * lib/readline.c: Likewise.
59103         * lib/readline.h: Likewise.
59104         * lib/readlink.c: Likewise.
59105         * lib/readtokens.c: Likewise.
59106         * lib/readtokens.h: Likewise.
59107         * lib/readtokens0.c: Likewise.
59108         * lib/readtokens0.h: Likewise.
59109         * lib/readutmp.c: Likewise.
59110         * lib/readutmp.h: Likewise.
59111         * lib/realloc.c: Likewise.
59112         * lib/relocwrapper.c: Likewise.
59113         * lib/rename-dest-slash.c: Likewise.
59114         * lib/rename.c: Likewise.
59115         * lib/rmdir.c: Likewise.
59116         * lib/rpmatch.c: Likewise.
59117         * lib/safe-read.c: Likewise.
59118         * lib/safe-read.h: Likewise.
59119         * lib/safe-write.c: Likewise.
59120         * lib/safe-write.h: Likewise.
59121         * lib/same-inode.h: Likewise.
59122         * lib/same.c: Likewise.
59123         * lib/same.h: Likewise.
59124         * lib/save-cwd.c: Likewise.
59125         * lib/save-cwd.h: Likewise.
59126         * lib/savedir.c: Likewise.
59127         * lib/savedir.h: Likewise.
59128         * lib/savewd.c: Likewise.
59129         * lib/savewd.h: Likewise.
59130         * lib/search.in.h: Likewise.
59131         * lib/setenv.c: Likewise.
59132         * lib/setenv.h: Likewise.
59133         * lib/settime.c: Likewise.
59134         * lib/sh-quote.c: Likewise.
59135         * lib/sh-quote.h: Likewise.
59136         * lib/sig2str.c: Likewise.
59137         * lib/sig2str.h: Likewise.
59138         * lib/signal.in.h: Likewise.
59139         * lib/signbitd.c: Likewise.
59140         * lib/signbitf.c: Likewise.
59141         * lib/signbitl.c: Likewise.
59142         * lib/sigprocmask.c: Likewise.
59143         * lib/sincosl.c: Likewise.
59144         * lib/sleep.c: Likewise.
59145         * lib/sprintf.c: Likewise.
59146         * lib/sqrtl.c: Likewise.
59147         * lib/stat-time.h: Likewise.
59148         * lib/stdio--.h: Likewise.
59149         * lib/stdio-safer.h: Likewise.
59150         * lib/stdlib--.h: Likewise.
59151         * lib/stdlib-safer.h: Likewise.
59152         * lib/stdlib.in.h: Likewise.
59153         * lib/stpcpy.c: Likewise.
59154         * lib/stpncpy.c: Likewise.
59155         * lib/strchrnul.c: Likewise.
59156         * lib/strcspn.c: Likewise.
59157         * lib/strerror.c: Likewise.
59158         * lib/strftime.c: Likewise.
59159         * lib/strftime.h: Likewise.
59160         * lib/striconveh.c: Likewise.
59161         * lib/striconveh.h: Likewise.
59162         * lib/striconveha.c: Likewise.
59163         * lib/striconveha.h: Likewise.
59164         * lib/stripslash.c: Likewise.
59165         * lib/strnlen1.c: Likewise.
59166         * lib/strnlen1.h: Likewise.
59167         * lib/strtod.c: Likewise.
59168         * lib/strtoimax.c: Likewise.
59169         * lib/strtok_r.c: Likewise.
59170         * lib/strtol.c: Likewise.
59171         * lib/strtoll.c: Likewise.
59172         * lib/strtoul.c: Likewise.
59173         * lib/strtoull.c: Likewise.
59174         * lib/sysexits.in.h: Likewise.
59175         * lib/tempname.c: Likewise.
59176         * lib/tempname.h: Likewise.
59177         * lib/timespec.h: Likewise.
59178         * lib/tls.c: Likewise.
59179         * lib/tls.h: Likewise.
59180         * lib/tmpdir.c: Likewise.
59181         * lib/tmpdir.h: Likewise.
59182         * lib/tmpfile-safer.c: Likewise.
59183         * lib/tmpfile.c: Likewise.
59184         * lib/trigl.c: Likewise.
59185         * lib/trigl.h: Likewise.
59186         * lib/trim.c: Likewise.
59187         * lib/trim.h: Likewise.
59188         * lib/trunc.c: Likewise.
59189         * lib/truncf.c: Likewise.
59190         * lib/truncl.c: Likewise.
59191         * lib/tsearch.c: Likewise.
59192         * lib/unicodeio.c: Likewise.
59193         * lib/unicodeio.h: Likewise.
59194         * lib/unistd--.h: Likewise.
59195         * lib/unistd-safer.h: Likewise.
59196         * lib/unistdio/ulc-fprintf.c: Likewise.
59197         * lib/unistdio/ulc-vfprintf.c: Likewise.
59198         * lib/unlinkdir.c: Likewise.
59199         * lib/unlinkdir.h: Likewise.
59200         * lib/unlocked-io.h: Likewise.
59201         * lib/unsetenv.c: Likewise.
59202         * lib/userspec.c: Likewise.
59203         * lib/utime.c: Likewise.
59204         * lib/utimecmp.c: Likewise.
59205         * lib/utimecmp.h: Likewise.
59206         * lib/utimens.c: Likewise.
59207         * lib/verify.h: Likewise.
59208         * lib/verror.c: Likewise.
59209         * lib/verror.h: Likewise.
59210         * lib/version-etc-fsf.c: Likewise.
59211         * lib/version-etc.c: Likewise.
59212         * lib/version-etc.h: Likewise.
59213         * lib/vfprintf.c: Likewise.
59214         * lib/vprintf.c: Likewise.
59215         * lib/vsprintf.c: Likewise.
59216         * lib/w32spawn.h: Likewise.
59217         * lib/wait-process.c: Likewise.
59218         * lib/wait-process.h: Likewise.
59219         * lib/wcwidth.c: Likewise.
59220         * lib/write-any-file.c: Likewise.
59221         * lib/xalloc-die.c: Likewise.
59222         * lib/xalloc.h: Likewise.
59223         * lib/xasprintf.c: Likewise.
59224         * lib/xgetcwd.c: Likewise.
59225         * lib/xgetcwd.h: Likewise.
59226         * lib/xgetdomainname.c: Likewise.
59227         * lib/xgetdomainname.h: Likewise.
59228         * lib/xgethostname.c: Likewise.
59229         * lib/xmalloc.c: Likewise.
59230         * lib/xmalloca.c: Likewise.
59231         * lib/xmalloca.h: Likewise.
59232         * lib/xmemcoll.c: Likewise.
59233         * lib/xnanosleep.c: Likewise.
59234         * lib/xreadlink.c: Likewise.
59235         * lib/xreadlink.h: Likewise.
59236         * lib/xsetenv.c: Likewise.
59237         * lib/xsetenv.h: Likewise.
59238         * lib/xstriconv.c: Likewise.
59239         * lib/xstriconv.h: Likewise.
59240         * lib/xstrndup.c: Likewise.
59241         * lib/xstrndup.h: Likewise.
59242         * lib/xstrtod.c: Likewise.
59243         * lib/xstrtod.h: Likewise.
59244         * lib/xstrtol-error.c: Likewise.
59245         * lib/xstrtol.c: Likewise.
59246         * lib/xstrtol.h: Likewise.
59247         * lib/xtime.h: Likewise.
59248         * lib/xvasprintf.c: Likewise.
59249         * lib/xvasprintf.h: Likewise.
59250         * lib/yesno.c: Likewise.
59251         * lib/yesno.h: Likewise.
59252         * posix-modules: Likewise.
59253         * tests/test-alloca-opt.c: Likewise.
59254         * tests/test-arcfour.c: Likewise.
59255         * tests/test-arctwo.c: Likewise.
59256         * tests/test-argmatch.c: Likewise.
59257         * tests/test-argp-2.sh: Likewise.
59258         * tests/test-argp.c: Likewise.
59259         * tests/test-arpa_inet.c: Likewise.
59260         * tests/test-array_list.c: Likewise.
59261         * tests/test-array_oset.c: Likewise.
59262         * tests/test-atexit.c: Likewise.
59263         * tests/test-avltree_list.c: Likewise.
59264         * tests/test-avltree_oset.c: Likewise.
59265         * tests/test-avltreehash_list.c: Likewise.
59266         * tests/test-base64.c: Likewise.
59267         * tests/test-binary-io.c: Likewise.
59268         * tests/test-byteswap.c: Likewise.
59269         * tests/test-c-ctype.c: Likewise.
59270         * tests/test-c-strcasecmp.c: Likewise.
59271         * tests/test-c-strcasestr.c: Likewise.
59272         * tests/test-c-strncasecmp.c: Likewise.
59273         * tests/test-c-strstr.c: Likewise.
59274         * tests/test-canonicalize-lgpl.c: Likewise.
59275         * tests/test-canonicalize.c: Likewise.
59276         * tests/test-carray_list.c: Likewise.
59277         * tests/test-ceilf.c: Likewise.
59278         * tests/test-ceill.c: Likewise.
59279         * tests/test-count-one-bits.c: Likewise.
59280         * tests/test-crc.c: Likewise.
59281         * tests/test-dirname.c: Likewise.
59282         * tests/test-fbufmode.c: Likewise.
59283         * tests/test-fcntl.c: Likewise.
59284         * tests/test-fflush.c: Likewise.
59285         * tests/test-floorf.c: Likewise.
59286         * tests/test-floorl.c: Likewise.
59287         * tests/test-fopen.c: Likewise.
59288         * tests/test-fprintf-posix.c: Likewise.
59289         * tests/test-fprintf-posix.h: Likewise.
59290         * tests/test-fpurge.c: Likewise.
59291         * tests/test-freadable.c: Likewise.
59292         * tests/test-freadahead.c: Likewise.
59293         * tests/test-freading.c: Likewise.
59294         * tests/test-freopen.c: Likewise.
59295         * tests/test-frexp.c: Likewise.
59296         * tests/test-frexpl.c: Likewise.
59297         * tests/test-fseek.c: Likewise.
59298         * tests/test-fseeko.c: Likewise.
59299         * tests/test-fseterr.c: Likewise.
59300         * tests/test-fstrcmp.c: Likewise.
59301         * tests/test-ftell.c: Likewise.
59302         * tests/test-ftello.c: Likewise.
59303         * tests/test-fwritable.c: Likewise.
59304         * tests/test-fwriting.c: Likewise.
59305         * tests/test-getaddrinfo.c: Likewise.
59306         * tests/test-getpass.c: Likewise.
59307         * tests/test-gettimeofday.c: Likewise.
59308         * tests/test-hmac-md5.c: Likewise.
59309         * tests/test-hmac-sha1.c: Likewise.
59310         * tests/test-iconv.c: Likewise.
59311         * tests/test-iconvme.c: Likewise.
59312         * tests/test-inttypes.c: Likewise.
59313         * tests/test-isnan.c: Likewise.
59314         * tests/test-isnanf.c: Likewise.
59315         * tests/test-isnanl-nolibm.c: Likewise.
59316         * tests/test-isnanl.c: Likewise.
59317         * tests/test-isnanl.h: Likewise.
59318         * tests/test-ldexpl.c: Likewise.
59319         * tests/test-linked_list.c: Likewise.
59320         * tests/test-linkedhash_list.c: Likewise.
59321         * tests/test-locale.c: Likewise.
59322         * tests/test-localename.c: Likewise.
59323         * tests/test-lock.c: Likewise.
59324         * tests/test-lseek.c: Likewise.
59325         * tests/test-malloca.c: Likewise.
59326         * tests/test-math.c: Likewise.
59327         * tests/test-mbscasecmp.c: Likewise.
59328         * tests/test-mbscasestr1.c: Likewise.
59329         * tests/test-mbscasestr2.c: Likewise.
59330         * tests/test-mbscasestr3.c: Likewise.
59331         * tests/test-mbscasestr4.c: Likewise.
59332         * tests/test-mbschr.c: Likewise.
59333         * tests/test-mbscspn.c: Likewise.
59334         * tests/test-mbsncasecmp.c: Likewise.
59335         * tests/test-mbspbrk.c: Likewise.
59336         * tests/test-mbspcasecmp.c: Likewise.
59337         * tests/test-mbsrchr.c: Likewise.
59338         * tests/test-mbsspn.c: Likewise.
59339         * tests/test-mbsstr1.c: Likewise.
59340         * tests/test-mbsstr2.c: Likewise.
59341         * tests/test-mbsstr3.c: Likewise.
59342         * tests/test-md5.c: Likewise.
59343         * tests/test-memmem.c: Likewise.
59344         * tests/test-netinet_in.c: Likewise.
59345         * tests/test-open.c: Likewise.
59346         * tests/test-printf-frexp.c: Likewise.
59347         * tests/test-printf-frexpl.c: Likewise.
59348         * tests/test-printf-posix.c: Likewise.
59349         * tests/test-printf-posix.h: Likewise.
59350         * tests/test-rbtree_list.c: Likewise.
59351         * tests/test-rbtree_oset.c: Likewise.
59352         * tests/test-rbtreehash_list.c: Likewise.
59353         * tests/test-read-file.c: Likewise.
59354         * tests/test-rijndael.c: Likewise.
59355         * tests/test-search.c: Likewise.
59356         * tests/test-signbit.c: Likewise.
59357         * tests/test-sleep.c: Likewise.
59358         * tests/test-snprintf-posix.c: Likewise.
59359         * tests/test-snprintf-posix.h: Likewise.
59360         * tests/test-snprintf.c: Likewise.
59361         * tests/test-sprintf-posix.c: Likewise.
59362         * tests/test-sprintf-posix.h: Likewise.
59363         * tests/test-stat-time.c: Likewise.
59364         * tests/test-stdbool.c: Likewise.
59365         * tests/test-stdint.c: Likewise.
59366         * tests/test-stdio.c: Likewise.
59367         * tests/test-stdlib.c: Likewise.
59368         * tests/test-stpncpy.c: Likewise.
59369         * tests/test-strcasestr.c: Likewise.
59370         * tests/test-striconv.c: Likewise.
59371         * tests/test-striconveh.c: Likewise.
59372         * tests/test-striconveha.c: Likewise.
59373         * tests/test-string.c: Likewise.
59374         * tests/test-sys_select.c: Likewise.
59375         * tests/test-sys_socket.c: Likewise.
59376         * tests/test-sys_stat.c: Likewise.
59377         * tests/test-sys_time.c: Likewise.
59378         * tests/test-sysexits.c: Likewise.
59379         * tests/test-time.c: Likewise.
59380         * tests/test-tls.c: Likewise.
59381         * tests/test-trunc.c: Likewise.
59382         * tests/test-truncf.c: Likewise.
59383         * tests/test-truncl.c: Likewise.
59384         * tests/test-unistd.c: Likewise.
59385         * tests/test-vasnprintf-posix.c: Likewise.
59386         * tests/test-vasnprintf-posix2.c: Likewise.
59387         * tests/test-vasnprintf.c: Likewise.
59388         * tests/test-vasprintf-posix.c: Likewise.
59389         * tests/test-vasprintf.c: Likewise.
59390         * tests/test-verify.c: Likewise.
59391         * tests/test-vfprintf-posix.c: Likewise.
59392         * tests/test-vprintf-posix.c: Likewise.
59393         * tests/test-vsnprintf-posix.c: Likewise.
59394         * tests/test-vsnprintf.c: Likewise.
59395         * tests/test-vsprintf-posix.c: Likewise.
59396         * tests/test-wchar.c: Likewise.
59397         * tests/test-wctype.c: Likewise.
59398         * tests/test-wcwidth.c: Likewise.
59399         * tests/test-xstrtol.c: Likewise.
59400         * tests/test-xvasprintf.c: Likewise.
59401         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
59402         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
59403         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59404         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59405         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59406         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
59407         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59408         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59409         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59410         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
59411         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59412         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59413         * tests/uniname/test-uninames.c: Likewise.
59414         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
59415         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
59416         * tests/unistdio/test-u16-printf1.h: Likewise.
59417         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
59418         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
59419         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
59420         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
59421         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
59422         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
59423         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
59424         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
59425         * tests/unistdio/test-u32-printf1.h: Likewise.
59426         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
59427         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
59428         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
59429         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
59430         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
59431         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
59432         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
59433         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
59434         * tests/unistdio/test-u8-printf1.h: Likewise.
59435         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
59436         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
59437         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
59438         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
59439         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
59440         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
59441         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
59442         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
59443         * tests/unistdio/test-ulc-printf1.h: Likewise.
59444         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
59445         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
59446         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
59447         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
59448         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
59449         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
59450         * tests/uniwidth/test-u16-strwidth.c: Likewise.
59451         * tests/uniwidth/test-u16-width.c: Likewise.
59452         * tests/uniwidth/test-u32-strwidth.c: Likewise.
59453         * tests/uniwidth/test-u32-width.c: Likewise.
59454         * tests/uniwidth/test-u8-strwidth.c: Likewise.
59455         * tests/uniwidth/test-u8-width.c: Likewise.
59456         * tests/uniwidth/test-uc_width.c: Likewise.
59457         * config/srclist-update: Likewise.
59458         (fixlicense): Update to GPLv3+.
59459
59460         Change copyright notice from LGPLv2.1+ to LGPLv3+.
59461         * tests/test-tsearch.c: Change copyright notice.
59462
59463         Change copyright notice from LGPLv2.0+ to LGPLv3+.
59464         * lib/c-strcaseeq.h: Change copyright notice.
59465         * lib/streq.h: Likewise.
59466         * lib/uniconv.h: Likewise.
59467         * lib/uniconv/u-conv-from-enc.h: Likewise.
59468         * lib/uniconv/u-conv-to-enc.h: Likewise.
59469         * lib/uniconv/u-strconv-from-enc.h: Likewise.
59470         * lib/uniconv/u-strconv-to-enc.h: Likewise.
59471         * lib/uniconv/u16-conv-from-enc.c: Likewise.
59472         * lib/uniconv/u16-conv-to-enc.c: Likewise.
59473         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
59474         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
59475         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
59476         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
59477         * lib/uniconv/u32-conv-from-enc.c: Likewise.
59478         * lib/uniconv/u32-conv-to-enc.c: Likewise.
59479         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
59480         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
59481         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
59482         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
59483         * lib/uniconv/u8-conv-from-enc.c: Likewise.
59484         * lib/uniconv/u8-conv-to-enc.c: Likewise.
59485         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
59486         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
59487         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
59488         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
59489         * lib/uniname.h: Likewise.
59490         * lib/uniname/uniname.c: Likewise.
59491         * lib/unistdio.h: Likewise.
59492         * lib/unistdio/u-asnprintf.h: Likewise.
59493         * lib/unistdio/u-asprintf.h: Likewise.
59494         * lib/unistdio/u-printf-args.c: Likewise.
59495         * lib/unistdio/u-printf-args.h: Likewise.
59496         * lib/unistdio/u-printf-parse.h: Likewise.
59497         * lib/unistdio/u-snprintf.h: Likewise.
59498         * lib/unistdio/u-sprintf.h: Likewise.
59499         * lib/unistdio/u-vasprintf.h: Likewise.
59500         * lib/unistdio/u-vsnprintf.h: Likewise.
59501         * lib/unistdio/u-vsprintf.h: Likewise.
59502         * lib/unistdio/u16-asnprintf.c: Likewise.
59503         * lib/unistdio/u16-asprintf.c: Likewise.
59504         * lib/unistdio/u16-printf-parse.c: Likewise.
59505         * lib/unistdio/u16-snprintf.c: Likewise.
59506         * lib/unistdio/u16-sprintf.c: Likewise.
59507         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
59508         * lib/unistdio/u16-u16-asprintf.c: Likewise.
59509         * lib/unistdio/u16-u16-snprintf.c: Likewise.
59510         * lib/unistdio/u16-u16-sprintf.c: Likewise.
59511         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
59512         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
59513         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
59514         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
59515         * lib/unistdio/u16-vasnprintf.c: Likewise.
59516         * lib/unistdio/u16-vasprintf.c: Likewise.
59517         * lib/unistdio/u16-vsnprintf.c: Likewise.
59518         * lib/unistdio/u16-vsprintf.c: Likewise.
59519         * lib/unistdio/u32-asnprintf.c: Likewise.
59520         * lib/unistdio/u32-asprintf.c: Likewise.
59521         * lib/unistdio/u32-printf-parse.c: Likewise.
59522         * lib/unistdio/u32-snprintf.c: Likewise.
59523         * lib/unistdio/u32-sprintf.c: Likewise.
59524         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
59525         * lib/unistdio/u32-u32-asprintf.c: Likewise.
59526         * lib/unistdio/u32-u32-snprintf.c: Likewise.
59527         * lib/unistdio/u32-u32-sprintf.c: Likewise.
59528         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
59529         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
59530         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
59531         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
59532         * lib/unistdio/u32-vasnprintf.c: Likewise.
59533         * lib/unistdio/u32-vasprintf.c: Likewise.
59534         * lib/unistdio/u32-vsnprintf.c: Likewise.
59535         * lib/unistdio/u32-vsprintf.c: Likewise.
59536         * lib/unistdio/u8-asnprintf.c: Likewise.
59537         * lib/unistdio/u8-asprintf.c: Likewise.
59538         * lib/unistdio/u8-printf-parse.c: Likewise.
59539         * lib/unistdio/u8-snprintf.c: Likewise.
59540         * lib/unistdio/u8-sprintf.c: Likewise.
59541         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
59542         * lib/unistdio/u8-u8-asprintf.c: Likewise.
59543         * lib/unistdio/u8-u8-snprintf.c: Likewise.
59544         * lib/unistdio/u8-u8-sprintf.c: Likewise.
59545         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
59546         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
59547         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
59548         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
59549         * lib/unistdio/u8-vasnprintf.c: Likewise.
59550         * lib/unistdio/u8-vasprintf.c: Likewise.
59551         * lib/unistdio/u8-vsnprintf.c: Likewise.
59552         * lib/unistdio/u8-vsprintf.c: Likewise.
59553         * lib/unistdio/ulc-asnprintf.c: Likewise.
59554         * lib/unistdio/ulc-asprintf.c: Likewise.
59555         * lib/unistdio/ulc-printf-parse.c: Likewise.
59556         * lib/unistdio/ulc-snprintf.c: Likewise.
59557         * lib/unistdio/ulc-sprintf.c: Likewise.
59558         * lib/unistdio/ulc-vasnprintf.c: Likewise.
59559         * lib/unistdio/ulc-vasprintf.c: Likewise.
59560         * lib/unistdio/ulc-vsnprintf.c: Likewise.
59561         * lib/unistdio/ulc-vsprintf.c: Likewise.
59562         * lib/unistr.h: Likewise.
59563         * lib/unistr/u-cpy-alloc.h: Likewise.
59564         * lib/unistr/u-cpy.h: Likewise.
59565         * lib/unistr/u-endswith.h: Likewise.
59566         * lib/unistr/u-move.h: Likewise.
59567         * lib/unistr/u-set.h: Likewise.
59568         * lib/unistr/u-startswith.h: Likewise.
59569         * lib/unistr/u-stpcpy.h: Likewise.
59570         * lib/unistr/u-stpncpy.h: Likewise.
59571         * lib/unistr/u-strcat.h: Likewise.
59572         * lib/unistr/u-strcpy.h: Likewise.
59573         * lib/unistr/u-strcspn.h: Likewise.
59574         * lib/unistr/u-strdup.h: Likewise.
59575         * lib/unistr/u-strlen.h: Likewise.
59576         * lib/unistr/u-strncat.h: Likewise.
59577         * lib/unistr/u-strncpy.h: Likewise.
59578         * lib/unistr/u-strnlen.h: Likewise.
59579         * lib/unistr/u-strpbrk.h: Likewise.
59580         * lib/unistr/u-strspn.h: Likewise.
59581         * lib/unistr/u-strstr.h: Likewise.
59582         * lib/unistr/u-strtok.h: Likewise.
59583         * lib/unistr/u16-check.c: Likewise.
59584         * lib/unistr/u16-chr.c: Likewise.
59585         * lib/unistr/u16-cmp.c: Likewise.
59586         * lib/unistr/u16-cpy-alloc.c: Likewise.
59587         * lib/unistr/u16-cpy.c: Likewise.
59588         * lib/unistr/u16-endswith.c: Likewise.
59589         * lib/unistr/u16-mblen.c: Likewise.
59590         * lib/unistr/u16-mbsnlen.c: Likewise.
59591         * lib/unistr/u16-mbtouc-aux.c: Likewise.
59592         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
59593         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
59594         * lib/unistr/u16-mbtouc.c: Likewise.
59595         * lib/unistr/u16-mbtoucr.c: Likewise.
59596         * lib/unistr/u16-move.c: Likewise.
59597         * lib/unistr/u16-next.c: Likewise.
59598         * lib/unistr/u16-prev.c: Likewise.
59599         * lib/unistr/u16-set.c: Likewise.
59600         * lib/unistr/u16-startswith.c: Likewise.
59601         * lib/unistr/u16-stpcpy.c: Likewise.
59602         * lib/unistr/u16-stpncpy.c: Likewise.
59603         * lib/unistr/u16-strcat.c: Likewise.
59604         * lib/unistr/u16-strchr.c: Likewise.
59605         * lib/unistr/u16-strcmp.c: Likewise.
59606         * lib/unistr/u16-strcpy.c: Likewise.
59607         * lib/unistr/u16-strcspn.c: Likewise.
59608         * lib/unistr/u16-strdup.c: Likewise.
59609         * lib/unistr/u16-strlen.c: Likewise.
59610         * lib/unistr/u16-strmblen.c: Likewise.
59611         * lib/unistr/u16-strmbtouc.c: Likewise.
59612         * lib/unistr/u16-strncat.c: Likewise.
59613         * lib/unistr/u16-strncmp.c: Likewise.
59614         * lib/unistr/u16-strncpy.c: Likewise.
59615         * lib/unistr/u16-strnlen.c: Likewise.
59616         * lib/unistr/u16-strpbrk.c: Likewise.
59617         * lib/unistr/u16-strrchr.c: Likewise.
59618         * lib/unistr/u16-strspn.c: Likewise.
59619         * lib/unistr/u16-strstr.c: Likewise.
59620         * lib/unistr/u16-strtok.c: Likewise.
59621         * lib/unistr/u16-to-u32.c: Likewise.
59622         * lib/unistr/u16-to-u8.c: Likewise.
59623         * lib/unistr/u16-uctomb-aux.c: Likewise.
59624         * lib/unistr/u16-uctomb.c: Likewise.
59625         * lib/unistr/u32-check.c: Likewise.
59626         * lib/unistr/u32-chr.c: Likewise.
59627         * lib/unistr/u32-cmp.c: Likewise.
59628         * lib/unistr/u32-cpy-alloc.c: Likewise.
59629         * lib/unistr/u32-cpy.c: Likewise.
59630         * lib/unistr/u32-endswith.c: Likewise.
59631         * lib/unistr/u32-mblen.c: Likewise.
59632         * lib/unistr/u32-mbsnlen.c: Likewise.
59633         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
59634         * lib/unistr/u32-mbtouc.c: Likewise.
59635         * lib/unistr/u32-mbtoucr.c: Likewise.
59636         * lib/unistr/u32-move.c: Likewise.
59637         * lib/unistr/u32-next.c: Likewise.
59638         * lib/unistr/u32-prev.c: Likewise.
59639         * lib/unistr/u32-set.c: Likewise.
59640         * lib/unistr/u32-startswith.c: Likewise.
59641         * lib/unistr/u32-stpcpy.c: Likewise.
59642         * lib/unistr/u32-stpncpy.c: Likewise.
59643         * lib/unistr/u32-strcat.c: Likewise.
59644         * lib/unistr/u32-strchr.c: Likewise.
59645         * lib/unistr/u32-strcmp.c: Likewise.
59646         * lib/unistr/u32-strcpy.c: Likewise.
59647         * lib/unistr/u32-strcspn.c: Likewise.
59648         * lib/unistr/u32-strdup.c: Likewise.
59649         * lib/unistr/u32-strlen.c: Likewise.
59650         * lib/unistr/u32-strmblen.c: Likewise.
59651         * lib/unistr/u32-strmbtouc.c: Likewise.
59652         * lib/unistr/u32-strncat.c: Likewise.
59653         * lib/unistr/u32-strncmp.c: Likewise.
59654         * lib/unistr/u32-strncpy.c: Likewise.
59655         * lib/unistr/u32-strnlen.c: Likewise.
59656         * lib/unistr/u32-strpbrk.c: Likewise.
59657         * lib/unistr/u32-strrchr.c: Likewise.
59658         * lib/unistr/u32-strspn.c: Likewise.
59659         * lib/unistr/u32-strstr.c: Likewise.
59660         * lib/unistr/u32-strtok.c: Likewise.
59661         * lib/unistr/u32-to-u16.c: Likewise.
59662         * lib/unistr/u32-to-u8.c: Likewise.
59663         * lib/unistr/u32-uctomb.c: Likewise.
59664         * lib/unistr/u8-check.c: Likewise.
59665         * lib/unistr/u8-chr.c: Likewise.
59666         * lib/unistr/u8-cmp.c: Likewise.
59667         * lib/unistr/u8-cpy-alloc.c: Likewise.
59668         * lib/unistr/u8-cpy.c: Likewise.
59669         * lib/unistr/u8-endswith.c: Likewise.
59670         * lib/unistr/u8-mblen.c: Likewise.
59671         * lib/unistr/u8-mbsnlen.c: Likewise.
59672         * lib/unistr/u8-mbtouc-aux.c: Likewise.
59673         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
59674         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
59675         * lib/unistr/u8-mbtouc.c: Likewise.
59676         * lib/unistr/u8-mbtoucr.c: Likewise.
59677         * lib/unistr/u8-move.c: Likewise.
59678         * lib/unistr/u8-next.c: Likewise.
59679         * lib/unistr/u8-prev.c: Likewise.
59680         * lib/unistr/u8-set.c: Likewise.
59681         * lib/unistr/u8-startswith.c: Likewise.
59682         * lib/unistr/u8-stpcpy.c: Likewise.
59683         * lib/unistr/u8-stpncpy.c: Likewise.
59684         * lib/unistr/u8-strcat.c: Likewise.
59685         * lib/unistr/u8-strchr.c: Likewise.
59686         * lib/unistr/u8-strcmp.c: Likewise.
59687         * lib/unistr/u8-strcpy.c: Likewise.
59688         * lib/unistr/u8-strcspn.c: Likewise.
59689         * lib/unistr/u8-strdup.c: Likewise.
59690         * lib/unistr/u8-strlen.c: Likewise.
59691         * lib/unistr/u8-strmblen.c: Likewise.
59692         * lib/unistr/u8-strmbtouc.c: Likewise.
59693         * lib/unistr/u8-strncat.c: Likewise.
59694         * lib/unistr/u8-strncmp.c: Likewise.
59695         * lib/unistr/u8-strncpy.c: Likewise.
59696         * lib/unistr/u8-strnlen.c: Likewise.
59697         * lib/unistr/u8-strpbrk.c: Likewise.
59698         * lib/unistr/u8-strrchr.c: Likewise.
59699         * lib/unistr/u8-strspn.c: Likewise.
59700         * lib/unistr/u8-strstr.c: Likewise.
59701         * lib/unistr/u8-strtok.c: Likewise.
59702         * lib/unistr/u8-to-u16.c: Likewise.
59703         * lib/unistr/u8-to-u32.c: Likewise.
59704         * lib/unistr/u8-uctomb-aux.c: Likewise.
59705         * lib/unistr/u8-uctomb.c: Likewise.
59706         * lib/unitypes.h: Likewise.
59707         * lib/uniwidth.h: Likewise.
59708         * lib/uniwidth/cjk.h: Likewise.
59709         * lib/uniwidth/u16-strwidth.c: Likewise.
59710         * lib/uniwidth/u16-width.c: Likewise.
59711         * lib/uniwidth/u32-strwidth.c: Likewise.
59712         * lib/uniwidth/u32-width.c: Likewise.
59713         * lib/uniwidth/u8-strwidth.c: Likewise.
59714         * lib/uniwidth/u8-width.c: Likewise.
59715         * lib/uniwidth/width.c: Likewise.
59716
59717 2007-10-07  Bruno Haible  <bruno@clisp.org>
59718
59719         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
59720         The file is still under LGPL (see modules/inttypes).
59721
59722 2007-10-06  Bruno Haible  <bruno@clisp.org>
59723
59724         * modules/trunc (Dependencies): Add 'extensions'.
59725         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
59726         Reported by Ben Pfaff <blp@gnu.org>.
59727
59728 2007-10-06  Bruno Haible  <bruno@clisp.org>
59729
59730         * modules/freopen-tests: New file.
59731         * tests/test-freopen.c: New file.
59732
59733         * modules/fopen-tests: New file.
59734         * tests/test-fopen.c: New file.
59735
59736         * modules/fopen: New file.
59737         * lib/fopen.c: New file.
59738         * m4/fopen.m4: New file.
59739         * modules/freopen: New file.
59740         * lib/freopen.c: New file.
59741         * m4/freopen.m4: New file.
59742         * lib/stdio.in.h (fopen, freopen): New declarations.
59743         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
59744         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59745         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
59746         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
59747         * doc/functions/fopen.texi: Mention the 'fopen' module.
59748         * doc/functions/freopen.texi: Mention the 'freopen' module.
59749
59750 2007-10-06  Bruno Haible  <bruno@clisp.org>
59751
59752         * modules/open-tests: New file.
59753         * tests/test-open.c: New file.
59754
59755         * modules/open: New file.
59756         * lib/open.c: New file.
59757         * m4/open.m4: New file.
59758         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
59759         lib/open.c does.
59760         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
59761         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
59762         macros.
59763         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
59764         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
59765         REPLACE_OPEN.
59766         * doc/functions/open.texi: Mention the 'open' module.
59767
59768 2007-10-04  Bruno Haible  <bruno@clisp.org>
59769
59770         * modules/ceill-tests: New file.
59771         * tests/test-ceill.c: New file.
59772
59773         * modules/ceill: New file.
59774         * lib/ceill.c: Replace entire file.
59775         * m4/ceill.m4: New file.
59776         * lib/math.in.h (ceill): Replace declaration.
59777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
59778         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
59779         * doc/functions/ceill.texi: Mention the 'ceill' module.
59780         * modules/mathl (Files): Remove lib/ceill.c.
59781         (Depends-on): Add ceill.
59782
59783 2007-10-04  Bruno Haible  <bruno@clisp.org>
59784
59785         * modules/ceilf-tests: New file.
59786         * tests/test-ceilf.c: New file.
59787
59788         * modules/ceilf: New file.
59789         * lib/ceil.c: New file.
59790         * lib/ceilf.c: New file.
59791         * m4/ceilf.m4: New file.
59792         * lib/math.in.h (ceilf): New declaration.
59793         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
59794         HAVE_DECL_CEILF.
59795         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
59796         HAVE_DECL_CEILF.
59797         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
59798
59799 2007-10-04  Bruno Haible  <bruno@clisp.org>
59800
59801         * modules/floorl-tests: New file.
59802         * tests/test-floorl.c: New file.
59803
59804         * modules/floorl: New file.
59805         * lib/floorl.c: Replace entire file.
59806         * m4/floorl.m4: New file.
59807         * lib/math.in.h (floorl): Replace declaration.
59808         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
59809         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
59810         * doc/functions/floorl.texi: Mention the 'floorl' module.
59811         * modules/mathl (Files): Remove lib/floorl.c.
59812         (Depends-on): Add floorl.
59813
59814 2007-10-04  Bruno Haible  <bruno@clisp.org>
59815
59816         * modules/floorf-tests: New file.
59817         * tests/test-floorf.c: New file.
59818
59819         * modules/floorf: New file.
59820         * lib/floor.c: New file.
59821         * lib/floorf.c: New file.
59822         * m4/floorf.m4: New file.
59823         * lib/math.in.h (floorf): New declaration.
59824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
59825         HAVE_DECL_FLOORF.
59826         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
59827         HAVE_DECL_FLOORF.
59828         * doc/functions/floorf.texi: Mention the 'floorf' module.
59829
59830 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
59831             Bruno Haible  <bruno@clisp.org>
59832
59833         Advertise for the Git server instead of the CVS server.
59834         * doc/gnulib-intro.texi (Steady Development): Mention the Git
59835         repository instead of the CVS one.
59836         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
59837         about all VCS systems generically.
59838         * doc/gnulib.texi (Introduction): Capitalize `Git'.
59839
59840 2007-10-04  Bruno Haible  <bruno@clisp.org>
59841
59842         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
59843         means.
59844         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
59845
59846 2007-10-04  Bruno Haible  <bruno@clisp.org>
59847
59848         * modules/truncl-tests: New file.
59849         * tests/test-truncl.c: New file.
59850
59851         * modules/truncl: New file.
59852         * lib/truncl.c: New file.
59853         * m4/truncl.m4: New file.
59854         * lib/math.in.h (truncl): New declaration.
59855         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
59856         HAVE_DECL_TRUNCL.
59857         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
59858         HAVE_DECL_TRUNCL.
59859         * doc/functions/truncl.texi: Mention the 'truncl' module.
59860
59861 2007-10-04  Bruno Haible  <bruno@clisp.org>
59862
59863         * modules/truncf-tests: New file.
59864         * tests/test-truncf.c: New file.
59865
59866         * modules/truncf: New file.
59867         * lib/trunc.c: Make paramerizable through USE_* macros.
59868         * lib/truncf.c: New file.
59869         * m4/truncf.m4: New file.
59870         * lib/math.in.h (truncf): New declaration.
59871         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
59872         HAVE_DECL_TRUNCF.
59873         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
59874         HAVE_DECL_TRUNCF.
59875         * doc/functions/truncf.texi: Mention the 'truncf' module.
59876
59877 2007-10-03  Bruno Haible  <bruno@clisp.org>
59878
59879         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59880         augmentation also for tests modules.
59881         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
59882         * modules/atexit-tests (Makefile.am): Likewise.
59883         * modules/binary-io-tests (Makefile.am): Likewise.
59884         * modules/c-strcase-tests (Makefile.am): Likewise.
59885         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
59886         * modules/canonicalize-tests (Makefile.am): Likewise.
59887         * modules/closein-tests (Makefile.am): Likewise.
59888         * modules/fprintf-posix-tests (Makefile.am): Likewise.
59889         * modules/freadahead-tests (Makefile.am): Likewise.
59890         * modules/fseek-tests (Makefile.am): Likewise.
59891         * modules/fseeko-tests (Makefile.am): Likewise.
59892         * modules/ftell-tests (Makefile.am): Likewise.
59893         * modules/ftello-tests (Makefile.am): Likewise.
59894         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
59895         * modules/isnanl-tests (Makefile.am): Likewise.
59896         * modules/lseek-tests (Makefile.am): Likewise.
59897         * modules/mbscasecmp-tests (Makefile.am): Likewise.
59898         * modules/mbscasestr-tests (Makefile.am): Likewise.
59899         * modules/mbschr-tests (Makefile.am): Likewise.
59900         * modules/mbscspn-tests (Makefile.am): Likewise.
59901         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
59902         * modules/mbspbrk-tests (Makefile.am): Likewise.
59903         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
59904         * modules/mbsrchr-tests (Makefile.am): Likewise.
59905         * modules/mbsspn-tests (Makefile.am): Likewise.
59906         * modules/mbsstr-tests (Makefile.am): Likewise.
59907         * modules/printf-posix-tests (Makefile.am): Likewise.
59908         * modules/snprintf-posix-tests (Makefile.am): Likewise.
59909         * modules/sprintf-posix-tests (Makefile.am): Likewise.
59910         * modules/tsearch-tests (Makefile.am): Likewise.
59911         * modules/uniname/uniname-tests (Makefile.am): Likewise.
59912         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
59913         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
59914         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
59915         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
59916         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
59917         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
59918         * modules/vprintf-posix-tests (Makefile.am): Likewise.
59919         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
59920         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
59921         * modules/xstrtoimax-tests (Makefile.am): Likewise.
59922         * modules/xstrtol-tests (Makefile.am): Likewise.
59923         * modules/xstrtoumax-tests (Makefile.am): Likewise.
59924         * modules/yesno-tests (Makefile.am): Likewise.
59925
59926 2007-10-03  Bruno Haible  <bruno@clisp.org>
59927
59928         * modules/trunc-tests: New file.
59929         * tests/test-trunc.c: New file.
59930
59931         * modules/trunc: New file.
59932         * lib/trunc.c: New file.
59933         * m4/trunc.m4: New file.
59934         * lib/math.in.h (trunc): New declaration.
59935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
59936         HAVE_DECL_TRUNC.
59937         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
59938         HAVE_DECL_TRUNC.
59939         * doc/functions/trunc.texi: Mention the 'trunc' module.
59940
59941 2007-10-03  Bruno Haible  <bruno@clisp.org>
59942
59943         * tests/test-fpending.c: New file, mostly copied
59944         from coreutils/lib/t-fpending.c.
59945         * modules/fpending-tests: New file.
59946
59947 2007-10-03  Bruno Haible  <bruno@clisp.org>
59948
59949         Port the stdio extensions to QNX (untested).
59950         * lib/fseterr.c (fseterr): Add support for QNX.
59951         * lib/fbufmode.c (fbufmode): Likewise.
59952         * lib/freadable.c (freadable): Likewise.
59953         * lib/fwritable.c (fwritable): Likewise.
59954         * lib/freading.c (freading): Likewise.
59955         * lib/fwriting.c (fwriting): Likewise.
59956         * lib/freadahead.c (freadahed): Likewise.
59957         * lib/fpurge.c (fpurge): Likewise.
59958         * lib/fseeko.c (rpl_fseeko): Likewise.
59959
59960 2007-10-03  Bruno Haible  <bruno@clisp.org>
59961             Jim Meyering  <jim@meyering.net>
59962             Eric Blake  <ebb9@byu.net>
59963
59964         * doc/relocatable.texi: Use @command instead of @program.
59965
59966 2007-10-02  Jim Meyering  <jim@meyering.net>
59967
59968         Perform one more "_.h" -> ".in.h" substitution.
59969         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59970         instead of unistd_.h here, too.
59971
59972 2007-10-01  Bruno Haible  <bruno@clisp.org>
59973
59974         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59975         Needed for the alloca-opt module.
59976
59977 2007-09-30  Bruno Haible  <bruno@clisp.org>
59978
59979         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59980         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59981         alloca_.h.
59982         * lib/argz.in.h: Renamed from lib/argz_.h.
59983         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59984         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59985         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59986         byteswap_.h.
59987         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59988         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59989         dirent_.h.
59990         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59991         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59992         fcntl_.h.
59993         * lib/float.in.h: Renamed from lib/float_.h.
59994         * modules/float (Files, Makefile.am): Use float.in.h instead of
59995         float_.h.
59996         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59997         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59998         fnmatch_.h.
59999         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60000         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60001         getopt_.h.
60002         * lib/glob.in.h: Renamed from lib/glob_.h.
60003         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60004         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60005         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60006         iconv_.h.
60007         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60008         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60009         inttypes_.h.
60010         * lib/locale.in.h: Renamed from lib/locale_.h.
60011         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60012         locale_.h.
60013         * lib/math.in.h: Renamed from lib/math_.h.
60014         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60015         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60016         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60017         of netinet_in_.h. Add dependency.
60018         * lib/poll.in.h: Renamed from lib/poll_.h.
60019         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60020         * lib/search.in.h: Renamed from lib/search_.h.
60021         * modules/search (Files, Makefile.am): Use search.in.h instead of
60022         search_.h.
60023         * lib/signal.in.h: Renamed from lib/signal_.h.
60024         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60025         _signal.h.
60026         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60027         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60028         stdbool_.h.
60029         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60030         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60031         stdint_.h.
60032         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60033         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60034         stdio_.h.
60035         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60036         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60037         stdlib_.h.
60038         * lib/string.in.h: Renamed from lib/string_.h.
60039         * modules/string (Files, Makefile.am): Use string.in.h instead of
60040         string_.h.
60041         * doc/gnulib-tool.texi (Initial import): Update.
60042         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60043         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60044         of sys_select_.h. Add dependency.
60045         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60046         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60047         of sys_socket_.h.
60048         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60049         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60050         sys_stat_.h.
60051         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60052         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60053         sys_time_.h.
60054         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60055         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60056         sysexits_.h.
60057         * lib/time.in.h: Renamed from lib/time_.h.
60058         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60059         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60060         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60061         unistd_.h.
60062         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60063         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60064         wchar_.h.
60065         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60066         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60067         wctype_.h.
60068         * build-aux/bootstrap (slurp): Update.
60069         * lib/.cppi-disable: Update.
60070
60071 2007-09-30  Bruno Haible  <bruno@clisp.org>
60072
60073         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60074         Needed on BeOS.
60075
60076 2007-09-30  Bruno Haible  <bruno@clisp.org>
60077
60078         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60079
60080 2007-09-29  Bruno Haible  <bruno@clisp.org>
60081
60082         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60083
60084 2007-09-29  Bruno Haible  <bruno@clisp.org>
60085
60086         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60087         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60088         * build-aux/install-reloc: Compile also areadlink.c.
60089         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60090
60091 2007-09-29  Bruno Haible  <bruno@clisp.org>
60092
60093         * gnulib-tool (func_emit_initmacro_done): Indentation.
60094
60095 2007-09-29  Bruno Haible  <bruno@clisp.org>
60096
60097         * README: Add CVS checkout update instructions.
60098         Info from Bob Proulx <bob@proulx.com>.
60099
60100 2007-09-28  Eric Blake  <ebb9@byu.net>
60101
60102         Provide move-if-change.
60103         * build-aux/move-if-change: New file, based on best practice
60104         rather than any canonical upstream location.
60105
60106 2007-09-28  Jim Meyering  <jim@meyering.net>
60107
60108         Fix canonicalize loop-detection corner case.
60109         Do not attempt to stat the symlink values stored via seen_triple.
60110         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60111         on linux-2.6.18, (but not 2.6.22).
60112         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60113         triple_compare.  The former compares dev,ino,filename, while the latter
60114         would actually stat dirname(filename) when dev and ino were equal.
60115         * lib/hash-triple.c: Install <string.h>.
60116         (STREQ): Define.
60117         (triple_compare_ino_str): New function.
60118         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60119
60120 2007-09-28  Eric Blake  <ebb9@byu.net>
60121
60122         Enforce that AC_REPLACE_FUNCS files exist.
60123         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60124         override check for typos.
60125
60126         Fix test-closein on Solaris 10.
60127         * tests/test-closein.c (main): Don't assume stdin can be inherited
60128         closed on all systems.
60129         * tests/test-closein.sh: Likewise.
60130         Reported by Piotr Tarnowski.
60131
60132 2007-09-28  Jim Meyering  <jim@meyering.net>
60133
60134         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60135
60136 2007-09-27  Jim Meyering  <jim@meyering.net>
60137
60138         canonicalize: Avoid a false-positive cycle failure.
60139         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60140         Sort.  Remove cycle-check.
60141         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60142         not cycle-check.h.
60143         (seen_triple): New function.
60144         (canonicalize_filename_mode): Use it instead of cycle-check.
60145         * tests/test-canonicalize.c: Add a test for this bug.
60146         * tests/test-canonicalize.sh: Set up and run the test.
60147
60148         New module, file-set, from coreutils.
60149         * modules/file-set: Define it.
60150         * lib/file-set.c, lib/file-set.h: Implement.
60151
60152         New module, hash-triple, from coreutils.
60153         * modules/hash-triple: Define it.
60154         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60155
60156 2007-09-25  Eric Blake  <ebb9@byu.net>
60157
60158         Fix strerror on Interix.
60159         * lib/string_.h (strerror): Declare replacement.
60160         * doc/functions/strerror.texi (strerror): Document the Interix
60161         shortcoming.
60162         * modules/string (Makefile.am): Support new hooks.
60163         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60164         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60165         gl_FUNC_STRERROR_SEPARATE.
60166         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60167         * lib/strerror.c (rpl_strerror): Provide replacement.
60168         * modules/strerror (Depends-on): Add string.
60169         (configure.ac): Detect use of module.
60170         * tests/test-strerror.c: New file.
60171         * modules/strerror-tests: New test module.
60172         * modules/argp (Depends-on): Add strerror.
60173         * modules/error (Depends-on): Likewise.
60174         Reported by Martin Koeppe.
60175
60176 2007-09-24  Bruno Haible  <bruno@clisp.org>
60177
60178         * README: Update git instructions.
60179
60180 2007-09-24  Eric Blake  <ebb9@byu.net>
60181
60182         Revert fpending breakage from 2007-09-08.
60183         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60184         __fpending.c.
60185
60186 2007-09-24  Jim Meyering  <jim@meyering.net>
60187
60188         filenamecat.c: Add a test.
60189         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60190         showing how the function works when DIR is the empty string.
60191
60192 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60193
60194         * tests/test-canonicalize.sh: Turn on executable bit.
60195
60196 2007-09-19  Eric Blake  <ebb9@byu.net>
60197
60198         * README: Update CVS instructions.
60199
60200 2007-09-18  Bruno Haible  <bruno@clisp.org>
60201
60202         * modules/areadlink: New file.
60203         * lib/areadlink.h (areadlink): New declaration.
60204         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60205
60206 2007-09-17  Jim Meyering  <jim@meyering.net>
60207
60208         * lib/savewd.c (ESTALE) [!defined]: Define.
60209         Reported to be required on Interix by Martin Koeppe.
60210
60211 2007-09-17  Bruno Haible  <bruno@clisp.org>
60212
60213         * gnulib-tool (func_version): Use $version.
60214
60215 2007-09-16  Bruno Haible  <bruno@clisp.org>
60216
60217         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60218         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60219         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60220         Reported by Greg Schafer <gschafer@zip.com.au>.
60221
60222 2007-09-15  Bruno Haible  <bruno@clisp.org>
60223
60224         * gnulib-tool (sed): Try a little harder to make bash understand the
60225         alias.
60226         Reported by Bruce Korb <bruce.korb@gmail.com>.
60227
60228 2007-09-13  Eric Blake  <ebb9@byu.net>
60229
60230         * ChangeLog: Remove conflict markers.
60231
60232 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60233
60234         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60235         Reported by Bruno Haible <bruno@clisp.org>.
60236
60237 2007-09-12  Bruno Haible  <bruno@clisp.org>
60238
60239         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60240         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60241         is not defined.
60242
60243 2007-09-12  Eric Blake  <ebb9@byu.net>
60244
60245         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60246         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60247         Autoconf definition.
60248         * modules/euidaccess (Depends-on): Add extensions, for
60249         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60250         * modules/fnmatch (Depends-on): Likewise.
60251         * modules/getaddrinfo (Depends-on): Likewise.
60252         * modules/getdelim (Depends-on): Likewise.
60253         * modules/getline (Depends-on): Likewise.
60254         * modules/getsubopt (Depends-on): Likewise.
60255         * modules/gettext (Depends-on): Likewise.
60256         * modules/group-member (Depends-on): Likewise.
60257         * modules/mbchar (Depends-on): Likewise.
60258         * modules/memmem (Depends-on): Likewise.
60259         * modules/mempcpy (Depends-on): Likewise.
60260         * modules/memrchr (Depends-on): Likewise.
60261         * modules/pagealign_alloc (Depends-on): Likewise.
60262         * modules/readutmp (Depends-on): Likewise.
60263         * modules/stpcpy (Depends-on): Likewise.
60264         * modules/stpncpy (Depends-on): Likewise.
60265         * modules/strchrnul (Depends-on): Likewise.
60266         * modules/strndup (Depends-on): Likewise.
60267         * modules/strsep (Depends-on): Likewise.
60268         * modules/strverscmp (Depends-on): Likewise.
60269         * modules/vasprintf (Depends-on): Likewise.
60270         * modules/wcwidth (Depends-on): Likewise.
60271         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60272         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60273         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60275         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60276         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60277         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60278         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60279         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60280         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60281         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60282         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60283         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60284         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60285         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60286         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60287         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60288         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60289         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60290         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60291         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60292         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60293         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60294         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60295         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60296         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60297         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60298         so that lock.m4 can be used in gettext without extensions module.
60299
60300 2007-09-11  Bruno Haible  <bruno@clisp.org>
60301
60302         * m4/isc-posix.m4: Remove file.
60303         Suggested by Eric Blake.
60304
60305 2007-09-11  Eric Blake  <ebb9@byu.net>
60306
60307         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60308
60309 2007-09-10  Bruno Haible  <bruno@clisp.org>
60310
60311         * posix-modules: Fix typo in error message.
60312         Reported by Matt <mkraai@beckman.com>.
60313
60314 2007-09-09  Bruno Haible  <bruno@clisp.org>
60315
60316         * doc/functions/getdelim.texi: Update list of platforms lacking the
60317         function.
60318         * doc/functions/getline.texi: Likewise.
60319
60320 2007-09-09  Jim Meyering  <jim@meyering.net>
60321
60322         * lib/hash.c (hash_initialize): Detect calloc failure.
60323         Reported by Bruno Haible.
60324
60325 2007-09-09  Bruno Haible  <bruno@clisp.org>
60326
60327         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60328         malloc or realloc fails.
60329
60330 2007-09-09  Bruno Haible  <bruno@clisp.org>
60331
60332         * modules/getcwd (Depends-on): Add malloc-posix.
60333         * modules/glob (Depends-on): Likewise.
60334         * modules/putenv (Depends-on): Likewise.
60335         * modules/strdup (Depends-on): Likewise.
60336         * modules/getdelim (Depends-on): Add realloc-posix.
60337         * modules/read-file (Depends-on): Likewise.
60338
60339 2007-09-09  Bruno Haible  <bruno@clisp.org>
60340
60341         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
60342         (gl_FUNC_MALLOC_POSIX): Require it.
60343         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
60344         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
60345         * modules/realloc (Files): Add m4/malloc.m4.
60346         * modules/calloc (Files): Likewise.
60347
60348 2007-09-09  Bruno Haible  <bruno@clisp.org>
60349
60350         * modules/malloc-posix: New file.
60351         * modules/malloc (Depends-on): Add malloc-posix.
60352         * lib/malloc.c: Include errno.h.
60353         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
60354         and a POSIX-compatible malloc into a single function. Set ENOMEM
60355         when returning NULL.
60356         * m4/malloc.m4: New file.
60357         * doc/functions/malloc.texi: Mention the malloc-posix module.
60358         * lib/stdlib_.h (malloc): New declaration.
60359         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60360         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
60361         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
60362         and HAVE_MALLOC_POSIX.
60363
60364 2007-09-09  Bruno Haible  <bruno@clisp.org>
60365
60366         * modules/realloc-posix: New file.
60367         * modules/realloc (Depends-on): Add realloc-posix.
60368         * lib/realloc.c: Include errno.h.
60369         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
60370         and a POSIX-compatible realloc into a single function. Set ENOMEM
60371         when returning NULL.
60372         * m4/realloc.m4: New file.
60373         * doc/functions/realloc.texi: Mention the realloc-posix module.
60374         * lib/stdlib_.h (realloc): New declaration.
60375         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60376         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
60377         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
60378         and HAVE_REALLOC_POSIX.
60379
60380 2007-09-09  Bruno Haible  <bruno@clisp.org>
60381
60382         * modules/calloc-posix: New file.
60383         * modules/calloc (Depends-on): Add calloc-posix.
60384         * lib/calloc.c: Include errno.h.
60385         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
60386         and a POSIX-compatible calloc into a single function. Set ENOMEM
60387         when returning NULL.
60388         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
60389         * doc/functions/calloc.texi: Mention the calloc-posix module.
60390         * lib/stdlib_.h (calloc): New declaration.
60391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
60392         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
60393         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
60394         and HAVE_CALLOC_POSIX.
60395
60396 2007-09-09  Bruno Haible  <bruno@clisp.org>
60397
60398         Allow for modules to show an arbitrary notice.
60399         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
60400         * gnulib-tool: New option --extract-notice.
60401         (func_usage): Document it.
60402         (sed_extract_prog): Update.
60403         (func_get_notice): New function.
60404         (func_modules_notice): New function.
60405         (func_import, func_create_testdir): Invoke it.
60406         Suggested by Jim Meyering.
60407
60408 2007-09-09  Bruno Haible  <bruno@clisp.org>
60409
60410         * gnulib-tool: New options --verbose, --quiet.
60411         (func_usage): Document them.
60412         (verbose): New variable.
60413         (func_execute_command): New function.
60414         (func_import): Don't show the module list and the file list if
60415         $verbose < 0.
60416         (func_create_testdir): Likewise. Use func_execute_command.
60417         (func_create_megatestdir): Use func_execute_command.
60418
60419 2007-09-08  Bruno Haible  <bruno@clisp.org>
60420
60421         * gnulib-tool (func_import): Prefer rsync over wget when available,
60422         for fetching the PO files.
60423
60424 2007-09-08  Bruno Haible  <bruno@clisp.org>
60425
60426         * posix-modules: New file. Portions copied from gnulib-tool.
60427         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
60428
60429 2007-09-08  Jim Meyering  <jim@meyering.net>
60430
60431         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
60432         * lib/fpending.h: Rename from __fpending.h.
60433         * lib/fpending.c: Rename from __fpending.c.
60434         Include "fpending.h", not "__fpending.h".
60435         * lib/__fpending.h, lib/__fpending.c: Remove files.
60436         * modules/fpending (Files): Reflect new file names.
60437         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
60438
60439 2007-09-08  Bruno Haible  <bruno@clisp.org>
60440
60441         * m4/inttypes-h.m4: Remove stub file.
60442
60443 2007-09-07  Simon Josefsson  <simon@josefsson.org>
60444
60445         * doc/headers/stdint.texi: Discuss #include_next issue.
60446
60447 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60448
60449         * build-aux/bootstrap: Remove obsolete comment about wget --help.
60450
60451 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60452
60453         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
60454         in variable name.
60455
60456 2007-09-03  Jim Meyering  <jim@meyering.net>
60457
60458         New module: git-version-gen.
60459         * modules/git-version-gen: New file.
60460
60461         Import changes from coreutils for bootstrap script.
60462
60463         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
60464
60465         bootstrap: uses rsync to download the .po files
60466         * build-aux/bootstrap (po_download_command_format): New global.
60467         (download_po_files): Use rsync.
60468         (update_po_files): Don't remove .po files after download,
60469         so future rsync runs can take advantage of the copies.
60470
60471         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
60472
60473         Solve the unnecessary-.po-file-regeneration problem once and for all.
60474         * build-aux/bootstrap (download_po_files): New function, renamed from
60475         get_translations.  Now, downloads, but doesn't update LINGUAS.
60476         (update_po_files): New function.
60477
60478         bootstrap: Ignore more.
60479         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
60480         uniwidth to e.g., lib/.gitignore.
60481         (slurp): Handle the sys_stat_.h -> sys mapping, too.
60482
60483         * build-aux/bootstrap: New setting: vc_ignore.
60484         (insert_sorted_if_absent): Create $file if absent.
60485         Adapt to new, possibly empty, list: $vc_ignore.
60486
60487         bootstrap: generate more ignorable names
60488         * build-aux/bootstrap (slurp): When generating ignorable names,
60489         also map .sin to .sed, .gperf to .c, and .y to .c.
60490
60491 2007-09-03  Jim Meyering  <jim@meyering.net>
60492
60493         * build-aux/git-version-gen: New file, from coreutils.  For details, see
60494         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
60495
60496 2007-09-02  Bruno Haible  <bruno@clisp.org>
60497
60498         Fix mis-recognition of 'mcs' on QNX 6.
60499         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
60500         output contains the string "Mono".
60501         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
60502         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
60503
60504 2007-09-01  Bruno Haible  <bruno@clisp.org>
60505
60506         Fix collision between uniwidth/* and linebreak modules.
60507         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
60508         u32_width): Remove declarations.
60509         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
60510         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
60511         streq3, streq2, streq1, streq0): Remove functions.
60512         (STREQ): Remove macro.
60513         (is_cjk_encoding): Remove function.
60514         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
60515         (uc_width, u8_width, u16_width, u32_width): Remove functions.
60516         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
60517         * NEWS: Document the change.
60518
60519 2007-09-01  Bruno Haible  <bruno@clisp.org>
60520
60521         * lib/streq.h: Add double-inclusion guard.
60522
60523 2007-09-01  Karl Berry  <karl@gnu.org>
60524
60525         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
60526
60527 2007-08-28  Jim Meyering  <jim@meyering.net>
60528
60529         Rename mreadlink_with_size to areadlink_with_size.
60530         * NEWS: Document the change.
60531         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
60532         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
60533         * lib/mreadlink.h: Rename this to...
60534         * lib/areadlink.h: ...this.
60535         * modules/mreadlink-with-size: Rename this to...
60536         * modules/areadlink-with-size: ...this.
60537         * lib/canonicalize.c: Reflect the renaming.
60538         * modules/canonicalize: Likewise.
60539
60540 2007-08-26  Bruno Haible  <bruno@clisp.org>
60541
60542         * gnulib-tool (func_import): When deciding which files to remove,
60543         consider also dangling symbolic links.
60544         Reported by Eric Blake.
60545
60546 2007-08-26  Bruno Haible  <bruno@clisp.org>
60547
60548         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
60549
60550 2007-08-23  Simon Josefsson  <simon@josefsson.org>
60551
60552         * lib/readline.c: Don't include getline.h, the prototype is now
60553         found in stdio.h.
60554
60555 2007-08-23  Jim Meyering  <jim@meyering.net>
60556
60557         Getdelim touchup.
60558         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
60559         around the funlockfile call, since funlockfile never sets errno.
60560         Don't set errno upon failed realloc.
60561
60562 2007-08-22  Eric Blake  <ebb9@byu.net>
60563
60564         Getline touchups.
60565         * lib/getdelim.c (getdelim): Revert regression that required *n to
60566         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
60567         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
60568         getdelim, rather than whether implementation is missing.
60569         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
60570         * lib/stdio_.h (getline): Also declare if replacement is
60571         required.
60572         * doc/functions/getdelim.texi: New file.
60573         * doc/functions/getline.texi: Likewise.
60574         * doc/gnulib.texi (Function Substitutes): Add new files.
60575         Reported by Bruno Haible.
60576
60577 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
60578
60579         * users.txt: Add Guile.
60580
60581 2007-08-22  Eric Blake  <ebb9@byu.net>
60582
60583         * tests/test-getdelim.c (main): Use remove, not unlink.
60584         * tests/test-getline.c (main): Likewise.
60585
60586         Move getline and getdelim into stdio.h, per POSIX 200x.
60587         * modules/getline (Files): Remove getline.h.
60588         (Depends-on): Add stdio.
60589         (configure.ac): Add module indicator.
60590         * modules/getdelim (Files): Remove getdelim.h.
60591         (Depends-on): Add stdio.
60592         (configure.ac): Add module indicator.
60593         * modules/stdio (Makefile.am): Work with new indicators.
60594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
60595         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
60596         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60597         * lib/getdelim.h: Delete.
60598         * lib/getline.h: Delete.
60599         * lib/stdio_.h (getdelim, getline): Declare.
60600         * modules/getdelim-tests: New module.
60601         * modules/getline-tests: Likewise.
60602         * tests/test-getdelim.c: New file.
60603         * tests/test-getline.c: Likewise.
60604         * NEWS: Document the change.
60605         * lib/getline.c: Update choice of header.
60606         * lib/csharpcomp.c: Likewise.
60607         * lib/getpass.c: Likewise.
60608         * lib/javacomp.c: Likewise.
60609         * lib/javaversion.c: Likewise.
60610         * lib/yesno.c: Likewise.
60611         * lib/getdelim.c: Likewise.
60612         (getdelim): Set errno on failure, and avoid memory leak.
60613
60614 2007-08-19  Bruno Haible  <bruno@clisp.org>
60615
60616         * modules/closein (Depends-on): Add freadahead.
60617         * lib/closein.c: Include freadahead.h.
60618         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
60619         is zero.
60620
60621 2007-08-19  Bruno Haible  <bruno@clisp.org>
60622
60623         * modules/freadahead-tests: New file.
60624         * tests/test-freadahead.sh: New file.
60625         * tests/test-freadahead.c: New file.
60626
60627         * modules/freadahead: New file.
60628         * lib/freadahead.h: New file.
60629         * lib/freadahead.c: New file.
60630         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
60631         fbufmode, fpurge, freadable, fwritable.
60632
60633 2007-08-19  Eric Blake  <ebb9@byu.net>
60634
60635         Test yesno in combination with closein.
60636         * lib/yesno.c (yesno): Document use of stdin.
60637         * modules/yesno-tests (Files): New module.
60638         * tests/test-yesno.c (main): New file.
60639         * tests/test-yesno.sh: Likewise.
60640
60641 2007-08-19  Bruno Haible  <bruno@clisp.org>
60642
60643         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
60644         * lib/fseeko.c (rpl_fseeko): Likewise.
60645         * lib/fseterr.c (fseterr): Likewise.
60646
60647 2007-08-19  Bruno Haible  <bruno@clisp.org>
60648
60649         * tests/test-lseek.c (main): Disable a test for BeOS.
60650         * doc/functions/lseek.texi: Document the BeOS bug.
60651
60652 2007-08-19  Bruno Haible  <bruno@clisp.org>
60653             Eric Blake  <ebb9@byu.net>
60654
60655         * lib/lseek.c: Include <sys/stat.h>.
60656         (rpl_lseek): Add workaround code also for Unix platforms.
60657         Needed for BeOS.
60658         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
60659         * doc/functions/lseek.texi: Document BeOS definiency.
60660
60661 2007-08-18  Bruno Haible  <bruno@clisp.org>
60662
60663         * modules/fstrcmp-tests: New file.
60664         * tests/test-fstrcmp.c: New file.
60665
60666 2007-08-18  Bruno Haible  <bruno@clisp.org>
60667
60668         * modules/fstrcmp: New file, from GNU gettext with modifications.
60669         * lib/fstrcmp.h: New file, from GNU gettext.
60670         * lib/fstrcmp.c: New file, from GNU gettext.
60671         * MODULES.html.sh (String handling): Add fstrcmp.
60672
60673 2007-08-18  Bruno Haible  <bruno@clisp.org>
60674
60675         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
60676         'bool'.
60677         (diag, compareseq): Remove const from the ctxt argument.
60678         (USE_HEURISTIC): Undefine at the end.
60679
60680 2007-08-18  Jim Meyering  <jim@meyering.net>
60681
60682         New file: lib/idcache.h
60683         * NEWS: Mention the addition.
60684         * modules/idcache (Files): Add lib/idcache.h
60685         * lib/idcache.c: Include "idcache.h".
60686         Don't include <sys/types.h>.
60687         Add a FIXME comment.
60688         Move file-scoped "static" declarations to the top.
60689         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
60690
60691 2007-08-17  Bruno Haible  <bruno@clisp.org>
60692         and Paul Eggert  <eggert@cs.ucla.edu>
60693
60694         * MODULES.html.sh: Add diffseq.
60695         * modules/diffseq: New file.
60696         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
60697         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
60698
60699 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
60700
60701         Import changes from coreutils for bootstrap script.
60702
60703         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
60704
60705         * build-aux/bootstrap (slurp): Work even in environments where
60706         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
60707         current code does not slurp files whose names start with ".", and
60708         this looks like it might be a troublesome area.
60709
60710         2007-07-11  Jim Meyering  <jim@meyering.net>
60711
60712         If there's a GPL vN copyright comment, require that N == 3.
60713
60714         2007-07-08  Jim Meyering  <jim@meyering.net>
60715
60716         Run the coreutils-specific code only if tests/Makefile.am.in exists.
60717         * build-aux/bootstrap (mam_template): Move definition out of loop.
60718
60719         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
60720
60721         * build-aux/bootstrap (symlink_to_dir): Rename function from
60722         symlink_to_gnulib.  Add a directory parameter.  Update all
60723         callers.
60724         (cp_mark_as_generated): Also check for -- and link to -- files in
60725         gl/.
60726
60727         2007-07-08  Jim Meyering  <jim@meyering.net>
60728
60729         Adapt to deeper hierarchy in gnulib.
60730         * build-aux/bootstrap (symlink_to_dir): If the destination
60731         directory doesn't exist, create it. This is required at least for
60732         "lib/uniwidth/cjk.h".
60733
60734         2007-05-15  Jim Meyering  <jim@meyering.net>
60735
60736         * build-aux/bootstrap: Now that generated Makefile.am files
60737         are no longer under version control, they must be created at
60738         bootstrap time.
60739
60740 2007-08-14  Ben Pfaff  <blp@gnu.org>
60741
60742         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
60743
60744 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
60745
60746         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
60747         given the changes below.
60748         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
60749         even on hosts that have padding bits beyond the supported 64.
60750
60751 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
60752
60753         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
60754         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
60755         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
60756         depends on it.
60757         (xstrtol_error): Remove.
60758         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
60759         but with a different signature.
60760         (ATTRIBUTE_NORETURN, __attribute__): New macros.
60761         * lib/xstrtol-error.c: Include exitfail.h.
60762         (xstrtol_fatal): New function, with a different signature from the
60763         old xstrtol_error, so that the caller need not worry about passing
60764         in an exit status, or about storage management of the option argument.
60765         (xstrtol_error): Now a static function.  Redo signature to
60766         implement xstrtol_fatal.  Output the correct number of hyphens in
60767         front of the option so that the caller need not worry about
60768         storage management.
60769         (N_): New macro.
60770         (_): Remove; not used now.
60771         * modules/xstrtol: Depend on getopt.
60772         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
60773         of old STRTOL_FATAL_ERROR macro.
60774         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
60775         of test program.
60776         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
60777         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
60778
60779 2007-08-08  Eric Blake  <ebb9@byu.net>
60780
60781         * lib/xstrtol-error.c: Add missing include.
60782
60783         Move xstrtol messages into gnulib domain, when --pobase is used.
60784         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
60785         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
60786         * modules/xstrtol (Files): Distribute new file.
60787         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
60788         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
60789         * tests/test-xstrtol.c: ...into new file.
60790         * tests/test-xstrtoul.c: Also test xstrtoul.
60791         * tests/test-xstrtoimax.c: Also test xstrtoimax.
60792         * tests/test-xstrtoumax.c: Also test xstrtoumax.
60793         * tests/test-xstrtol.sh: Drive the tests.
60794         * tests/test-xstrtoimax.sh: Likewise.
60795         * tests/test-xstrtoumax.sh: Likewise.
60796         * modules/xstrtol-tests: New module.
60797         * modules/xstrtoimax-tests: Likewise.
60798         * modules/xstrtoumax-tests: Likewise.
60799
60800 2007-08-08  Jim Meyering  <jim@meyering.net>
60801
60802         New function: mfile_name_concat.
60803         * lib/filenamecat.c (mfile_name_concat): New function, just like
60804         file_name_concat, but return NULL upon failure rather than exiting
60805         with a diagnostic.
60806         * lib/filenamecat.h: Declare it.
60807
60808 2007-08-07  Bruno Haible  <bruno@clisp.org>
60809
60810         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
60811         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
60812         warning from gcc.
60813         Reported by Eric Blake.
60814
60815 2007-08-07  Simon Josefsson  <simon@josefsson.org>
60816
60817         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
60818         * modules/crypto/arcfour (License): Likewise.
60819         * modules/crypto/des-tests (License): Likewise.
60820         * modules/crypto/gc-arctwo-tests (License): Likewise.
60821         * modules/crypto/gc-des-tests (License): Likewise.
60822         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
60823         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
60824         * modules/crypto/gc-md2-tests (License): Likewise.
60825         * modules/crypto/gc-md4-tests (License): Likewise.
60826         * modules/crypto/gc-md5-tests (License): Likewise.
60827         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
60828         * modules/crypto/gc-rijndael-tests (License): Likewise.
60829         * modules/crypto/gc-sha1-tests (License): Likewise.
60830         * modules/crypto/gc-tests (License): Likewise.
60831         * modules/crypto/hmac-md5 (License): Likewise.
60832         * modules/crypto/hmac-sha1 (License): Likewise.
60833         * modules/crypto/md2-tests (License): Likewise.
60834         * modules/crypto/md4-tests (License): Likewise.
60835         * modules/crypto/md5 (License): Likewise.
60836         * modules/crypto/rijndael (License): Likewise.
60837         * modules/crypto/sha1 (License): Likewise.
60838         * modules/memxor (License): Likewise.
60839
60840 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60841         and Bruno Haible  <bruno@clisp.org>
60842
60843         * NEWS: Describe interface changes to human, xstrtol.
60844         * lib/human.h: Include <xstrtol.h>.
60845         (human_options): Return enum strtol_error, not int.  Remove
60846         bool arg; take int * instead.
60847         * lib/human.c: Don't include "gettext.h".
60848         (_): Remove; no longer used.
60849         Don't include <xstrtol.h>, since human.h does it.
60850         (human_options): Adjust to abovementioned interface changes.
60851         Do not report error to stderr; that's now the caller's
60852         responsibility.
60853         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
60854         interface change.
60855         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
60856         Str, Argument_type_string.  All uses changed.  Put " argument"
60857         in diagnostics to make them clearer.  Change wording of suffix
60858         message for clarity.
60859         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
60860         Argument_type_string.
60861         (STRTOL_FATAL_WARN): Remove; no longer used.
60862         * modules/human (Depends-on): Remove gettext-h.
60863
60864 2007-08-06  Simon Josefsson  <simon@josefsson.org>
60865
60866         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
60867
60868 2007-07-31  Bruno Haible  <bruno@clisp.org>
60869
60870         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
60871         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
60872         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
60873
60874 2007-07-31  Bruno Haible  <bruno@clisp.org>
60875
60876         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
60877         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
60878
60879 2007-07-30  Bruno Haible  <bruno@clisp.org>
60880
60881         * modules/base64 (License): Use the synonymous term "LGPLv2+".
60882         * modules/c-ctype (License): Likewise.
60883         * modules/c-strcase (License): Likewise.
60884         * modules/check-version (License): Likewise.
60885         * modules/iconv (License): Likewise.
60886         * modules/iconv_open (License): Likewise.
60887         * modules/read-file (License): Likewise.
60888         * modules/striconv (License): Likewise.
60889         * modules/strverscmp (License): Likewise.
60890         * modules/vasprintf (License): Likewise.
60891         * modules/crypto/des (License): Likewise.
60892         * modules/crypto/gc (License): Likewise.
60893         * modules/crypto/gc-arcfour (License): Likewise.
60894         * modules/crypto/gc-arctwo (License): Likewise.
60895         * modules/crypto/gc-des (License): Likewise.
60896         * modules/crypto/gc-hmac-md5 (License): Likewise.
60897         * modules/crypto/gc-hmac-sha1 (License): Likewise.
60898         * modules/crypto/gc-md2 (License): Likewise.
60899         * modules/crypto/gc-md4 (License): Likewise.
60900         * modules/crypto/gc-md5 (License): Likewise.
60901         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
60902         * modules/crypto/gc-random (License): Likewise.
60903         * modules/crypto/gc-rijndael (License): Likewise.
60904         * modules/crypto/gc-sha1 (License): Likewise.
60905         * modules/crypto/md2 (License): Likewise.
60906         * modules/crypto/md4 (License): Likewise.
60907
60908 2007-07-30  Jim Meyering  <jim@meyering.net>
60909
60910         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
60911         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
60912         it has valid stat data.  This bug would cause du not to count the
60913         sizes of inaccessible directories.
60914         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
60915         in <http://bugzilla.redhat.com/250077>.
60916
60917 2007-07-25  Peter O'Gorman  <peter@pogma.com>
60918             Bruno Haible  <bruno@clisp.org>
60919
60920         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
60921         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
60922         #include_next, gives a diagnostic about it, but reports no error in
60923         the exit code.
60924         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
60925
60926 2007-07-24  Ben Pfaff  <blp@gnu.org>
60927
60928         Improve name: "count-one-bits" is better than "popcount".
60929         * MODULES.html.sh: Update name.
60930         * lib/popcount.h: Renamed lib/count-one-bits.h.
60931         (popcount): Renamed count_one_bits.
60932         (popcountl): Renamed count_one_bits_l.
60933         (popcountll): Renamed count_one_bits_ll.
60934         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
60935         * modules/popcount: Renamed module/count-one-bits.
60936         * modules/popcount-tests: Renamed module/count-one-bits-tests.
60937         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
60938
60939 2007-07-23  Ben Pfaff  <blp@gnu.org>
60940
60941         * lib/popcount.h (popcount32): Reduce size of constants, to allow
60942         better code generation, and add U to large constants to avoid
60943         warnings, in non-GCC case.
60944         Suggested by Bruno Haible.
60945
60946 2007-07-23  Ben Pfaff  <blp@gnu.org>
60947
60948         * lib/popcount.h: Use verify_true instead of if...abort.
60949         * modules/popcount: Depend on verify module.
60950         Suggested by Jim Meyering.
60951
60952 2007-07-23  Bruno Haible  <bruno@clisp.org>
60953
60954         * gnulib-tool (func_import): Create a .cvsignore file also when the
60955         directory is not yet in CVS but the toplevel directory is. When
60956         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
60957         Reported by Karl Berry.
60958
60959 2007-07-22  Ben Pfaff  <blp@gnu.org>
60960
60961         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
60962         case.
60963         Suggested by Eric Blake.
60964
60965 2007-07-22  Ben Pfaff  <blp@gnu.org>
60966
60967         New module: popcount.
60968         * MODULES.html.sh: Add popcount.
60969         * modules/popcount: New file.
60970         * modules/popcount-tests: New file.
60971         * tests/test-popcount.c: New file.
60972         * lib/popcount.h: New file.
60973         * m4/popcount.m4: New file.
60974
60975 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * build-aux/announce-gen: Update to GPLv3.
60978
60979         * build-aux/config.guess: Update from config.
60980
60981 2007-07-21  Bruno Haible  <bruno@clisp.org>
60982
60983         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60984         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60985
60986 2007-07-20  Jim Meyering  <jim@meyering.net>
60987
60988         * check-module: Diagnose a self-dependency.
60989
60990 2007-07-19  Bruno Haible  <bruno@clisp.org>
60991
60992         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60993         empty.
60994         Reported by Eric Blake.
60995
60996 2007-07-18  Bruno Haible  <bruno@clisp.org>
60997
60998         * gnulib-tool: New options --po-base, --po-domain.
60999         (func_usage): Document them.
61000         (pobase, po_domain): New variables.
61001         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61002         DEFAULT_TEXT_DOMAIN.
61003         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61004         (func_import): Consider pobase and po_domain. Create a po/ directory.
61005         (func_create_testdir): Set pobase and po_domain to empty.
61006         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61007         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61008
61009 2007-07-18  Bruno Haible  <bruno@clisp.org>
61010
61011         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61012         EXTRA_DIST augmentation for files in build-aux/.
61013
61014 2007-07-16  Bruno Haible  <bruno@clisp.org>
61015
61016         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61017         * modules/getdelim (License): Likewise.
61018
61019 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61020
61021         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61022         * modules/d-type (License): Likewise.
61023         * modules/extensions (License): Likewise.
61024         * modules/fnmatch (License): Likewise.
61025         * modules/fseeko (License): Likewise.
61026         * modules/getaddrinfo (License): Likewise.
61027         * modules/getline (License): Likewise.
61028         * modules/getlogin_r (License): Likewise.
61029         * modules/getpass (License): Likewise.
61030         * modules/gettimeofday (License): Likewise.
61031         * modules/glob (License): Likewise.
61032         * modules/inet_ntop (License): Likewise.
61033         * modules/malloc (License): Likewise.
61034         * modules/malloca (License): Likewise.
61035         * modules/memmem (License): Likewise.
61036         * modules/mempcpy (License): Likewise.
61037         * modules/memset (License): Likewise.
61038         * modules/minmax (License): Likewise.
61039         * modules/mktime (License): Likewise.
61040         * modules/netinet_in (License): Likewise.
61041         * modules/pathmax (License): Likewise.
61042         * modules/poll (License): Likewise.
61043         * modules/regex (License): Likewise.
61044         * modules/snprintf (License): Likewise.
61045         * modules/stdbool (License): Likewise.
61046         * modules/stdint (License): Likewise.
61047         * modules/stdio (License): Likewise.
61048         * modules/strcase (License): Likewise.
61049         * modules/strcasestr (License): Likewise.
61050         * modules/strdup (License): Likewise.
61051         * modules/string (License): Likewise.
61052         * modules/strndup (License): Likewise.
61053         * modules/strnlen (License): Likewise.
61054         * modules/strpbrk (License): Likewise.
61055         * modules/strptime (License): Likewise.
61056         * modules/strsep (License): Likewise.
61057         * modules/sys_select (License): Likewise.
61058         * modules/sys_socket (License): Likewise.
61059         * modules/sys_stat (License): Likewise.
61060         * modules/sys_time (License): Likewise.
61061         * modules/time (License): Likewise.
61062         * modules/time_r (License): Likewise.
61063         * modules/timegm (License): Likewise.
61064         * modules/unistd (License): Likewise.
61065         * modules/vsnprintf (License): Likewise.
61066         * modules/wctype (License): Likewise.
61067
61068 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61069
61070         * modules/argz (License): LGPLv2+.
61071
61072 2007-07-15  Karl Berry  <karl@gnu.org>
61073
61074         * doc/gnulib.texi: revise node structure per new fdl.texi.
61075
61076 2007-07-14  Bruno Haible  <bruno@clisp.org>
61077
61078         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61079         the output file.
61080         * lib/uniname/uninames.h: Regenerated.
61081
61082 2007-07-14  Karl Berry  <karl@gnu.org>
61083
61084         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61085         omitting sectioning and index commands.
61086
61087 2007-07-13  Bruno Haible  <bruno@clisp.org>
61088
61089         New gnulib-tool option --more-symlinks.
61090         * gnulib-tool (func_usage): Document --more-symlinks.
61091         (do_copyrights): New variable.
61092         Recognize option --more-symlinks.
61093         (func_import): Don't add a copyright notice transform to
61094         sed_transform_lib_file if do_copyrights is empty.
61095
61096 2007-07-13  Bruno Haible  <bruno@clisp.org>
61097
61098         * lib/vasnprintf.c (decimal_point_char): Define also if
61099         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61100         && !NEED_PRINTF_DIRECTIVE_A.
61101         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61102         Gary V. Vaughan <gary@gnu.org>.
61103
61104 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61105
61106         * lib/inttypes_.h: Undo previous change, since it was fixed
61107         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61108
61109 2007-07-13  Bruno Haible  <bruno@clisp.org>
61110
61111         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61112         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61113
61114 2007-07-13  Jim Meyering  <jim@meyering.net>
61115
61116         df: Don't fail for Tru64's "file-on-file mount".
61117         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61118         so we fall through and use statfs instead.  Details here:
61119         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61120         Reported by Albert Chin.
61121
61122 2007-07-13  Bruno Haible  <bruno@clisp.org>
61123
61124         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61125         * modules/configmake (License): Likewise.
61126         * modules/gettext (License): Likewise.
61127         * modules/gettext-h (License): Likewise.
61128         * modules/include_next (License): Likewise.
61129         * modules/link-warning (License): Likewise.
61130         * modules/localcharset (License): Likewise.
61131         * modules/localename (License): Likewise.
61132         * modules/lock (License): Likewise.
61133         * modules/relocatable-lib-lgpl (License): Likewise.
61134         * modules/size_max (License): Likewise.
61135         * modules/vasnprintf (License): Likewise.
61136         * modules/wchar (License): Likewise.
61137         * modules/xsize (License): Likewise.
61138
61139 2007-07-13  Bruno Haible  <bruno@clisp.org>
61140
61141         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61142         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61143
61144 2007-07-12  Bruno Haible  <bruno@clisp.org>
61145
61146         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61147         in the modules files.
61148
61149 2007-07-11  Karl Berry  <karl@gnu.org>
61150
61151         * MODULES.html.sh (func_module): use
61152          sed -e '\|^'"${includefile}"'$|d'
61153          instead of /.../d, to avoid errors on $includefile's containing /.
61154
61155 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61156
61157         * gnulib-tool (func_import): Avoid duplication of --avoid
61158         statements
61159         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61160         names to `_' in variable names.
61161
61162 2007-07-10  Eric Blake  <ebb9@byu.net>
61163
61164         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61165         * NEWS: Document this change.
61166
61167 2007-07-08  Bruno Haible  <bruno@clisp.org>
61168
61169         Update to Unicode 5.0.
61170         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61171         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61172         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61173         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61174         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61175         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61176         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61177         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61178         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61179         U+10A3F, U+1D242..U+1D244.
61180         (nonspacing_table_ind): Update.
61181         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61182         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61183
61184 2007-07-08  Bruno Haible  <bruno@clisp.org>
61185
61186         Update to Unicode 5.0.
61187         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61188         code transform. Extend the name index field of unicode_name_to_code and
61189         unicode_code_to_name from 16 to 24 bits.
61190         * lib/uniname/uniname.c (unicode_character_name,
61191         unicode_name_character): Add the range 0x12xxx to the code transform.
61192         * lib/uniname/uninames.h: Regenerated.
61193         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61194
61195 2007-07-07  Bruno Haible  <bruno@clisp.org>
61196
61197         * modules/wcwidth-tests: New file.
61198         * tests/test-wcwidth.c: New file.
61199
61200         Work around MacOS X wcwidth() bug.
61201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61202         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61203         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61204         original wcwidth in non-UTF-8 locales.
61205         * modules/wcwidth (Depends-on): Add localcharset, streq,
61206         uniwidth/width.
61207         * doc/functions/wcwidth.texi: Update.
61208
61209 2007-07-07  Bruno Haible  <bruno@clisp.org>
61210
61211         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61212         (wcwidth): New declaration.
61213         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61214         macros.
61215         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61216         here. Prepare for creating <wchar.h> unconditionally.
61217         * modules/wchar (Depends-on): Add link-warning.
61218         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61219         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61220         * lib/wcwidth.h: Remove file.
61221         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61222         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61223         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61224         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61225         (Include): Replace wcwidth.h with <wchar.h>.
61226         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61227         * lib/mbchar.h: Don't include wcwidth.h.
61228         * lib/mbswidth.c: Likewise.
61229         * NEWS: Mention the change.
61230
61231 2007-07-07  Bruno Haible  <bruno@clisp.org>
61232
61233         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61234         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61235         definition with an external declaration.
61236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61237         defined as a function. Remove AC_C_INLINE requirement.
61238         * modules/wcwidth (Files): Add lib/wcwidth.c.
61239         (Makefile.am): Remove redundant statement.
61240
61241 2007-07-07  Bruno Haible  <bruno@clisp.org>
61242
61243         * MODULES.html.sh (Unicode string functions): Add the new modules.
61244
61245         * tests/uniwidth/test-u32-strwidth.c: New file.
61246         * modules/uniwidth/u32-strwidth-tests: New file.
61247
61248         * lib/uniwidth/u32-strwidth.c: New file.
61249         * modules/uniwidth/u32-strwidth: New file.
61250
61251         * tests/uniwidth/test-u16-strwidth.c: New file.
61252         * modules/uniwidth/u16-strwidth-tests: New file.
61253
61254         * lib/uniwidth/u16-strwidth.c: New file.
61255         * modules/uniwidth/u16-strwidth: New file.
61256
61257         * tests/uniwidth/test-u8-strwidth.c: New file.
61258         * modules/uniwidth/u8-strwidth-tests: New file.
61259
61260         * lib/uniwidth/u8-strwidth.c: New file.
61261         * modules/uniwidth/u8-strwidth: New file.
61262
61263         * tests/uniwidth/test-u32-width.c: New file.
61264         * modules/uniwidth/u32-width-tests: New file.
61265
61266         * lib/uniwidth/u32-width.c: New file.
61267         * modules/uniwidth/u32-width: New file.
61268
61269         * tests/uniwidth/test-u16-width.c: New file.
61270         * modules/uniwidth/u16-width-tests: New file.
61271
61272         * lib/uniwidth/u16-width.c: New file.
61273         * modules/uniwidth/u16-width: New file.
61274
61275         * tests/uniwidth/test-u8-width.c: New file.
61276         * modules/uniwidth/u8-width-tests: New file.
61277
61278         * lib/uniwidth/u8-width.c: New file.
61279         * modules/uniwidth/u8-width: New file.
61280
61281         * tests/uniwidth/test-uc_width.c: New file.
61282         * modules/uniwidth/width-tests: New file.
61283
61284         * lib/uniwidth/width.c: New file, from GNU libiconv.
61285         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61286         * modules/uniwidth/width: New file.
61287
61288         * lib/uniwidth.h: New file, from GNU libiconv.
61289         * modules/uniwidth/base: New file.
61290
61291 2007-07-07  Bruno Haible  <bruno@clisp.org>
61292
61293         * lib/uniname.h: New file, from GNU gettext.
61294         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61295         * lib/uniname/uninames.h: New file, from GNU gettext.
61296         * lib/uniname/uniname.c: New file, from GNU gettext.
61297         * tests/uniname/test-uninames.sh: New file.
61298         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61299         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61300         * modules/uniname/base: New file.
61301         * modules/uniname/uniname: New file.
61302         * modules/uniname/uniname-tests: New file.
61303         * MODULES.html.sh (Unicode string functions): Add the new modules.
61304
61305 2007-07-06  Bruno Haible  <bruno@clisp.org>
61306
61307         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61308
61309 2007-07-06  Bruno Haible  <bruno@clisp.org>
61310
61311         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61312         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61313         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61314         include <sys/time.h>.
61315         Reported by Eric Blake.
61316
61317 2007-07-06  Eric Blake  <ebb9@byu.net>
61318
61319         Fix testing canonicalize on cygwin.
61320         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61321         Revert patch from 2007-06-19.
61322         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61323         canonicalize module is also in use.
61324         * tests/test-canonicalize.c: New file.
61325         * tests/test-canonicalize.sh: Likewise.
61326         * modules/canonicalize-tests: Likewise.
61327
61328 2007-07-06  Jim Meyering  <jim@meyering.net>
61329
61330         * lib/getugroups.c (getugroups): Detect getgrent failure.
61331         Adjust comment to reflect reality: this function may return -1.
61332
61333 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
61334
61335         * build-aux/bootstrap (TP_URL,get_translations): Update to use
61336         the new TP address.
61337         (usage): Fix typo
61338         (gnulib_mk): New variable.
61339
61340 2007-07-05  Jim Meyering  <jim@meyering.net>
61341
61342         Don't let endgrent clobber errno, no matter how improbable.
61343         * lib/getugroups.c (getugroups): Save and restore errno around
61344         endgrent call.
61345
61346         Close the group DB even when failing with 2^31 or more members.
61347         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
61348
61349 2007-07-04  Jim Meyering  <jim@meyering.net>
61350
61351         * lib/getugroups.h: New file.
61352         * lib/getugroups.c: Include "getugroups.h".
61353         Remove uses of "register" keyword.
61354         Move local variable, "cp", down into scope where used.
61355         Give "username" parameter the "const" attribute.
61356         * modules/getugroups (Files): Add lib/getugroups.h
61357
61358 2007-07-04  Karl Berry  <karl@gnu.org>
61359
61360         * MODULES.html.sh (func_all_modules): Complete rename of
61361         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
61362
61363 2007-07-02  Bruno Haible  <bruno@clisp.org>
61364
61365         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
61366         mode, when inttypes.h comes from gnulib.
61367         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61368
61369 2007-07-02  Simon Josefsson  <simon@josefsson.org>
61370
61371         * NEWS: Mention lgpl module name change.
61372
61373         * modules/lgpl-2.1: Renamed from lgpl.
61374
61375         * NEWS: Mention gpl module name change.
61376
61377         * modules/gpl-3.0: New file, based on gpl-2.0.
61378
61379         * modules/gpl-2.0: Renamed from gpl.
61380
61381         * modules/gpl: Fix filename, doc/gpl.texi is now found at
61382         doc/gpl-2.0.texi.
61383
61384 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61385
61386         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
61387         #define __STDC_LIMIT_MACROS temporarily while including
61388         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
61389         Problem reported by Joel E. Denny in
61390         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
61391
61392 2007-07-01  Bruno Haible  <bruno@clisp.org>
61393
61394         * lib/unistdio.h: New file.
61395         * lib/unistdio/u-asnprintf.h: New file.
61396         * lib/unistdio/u-asprintf.h: New file.
61397         * lib/unistdio/u-printf-args.c: New file.
61398         * lib/unistdio/u-printf-args.h: New file.
61399         * lib/unistdio/u-printf-parse.h: New file.
61400         * lib/unistdio/u-snprintf.h: New file.
61401         * lib/unistdio/u-sprintf.h: New file.
61402         * lib/unistdio/u-vasprintf.h: New file.
61403         * lib/unistdio/u-vsnprintf.h: New file.
61404         * lib/unistdio/u-vsprintf.h: New file.
61405         * lib/unistdio/ulc-asnprintf.c: New file.
61406         * lib/unistdio/ulc-asprintf.c: New file.
61407         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
61408         * lib/unistdio/ulc-printf-parse.c: New file.
61409         * lib/unistdio/ulc-snprintf.c: New file.
61410         * lib/unistdio/ulc-sprintf.c: New file.
61411         * lib/unistdio/ulc-vasnprintf.c: New file.
61412         * lib/unistdio/ulc-vasprintf.c: New file.
61413         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
61414         * lib/unistdio/ulc-vsnprintf.c: New file.
61415         * lib/unistdio/ulc-vsprintf.c: New file.
61416         * lib/unistdio/u8-asnprintf.c: New file.
61417         * lib/unistdio/u8-asprintf.c: New file.
61418         * lib/unistdio/u8-printf-parse.c: New file.
61419         * lib/unistdio/u8-snprintf.c: New file.
61420         * lib/unistdio/u8-sprintf.c: New file.
61421         * lib/unistdio/u8-vasnprintf.c: New file.
61422         * lib/unistdio/u8-vasprintf.c: New file.
61423         * lib/unistdio/u8-vsnprintf.c: New file.
61424         * lib/unistdio/u8-vsprintf.c: New file.
61425         * lib/unistdio/u8-u8-asnprintf.c: New file.
61426         * lib/unistdio/u8-u8-asprintf.c: New file.
61427         * lib/unistdio/u8-u8-snprintf.c: New file.
61428         * lib/unistdio/u8-u8-sprintf.c: New file.
61429         * lib/unistdio/u8-u8-vasnprintf.c: New file.
61430         * lib/unistdio/u8-u8-vasprintf.c: New file.
61431         * lib/unistdio/u8-u8-vsnprintf.c: New file.
61432         * lib/unistdio/u8-u8-vsprintf.c: New file.
61433         * lib/unistdio/u16-asnprintf.c: New file.
61434         * lib/unistdio/u16-asprintf.c: New file.
61435         * lib/unistdio/u16-printf-parse.c: New file.
61436         * lib/unistdio/u16-snprintf.c: New file.
61437         * lib/unistdio/u16-sprintf.c: New file.
61438         * lib/unistdio/u16-vasnprintf.c: New file.
61439         * lib/unistdio/u16-vasprintf.c: New file.
61440         * lib/unistdio/u16-vsnprintf.c: New file.
61441         * lib/unistdio/u16-vsprintf.c: New file.
61442         * lib/unistdio/u16-u16-asnprintf.c: New file.
61443         * lib/unistdio/u16-u16-asprintf.c: New file.
61444         * lib/unistdio/u16-u16-snprintf.c: New file.
61445         * lib/unistdio/u16-u16-sprintf.c: New file.
61446         * lib/unistdio/u16-u16-vasnprintf.c: New file.
61447         * lib/unistdio/u16-u16-vasprintf.c: New file.
61448         * lib/unistdio/u16-u16-vsnprintf.c: New file.
61449         * lib/unistdio/u16-u16-vsprintf.c: New file.
61450         * lib/unistdio/u32-asnprintf.c: New file.
61451         * lib/unistdio/u32-asprintf.c: New file.
61452         * lib/unistdio/u32-printf-parse.c: New file.
61453         * lib/unistdio/u32-snprintf.c: New file.
61454         * lib/unistdio/u32-sprintf.c: New file.
61455         * lib/unistdio/u32-vasnprintf.c: New file.
61456         * lib/unistdio/u32-vasprintf.c: New file.
61457         * lib/unistdio/u32-vsnprintf.c: New file.
61458         * lib/unistdio/u32-vsprintf.c: New file.
61459         * lib/unistdio/u32-u32-asnprintf.c: New file.
61460         * lib/unistdio/u32-u32-asprintf.c: New file.
61461         * lib/unistdio/u32-u32-snprintf.c: New file.
61462         * lib/unistdio/u32-u32-sprintf.c: New file.
61463         * lib/unistdio/u32-u32-vasnprintf.c: New file.
61464         * lib/unistdio/u32-u32-vasprintf.c: New file.
61465         * lib/unistdio/u32-u32-vsnprintf.c: New file.
61466         * lib/unistdio/u32-u32-vsprintf.c: New file.
61467         * tests/unistdio/test-ulc-asnprintf1.c: New file.
61468         * tests/unistdio/test-ulc-asnprintf1.h: New file.
61469         * tests/unistdio/test-ulc-printf1.h: New file.
61470         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
61471         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
61472         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
61473         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
61474         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
61475         * tests/unistdio/test-ulc-vasprintf1.c: New file.
61476         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
61477         * tests/unistdio/test-ulc-vsprintf1.c: New file.
61478         * tests/unistdio/test-u8-asnprintf1.c: New file.
61479         * tests/unistdio/test-u8-asnprintf1.h: New file.
61480         * tests/unistdio/test-u8-printf1.h: New file.
61481         * tests/unistdio/test-u8-vasnprintf1.c: New file.
61482         * tests/unistdio/test-u8-vasnprintf2.c: New file.
61483         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
61484         * tests/unistdio/test-u8-vasnprintf3.c: New file.
61485         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
61486         * tests/unistdio/test-u8-vasprintf1.c: New file.
61487         * tests/unistdio/test-u8-vsnprintf1.c: New file.
61488         * tests/unistdio/test-u8-vsprintf1.c: New file.
61489         * tests/unistdio/test-u16-asnprintf1.c: New file.
61490         * tests/unistdio/test-u16-asnprintf1.h: New file.
61491         * tests/unistdio/test-u16-printf1.h: New file.
61492         * tests/unistdio/test-u16-vasnprintf1.c: New file.
61493         * tests/unistdio/test-u16-vasnprintf2.c: New file.
61494         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
61495         * tests/unistdio/test-u16-vasnprintf3.c: New file.
61496         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
61497         * tests/unistdio/test-u16-vasprintf1.c: New file.
61498         * tests/unistdio/test-u16-vsnprintf1.c: New file.
61499         * tests/unistdio/test-u16-vsprintf1.c: New file.
61500         * tests/unistdio/test-u32-asnprintf1.c: New file.
61501         * tests/unistdio/test-u32-asnprintf1.h: New file.
61502         * tests/unistdio/test-u32-printf1.h: New file.
61503         * tests/unistdio/test-u32-vasnprintf1.c: New file.
61504         * tests/unistdio/test-u32-vasnprintf2.c: New file.
61505         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
61506         * tests/unistdio/test-u32-vasnprintf3.c: New file.
61507         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
61508         * tests/unistdio/test-u32-vasprintf1.c: New file.
61509         * tests/unistdio/test-u32-vsnprintf1.c: New file.
61510         * tests/unistdio/test-u32-vsprintf1.c: New file.
61511         * modules/unistdio/base: New file.
61512         * modules/unistdio/u-printf-args: New file.
61513         * modules/unistdio/ulc-asnprintf: New file.
61514         * modules/unistdio/ulc-asprintf: New file.
61515         * modules/unistdio/ulc-fprintf: New file.
61516         * modules/unistdio/ulc-printf-parse: New file.
61517         * modules/unistdio/ulc-snprintf: New file.
61518         * modules/unistdio/ulc-sprintf: New file.
61519         * modules/unistdio/ulc-vasnprintf: New file.
61520         * modules/unistdio/ulc-vasprintf: New file.
61521         * modules/unistdio/ulc-vfprintf: New file.
61522         * modules/unistdio/ulc-vsnprintf: New file.
61523         * modules/unistdio/ulc-vsprintf: New file.
61524         * modules/unistdio/u8-asnprintf: New file.
61525         * modules/unistdio/u8-asprintf: New file.
61526         * modules/unistdio/u8-printf-parse: New file.
61527         * modules/unistdio/u8-snprintf: New file.
61528         * modules/unistdio/u8-sprintf: New file.
61529         * modules/unistdio/u8-vasnprintf: New file.
61530         * modules/unistdio/u8-vasprintf: New file.
61531         * modules/unistdio/u8-vsnprintf: New file.
61532         * modules/unistdio/u8-vsprintf: New file.
61533         * modules/unistdio/u8-u8-asnprintf: New file.
61534         * modules/unistdio/u8-u8-asprintf: New file.
61535         * modules/unistdio/u8-u8-snprintf: New file.
61536         * modules/unistdio/u8-u8-sprintf: New file.
61537         * modules/unistdio/u8-u8-vasnprintf: New file.
61538         * modules/unistdio/u8-u8-vasprintf: New file.
61539         * modules/unistdio/u8-u8-vsnprintf: New file.
61540         * modules/unistdio/u8-u8-vsprintf: New file.
61541         * modules/unistdio/u16-asnprintf: New file.
61542         * modules/unistdio/u16-asprintf: New file.
61543         * modules/unistdio/u16-printf-parse: New file.
61544         * modules/unistdio/u16-snprintf: New file.
61545         * modules/unistdio/u16-sprintf: New file.
61546         * modules/unistdio/u16-vasnprintf: New file.
61547         * modules/unistdio/u16-vasprintf: New file.
61548         * modules/unistdio/u16-vsnprintf: New file.
61549         * modules/unistdio/u16-vsprintf: New file.
61550         * modules/unistdio/u16-u16-asnprintf: New file.
61551         * modules/unistdio/u16-u16-asprintf: New file.
61552         * modules/unistdio/u16-u16-snprintf: New file.
61553         * modules/unistdio/u16-u16-sprintf: New file.
61554         * modules/unistdio/u16-u16-vasnprintf: New file.
61555         * modules/unistdio/u16-u16-vasprintf: New file.
61556         * modules/unistdio/u16-u16-vsnprintf: New file.
61557         * modules/unistdio/u16-u16-vsprintf: New file.
61558         * modules/unistdio/u32-asnprintf: New file.
61559         * modules/unistdio/u32-asprintf: New file.
61560         * modules/unistdio/u32-printf-parse: New file.
61561         * modules/unistdio/u32-snprintf: New file.
61562         * modules/unistdio/u32-sprintf: New file.
61563         * modules/unistdio/u32-vasnprintf: New file.
61564         * modules/unistdio/u32-vasprintf: New file.
61565         * modules/unistdio/u32-vsnprintf: New file.
61566         * modules/unistdio/u32-vsprintf: New file.
61567         * modules/unistdio/u32-u32-asnprintf: New file.
61568         * modules/unistdio/u32-u32-asprintf: New file.
61569         * modules/unistdio/u32-u32-snprintf: New file.
61570         * modules/unistdio/u32-u32-sprintf: New file.
61571         * modules/unistdio/u32-u32-vasnprintf: New file.
61572         * modules/unistdio/u32-u32-vasprintf: New file.
61573         * modules/unistdio/u32-u32-vsnprintf: New file.
61574         * modules/unistdio/u32-u32-vsprintf: New file.
61575         * modules/unistdio/ulc-asnprintf-tests: New file.
61576         * modules/unistdio/ulc-vasnprintf-tests: New file.
61577         * modules/unistdio/ulc-vasprintf-tests: New file.
61578         * modules/unistdio/ulc-vsnprintf-tests: New file.
61579         * modules/unistdio/ulc-vsprintf-tests: New file.
61580         * modules/unistdio/u8-asnprintf-tests: New file.
61581         * modules/unistdio/u8-vasnprintf-tests: New file.
61582         * modules/unistdio/u8-vasprintf-tests: New file.
61583         * modules/unistdio/u8-vsnprintf-tests: New file.
61584         * modules/unistdio/u8-vsprintf-tests: New file.
61585         * modules/unistdio/u16-asnprintf-tests: New file.
61586         * modules/unistdio/u16-vasnprintf-tests: New file.
61587         * modules/unistdio/u16-vasprintf-tests: New file.
61588         * modules/unistdio/u16-vsnprintf-tests: New file.
61589         * modules/unistdio/u16-vsprintf-tests: New file.
61590         * modules/unistdio/u32-asnprintf-tests: New file.
61591         * modules/unistdio/u32-vasnprintf-tests: New file.
61592         * modules/unistdio/u32-vasprintf-tests: New file.
61593         * modules/unistdio/u32-vsnprintf-tests: New file.
61594         * modules/unistdio/u32-vsprintf-tests: New file.
61595         * MODULES.html.sh (Unicode string functions): Add the new modules.
61596
61597 2007-07-01  Bruno Haible  <bruno@clisp.org>
61598
61599         * lib/sprintf.c (sprintf): Limit the available length estimation,
61600         to avoid address wraparound.
61601         * lib/vsprintf.c (vsprintf): Likewise.
61602         * modules/sprintf-posix (Dependencies): Add stdint.
61603         * modules/vsprintf-posix (Dependencies): Likewise.
61604
61605 2007-07-01  Bruno Haible  <bruno@clisp.org>
61606
61607         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
61608         Windows PATH as well. Conservative double-quoting. Comments.
61609
61610 2007-07-01  Bruno Haible  <bruno@clisp.org>
61611             Eric Blake  <ebb9@byu.net>
61612             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61613
61614         * gnulib-tool (self_abspathname): Fix algorithm to cope with
61615         empty components in $PATH, denoting '.'.
61616
61617 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61618
61619         * gnulib-tool: Fix indentation.
61620         (func_create_megatestdir): Likewise.
61621         Report by Bruno Haible.
61622
61623 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61624
61625         Sync from Automake.
61626         * build-aux/gnupload: Fix shell portability issues with for loops.
61627         Report by Karl Berry.
61628
61629 2007-06-29  Simon Josefsson  <simon@josefsson.org>
61630
61631         * build-aux/maint.mk (POURL): Use translationproject.org.
61632
61633 2007-06-27  Simon Josefsson  <simon@josefsson.org>
61634             Bruno Haible  <bruno@clisp.org>
61635
61636         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
61637         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
61638         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
61639         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
61640         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
61641
61642 2007-06-27  Bruno Haible  <bruno@clisp.org>
61643
61644         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
61645         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
61646
61647 2007-06-26  Karl Berry  <karl@gnu.org>
61648
61649         * MODULES.html.sh: remove xreadlink-with-size.
61650
61651 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61652
61653         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
61654         method that I hope also handles the double-include problem noted
61655         by Bruno Haible in
61656         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
61657
61658 2007-06-23  Bruno Haible  <bruno@clisp.org>
61659
61660         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61661         Don't let the 'mostlyclean' target fail if the last subdirectory could
61662         not be removed.
61663         Reported by Karl Berry.
61664
61665 2007-06-23  Bruno Haible  <bruno@clisp.org>
61666
61667         * gnulib-tool (echo): Add a speedier workaround for ksh.
61668         * tests/test-echo.sh: Likewise.
61669
61670 2007-06-23  Bruno Haible  <bruno@clisp.org>
61671
61672         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
61673         * tests/test-echo.sh: Likewise.
61674
61675 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61676
61677         * gnulib-tool (IFS): Initialize early, so we don't set it to
61678         empty later.
61679         (self_abspathname): Rewrite algorithm to set it, reindent.
61680         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
61681         (func_create_megatestdir): Merge some sed scripts.
61682
61683 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
61684
61685         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
61686         exposed by Sun Studio 11 cc on Solaris 8.
61687
61688 2007-06-22  Bruno Haible  <bruno@clisp.org>
61689
61690         * gnulib-tool (echo): Ensure the echo primitive does not interpret
61691         backslashes.
61692         * tests/test-echo.sh: New file.
61693
61694 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61695
61696         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
61697         simplify `sed_replace_build_aux' scripts, they are portable but
61698         echoing them with `echo' is not.
61699         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
61700
61701 2007-06-21  Karl Berry  <karl@gnu.org>
61702
61703         * config/srclist.txt: guess we can't handle the licenses via
61704         srclist at the moment.
61705
61706 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61707
61708         * MODULES.html.sh: Add include_next.
61709         * modules/include_next: New file.
61710
61711 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61712
61713         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
61714         INCLUDE_NEXT.
61715         (gl_CHECK_NEXT_HEADERS): New macro.
61716         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
61717         the obsolescent gl_ABSOLUTE_HEADER.
61718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
61719         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
61720         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61721         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
61722         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
61723         * m4/math_h.m4 (gl_MATH_H): Likewise.
61724         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
61725         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
61726         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
61727         * m4/stdint.m4 (gl_STDINT_H): Likewise.
61728         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
61729         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
61730         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
61731         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
61732         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
61733         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
61734         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
61735         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
61736         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
61737         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
61738         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61739         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61740         * m4/inttypes.m4 (gl_INTTYPES_H): Define
61741         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
61742         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
61743         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
61744         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
61745         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
61746         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
61747         * lib/float_.h: Likewise.
61748         * lib/inttypes_.h: Likewise.
61749         * lib/math_.h: Likewise.
61750         * lib/search_.h: Likewise.
61751         * lib/signal_.h: Likewise.
61752         * lib/stdint_.h: Likewise.
61753         * lib/stdio_.h: Likewise.
61754         * lib/stdlib_.h: Likewise.
61755         * lib/string_.h: Likewise.
61756         * lib/sys_stat_.h: Likewise.
61757         * lib/sys_time_.h: Likewise.
61758         * lib/time_.h: Likewise.
61759         * lib/unistd_.h: Likewise.
61760         * lib/wchar_.h: Likewise.
61761         * lib/wctype_.h: Likewise.
61762         * lib/dirent_.h: Likewise.
61763         * lib/iconv_.h: Likewise.
61764         * lib/locale_.h: Likewise.
61765         * lib/netinet_in_.h: Likewise.
61766         * lib/sys_select_.h: Likewise.
61767         * lib/sys_socket_.h: Likewise.
61768         * lib/sysexits_.h: Likewise.
61769         * modules/fcntl (Depends-on): Depend on include_next, not
61770         absolute_header.
61771         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
61772         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
61773         * modules/fchdir: Likewise.
61774         * modules/float: Likewise.
61775         * modules/iconv_open: Likewise.
61776         * modules/inttypes: Likewise.
61777         * modules/locale: Likewise.
61778         * modules/math: Likewise.
61779         * modules/netinet_in: Likewise.
61780         * modules/search: Likewise.
61781         * modules/signal: Likewise.
61782         * modules/stdint: Likewise.
61783         * modules/stdio: Likewise.
61784         * modules/stdlib: Likewise.
61785         * modules/string: Likewise.
61786         * modules/sys_select: Likewise.
61787         * modules/sys_socket: Likewise.
61788         * modules/sys_stat: Likewise.
61789         * modules/sys_time: Likewise.
61790         * modules/sysexits: Likewise.
61791         * modules/time: Likewise.
61792         * modules/unistd: Likewise.
61793         * modules/wchar: Likewise.
61794         * modules/wctype: Likewise.
61795         * modules/sys_stat: Change maintainer to "all".
61796         * modules/unistd: Likewise.
61797
61798 2007-06-20  Karl Berry  <karl@gnu.org>
61799
61800         * config/srclist.txt: track www changes in license files.
61801
61802 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
61803
61804         * build-aux/bootstrap: Remove stray dot.
61805         Make sure build_aux settings are honored when linking
61806         gnulib_extra_files.
61807
61808 2007-06-19  Eric Blake  <ebb9@byu.net>
61809
61810         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61811         Allow compilation on cygwin.
61812
61813 2007-06-19  Jim Meyering  <jim@meyering.net>
61814
61815         xreadlink-with-size: Remove module.  No longer used.
61816         Ex-callers now use xreadlink or mreadlink-with-size.
61817         * modules/xreadlink-with-size: Remove module.
61818         * lib/xreadlink-with-size.c: Remove file.
61819         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
61820         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
61821         just before the function definition *is* accurate.
61822
61823         Eliminate one way canonicalize_filename_mode could exit.
61824         * lib/canonicalize.c (canonicalize_filename_mode):
61825         Use mreadlink_with_size, not xreadlink_with_size.
61826
61827 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
61828
61829         Detect porting problems to FreeBSD/arm, which has time_t wider than
61830         long int.  Original problem reported for GNU diff by Xin Li in
61831         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
61832         * modules/getdate (Depends-on): Add intprops, verify.
61833         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
61834         is an integer type no wider than long int.
61835
61836 2007-06-18  Jim Meyering  <jim@meyering.net>
61837
61838         New module: mreadlink-with-size.
61839         * MODULES.html.sh: Add mreadlink-with-size.
61840         * modules/mreadlink-with-size: New module
61841         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
61842         not xreadlink-with-size.
61843         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
61844
61845 2007-06-16  Bruno Haible  <bruno@clisp.org>
61846
61847         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
61848         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
61849         Reported by Gary V. Vaughan <gary@gnu.org>.
61850
61851 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
61852
61853         Revamp lchown so that it lives in unistd.h where it belongs.
61854         * lib/lchown.h: Remove.
61855         * lib/dirchownmod.c: Don't include lib/lchown.h.
61856         * lib/fchownat.c: Likewise.
61857         * lib/openat.c: Likewise.
61858         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
61859         does not follow symlinks.
61860         (EOPNOTSUPP): Define if not defined.
61861         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
61862         is defined to 0.
61863         (lchown): New decl.
61864         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
61865         Do not check for lchown decl.
61866         Set REPLACE_LCHOWN.
61867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
61868         REPLACE_LCHOWN.
61869         * modules/chown: Make it clear it follows symlinks.
61870         * modules/lchown: Make it clear it doesn't follow symlinks.
61871         (Files): Remove lib/lchown.h
61872         (Depends-on): Add unistd.
61873         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
61874         (Include): Include <unistd.h>, not "lchown.h".
61875         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
61876         REPLACE_LCHOWN.
61877
61878 2007-06-15  Jim Meyering  <jim@meyering.net>
61879
61880         Change license (GPL to LGPL) of fsusage and dependents.
61881         * modules/fsusage (License): Change to LGPL.
61882         * modules/full-read (License): Likewise.
61883         * modules/full-write (License): Likewise.
61884         * modules/safe-read (License): Likewise.
61885         * modules/safe-write (License): Likewise.
61886
61887 2007-06-14  Ben Pfaff  <blp@gnu.org>
61888
61889         Missing part of allocsa -> malloca transition.
61890         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
61891         gl_MALLOCA.
61892
61893 2007-06-12  Bruno Haible  <bruno@clisp.org>
61894
61895         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
61896         to ia64, x86_64, i386.
61897         Reported by Eric Blake.
61898
61899 2007-06-12  Bruno Haible  <bruno@clisp.org>
61900
61901         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
61902         cross-compiling to x86_64.
61903
61904 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
61905
61906         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
61907         glitch reported by Ralf Wildenhues in
61908         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
61909
61910         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
61911         Vin Shelton.
61912
61913 2007-06-11  Bruno Haible  <bruno@clisp.org>
61914
61915         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
61916         replacement string.
61917         Reported by Eric Blake.
61918
61919 2007-06-10  Bruno Haible  <bruno@clisp.org>
61920
61921         Prepare vasnprintf code for use with Unicode strings.
61922         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
61923         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
61924         TYPE_U32_STRING.
61925         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
61926         a_u32_string variants.
61927         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61928         * lib/printf-args.c: Don't include config.h and the specification
61929         header if PRINTF_FETCHARGS is already defined.
61930         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
61931         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
61932         TYPE_U16_STRING, TYPE_U32_STRING.
61933         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
61934         u16_directive, u16_directives, u32_directive, u32_directives): New
61935         types.
61936         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
61937         New declarations.
61938         * lib/printf-parse.c: Don't include config.h and the specification
61939         header if PRINTF_PARSE is already defined. Eliminate the set of
61940         parameters for WIDE_CHAR_VERSION; the user of this file must provide
61941         them now. Include c-ctype.h.
61942         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
61943         directive and CHAR_T_ONLY_ASCII.
61944         * lib/vasnprintf.c: Don't include config.h and the specification header
61945         if VASNPRINTF is already defined.
61946         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
61947         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
61948         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
61949         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
61950         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
61951         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
61952         code accordingly.
61953         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
61954         pad_ourselves also in this case, with the 'c' and 's' directives, and
61955         with a different notion of "width".
61956         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
61957
61958 2007-06-10  Bruno Haible  <bruno@clisp.org>
61959
61960         * modules/unistr/u32-mbsnlen: New file.
61961         * lib/unistr/u32-mbsnlen.c: New file.
61962
61963         * modules/unistr/u16-mbsnlen: New file.
61964         * lib/unistr/u16-mbsnlen.c: New file.
61965
61966         * modules/unistr/u8-mbsnlen: New file.
61967         * lib/unistr/u8-mbsnlen.c: New file.
61968
61969         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61970         declarations.
61971
61972 2007-06-10  Bruno Haible  <bruno@clisp.org>
61973
61974         * lib/string_.h (mbsnlen): New declaration.
61975         * lib/mbsnlen.c: New file.
61976         * m4/mbsnlen.m4: New file.
61977         * modules/mbsnlen: New file.
61978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61979         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61980         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61981
61982 2007-06-10  Bruno Haible  <bruno@clisp.org>
61983
61984         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61985
61986 2007-06-10  Bruno Haible  <bruno@clisp.org>
61987
61988         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61989         * lib/mbuiter.h: Likewise.
61990
61991 2007-06-10  Bruno Haible  <bruno@clisp.org>
61992
61993         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61994         declaration.
61995
61996 2007-06-10  Karl Berry  <karl@gnu.org>
61997
61998         * config/srclist.txt: remove gettext entries, Bruno prefers
61999         to update individually.
62000
62001 2007-06-10  Bruno Haible  <bruno@clisp.org>
62002
62003         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62004         'maxlen'. Ensure only length + width bytes are allocated, not
62005         length + 1 + width.
62006
62007 2007-06-09  Bruno Haible  <bruno@clisp.org>
62008
62009         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62010         (CHAR_T): Remove macro.
62011         (VASNPRINTF): Update.
62012
62013 2007-06-09  Bruno Haible  <bruno@clisp.org>
62014
62015         * MODULES.html.sh (Unicode string functions): Add the new modules.
62016
62017         * modules/uniconv/u32-conv-to-enc: New file.
62018         * lib/uniconv/u32-conv-to-enc.c: New file.
62019         * modules/uniconv/u32-conv-to-enc-tests: New file.
62020         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62021
62022         * modules/uniconv/u16-conv-to-enc: New file.
62023         * lib/uniconv/u16-conv-to-enc.c: New file.
62024         * lib/uniconv/u-conv-to-enc.h: New file.
62025         * modules/uniconv/u16-conv-to-enc-tests: New file.
62026         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62027
62028         * modules/uniconv/u8-conv-to-enc: New file.
62029         * lib/uniconv/u8-conv-to-enc.c: New file.
62030         * modules/uniconv/u8-conv-to-enc-tests: New file.
62031         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62032
62033         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62034         u32_conv_to_encoding): New declarations.
62035
62036 2007-06-09  Bruno Haible  <bruno@clisp.org>
62037
62038         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62039
62040 2007-06-09  Bruno Haible  <bruno@clisp.org>
62041
62042         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62043         * modules/malloca: Renamed from modules/allocsa, updated.
62044         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62045         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62046         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62047         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62048         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62049         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62050         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62051         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62052         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62053         * modules/c-strcasestr (Depends-on): Update.
62054         * lib/c-strcasestr.c: Update.
62055         * modules/c-strstr (Depends-on): Update.
62056         * lib/c-strstr.c: Update.
62057         * modules/canonicalize-lgpl (Depends-on): Update.
62058         * lib/canonicalize-lgpl.c: Update.
62059         * modules/clean-temp (Depends-on): Update.
62060         * lib/clean-temp.c: Update.
62061         * modules/csharpcomp (Depends-on): Update.
62062         * lib/csharpcomp.c: Update.
62063         * modules/csharpexec (Depends-on): Update.
62064         * lib/csharpexec.c: Update.
62065         * modules/javacomp (Depends-on): Update.
62066         * lib/javacomp.c: Update.
62067         * modules/javaexec (Depends-on): Update.
62068         * lib/javaexec.c: Update.
62069         * modules/mbscasestr (Depends-on): Update.
62070         * lib/mbscasestr.c: Update.
62071         * modules/mbsstr (Depends-on): Update.
62072         * lib/mbsstr.c: Update.
62073         * modules/setenv (Depends-on): Update.
62074         * lib/setenv.c: Update.
62075         * modules/strcasestr (Depends-on): Update.
62076         * lib/strcasestr.c: Update.
62077         * modules/striconveha (Depends-on): Update.
62078         * lib/striconveha.c: Update.
62079         * modules/relocatable-prog-wrapper (Files): Update.
62080         * lib/relocwrapper.c: Update.
62081         * build-aux/install-reloc: Update.
62082         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62083
62084 2007-06-08  Bruno Haible  <bruno@clisp.org>
62085
62086         Port to uClibc.
62087         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62088         * lib/fpurge.c (fpurge): Likewise.
62089         * lib/freading.c (freading): Likewise.
62090         * lib/fseeko.c (rpl_fseeko): Likewise.
62091         * lib/fseterr.c (fseterr): Likewise.
62092         * lib/fwriting.c (fwriting): Likewise.
62093         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62094
62095 2007-06-08  Bruno Haible  <bruno@clisp.org>
62096
62097         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62098         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62099         * modules/gettext (Files): Add m4/intlmacosx.m4.
62100
62101 2007-06-07  Bruno Haible  <bruno@clisp.org>
62102
62103         * modules/localename-tests: New file.
62104         * tests/test-localename.c: New file.
62105
62106         New module 'localename'.
62107         * lib/localename.h: New file.
62108         * lib/localename.c: New file, from GNU gettext.
62109         * m4/localename.m4: New file.
62110         * modules/localename: New file.
62111
62112 2007-06-07  Bruno Haible  <bruno@clisp.org>
62113
62114         Work around the lack of <wchar.h> on some builds of uClibc.
62115         * doc/headers/wchar.texi: Update.
62116         * lib/wchar_.h: Include <wchar.h> only if it exists.
62117         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62118         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62119         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62120         doesn't exist.
62121         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62122         * modules/mbfile (Depends-on): Add wchar.
62123         * modules/mbiter (Depends-on): Likewise.
62124         * modules/mbuiter (Depends-on): Likewise.
62125         Reported by Simon Josefsson.
62126
62127 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62128
62129         Work around problem reported by Steven M. Schweda in
62130         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62131         Tru64 5.1B with the Compaq compiler environment installed declares
62132         an 'isblank' function but does not define it in the C library.
62133         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62134         * lib/regex_internal.h (isblank): Likewise.
62135         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62136         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62137
62138 2007-06-05  Bruno Haible  <bruno@clisp.org>
62139
62140         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62141         ia64.
62142         * modules/printf-safe: New file.
62143         * modules/fprintf-posix (Depends-on): Add printf-safe.
62144         * modules/printf-posix (Depends-on): Likewise.
62145         * modules/snprintf-posix (Depends-on): Likewise.
62146         * modules/sprintf-posix (Depends-on): Likewise.
62147         * modules/vasnprintf-posix (Depends-on): Likewise.
62148         * modules/vasprintf-posix (Depends-on): Likewise.
62149         * modules/vfprintf-posix (Depends-on): Likewise.
62150         * modules/vprintf-posix (Depends-on): Likewise.
62151         * modules/vsnprintf-posix (Depends-on): Likewise.
62152         * modules/vsprintf-posix (Depends-on): Likewise.
62153         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62154         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62155         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62156         "no" on i386, x86_64, ia64.
62157         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62158         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62159         on i386, x86_64, ia64.
62160         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62161         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62162         on i386, x86_64, ia64.
62163         * tests/test-vasnprintf-posix.c: Include float.h.
62164         (LDBL80_WORDS): New macro.
62165         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62166         on i386, x86_64, ia64.
62167         * tests/test-vasprintf-posix.c: Include float.h.
62168         (LDBL80_WORDS): New macro.
62169         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62170         on i386, x86_64, ia64.
62171         * tests/test-snprintf-posix.c: Include float.h.
62172         * tests/test-sprintf-posix.c: Likewise.
62173         * tests/test-vsnprintf-posix.c: Likewise.
62174         * tests/test-vsprintf-posix.c: Likewise.
62175
62176 2007-06-05  Bruno Haible  <bruno@clisp.org>
62177
62178         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62179         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62180         non-IEEE numbers on i386, x86_64, ia64.
62181         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62182         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62183         * tests/test-isnanl.h: Include float.h.
62184         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62185
62186 2007-06-05  Bruno Haible  <bruno@clisp.org>
62187
62188         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62189         also the %a / %A. Handle the %a / %A code before this extra handling.
62190
62191 2007-06-05  Bruno Haible  <bruno@clisp.org>
62192
62193         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62194         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62195
62196 2007-06-05  Bruno Haible  <bruno@clisp.org>
62197
62198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62199         typo in variable name.
62200
62201 2007-06-05  Eric Blake  <ebb9@byu.net>
62202
62203         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62204         Reported by Simon Josefsson.
62205
62206 2007-06-04  Bruno Haible  <bruno@clisp.org>
62207
62208         Avoid test failures on some PowerPC platforms.
62209         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62210         Define differently for PowerPC.
62211         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62212         Reported by Gary V. Vaughan <gary@gnu.org>.
62213
62214 2007-06-02  Bruno Haible  <bruno@clisp.org>
62215
62216         Fix test-stdint failure on FreeBSD/ia64.
62217         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62218         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62219         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62220         * doc/headers/stdint.texi: Update.
62221
62222 2007-06-01  Bruno Haible  <bruno@clisp.org>
62223
62224         * tests/test-binary-io.c (main): Pass a third argument to open().
62225         Reported by Gary V. Vaughan <gary@gnu.org>.
62226
62227 2007-06-01  Bruno Haible  <bruno@clisp.org>
62228
62229         * doc/functions/frexpl.texi: Update for mingw.
62230
62231 2007-06-01  Bruno Haible  <bruno@clisp.org>
62232
62233         * tests/test-lseek.c (main): Disable test of errno for invalid third
62234         argument.
62235         * doc/functions/lseek.texi: Update.
62236         Reported by Gary V. Vaughan <gary@gnu.org>.
62237
62238 2007-05-28  Bruno Haible  <bruno@clisp.org>
62239
62240         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62241
62242 2007-05-31  Eric Blake  <ebb9@byu.net>
62243
62244         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62245         cross compiling.
62246
62247 2007-05-30  Eric Blake  <ebb9@byu.net>
62248         and Bruno Haible  <bruno@clisp.org>
62249
62250         Work around mingw test failures exposed by m4-1.4.9b.
62251         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62252         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62253         moment.
62254
62255 2007-05-30  Bruno Haible  <bruno@clisp.org>
62256
62257         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62258         assuming that they are closed. Needed on HP-UX 11.
62259
62260 2007-05-29  Bruno Haible  <bruno@clisp.org>
62261
62262         Fix a problem with #include_next.
62263         * lib/dirent_.h: Split the double-inclusion guard.
62264         * lib/fcntl_.h: Likewise.
62265         * lib/float_.h: Likewise.
62266         * lib/iconv_.h: Likewise.
62267         * lib/inttypes_.h: Likewise.
62268         * lib/locale_.h: Likewise.
62269         * lib/math_.h: Likewise.
62270         * lib/netinet_in_.h: Likewise.
62271         * lib/search_.h: Likewise.
62272         * lib/signal_.h: Likewise.
62273         * lib/stdint_.h: Likewise.
62274         * lib/stdio_.h: Likewise.
62275         * lib/stdlib_.h: Likewise.
62276         * lib/string_.h: Likewise.
62277         * lib/sys_select_.h: Likewise.
62278         * lib/sys_socket_.h: Likewise.
62279         * lib/sys_stat_.h: Likewise.
62280         * lib/sys_time_.h: Likewise.
62281         * lib/sysexits_.h: Likewise.
62282         * lib/time_.h: Likewise.
62283         * lib/unistd_.h: Likewise.
62284         * lib/wchar_.h: Likewise.
62285         * lib/wctype_.h: Likewise.
62286
62287 2007-05-29  Bruno Haible  <bruno@clisp.org>
62288
62289         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62290         for the moment.
62291
62292 2007-05-29  Bruno Haible  <bruno@clisp.org>
62293
62294         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62295         invocation.
62296         Reported by Eric Blake.
62297
62298 2007-05-29  Bruno Haible  <bruno@clisp.org>
62299
62300         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62301         compiling case.
62302
62303 2007-05-29  Eric Blake  <ebb9@byu.net>
62304             Bruno Haible  <bruno@clisp.org>
62305
62306         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62307         cross compiles.
62308
62309 2007-05-28  Eric Blake  <ebb9@byu.net>
62310
62311         * modules/closein-tests (test_closein_LDADD): Support test on
62312         cygwin with libtool.
62313
62314 2007-05-28  Bruno Haible  <bruno@clisp.org>
62315
62316         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62317         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62318         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62319         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62320         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62321         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62322         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62323         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62324         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62325
62326 2007-05-28  Eric Blake  <ebb9@byu.net>
62327
62328         Unconditionally include <config.h> in unit tests.
62329         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62330         * tests/test-allocsa.c, tests/test-arcfour.c,
62331         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
62332         tests/test-array_list.c, tests/test-array_oset.c,
62333         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
62334         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
62335         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
62336         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
62337         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
62338         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
62339         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
62340         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
62341         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
62342         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
62343         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
62344         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
62345         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
62346         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
62347         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
62348         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
62349         test-md5.c, test-memmem.c, test-printf-posix.c,
62350         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
62351         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
62352         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
62353         test-strcasestr.c, test-striconv.c, test-striconveh.c,
62354         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
62355         test-vasnprintf-posix2.c, test-vasnprintf.c,
62356         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
62357         test-vfprintf-posix.c, test-vprintf-posix.c,
62358         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
62359         test-xvasprintf.c: Likewise.
62360
62361 2007-05-28  Bruno Haible  <bruno@clisp.org>
62362
62363         * gnulib-tool (func_import): Remember the --with-tests command-line
62364         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
62365         Reported by Eric Blake.
62366
62367 2007-05-28  Bruno Haible  <bruno@clisp.org>
62368
62369         * modules/ftell-tests: New file.
62370         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
62371         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
62372
62373         * lib/ftell.c: New file.
62374         * modules/ftell: New file.
62375         * m4/ftell.m4: New file.
62376         * doc/functions/ftell.texi: Update.
62377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
62378         REPLACE_FTELL.
62379         * lib/stdio_.h (rpl_ftell): New declaration.
62380         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
62381         REPLACE_FTELL.
62382
62383 2007-05-28  Eric Blake  <ebb9@byu.net>
62384
62385         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
62386
62387 2007-05-28  Bruno Haible  <bruno@clisp.org>
62388
62389         * modules/fseek-tests: New file.
62390         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
62391         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
62392
62393         * lib/fseek.c: New file.
62394         * modules/fseek: New file.
62395         * m4/fseek.m4: New file.
62396         * doc/functions/fseek.texi: Update.
62397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
62398         REPLACE_FSEEK.
62399         * lib/stdio_.h (rpl_fseek): New declaration.
62400         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
62401         REPLACE_FSEEK.
62402
62403 2007-05-28  Bruno Haible  <bruno@clisp.org>
62404
62405         * lib/stdio_.h (fflush): More comments.
62406
62407 2007-05-28  Bruno Haible  <bruno@clisp.org>
62408
62409         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
62410         runtime test.
62411
62412 2007-05-28  Eric Blake  <ebb9@byu.net>
62413
62414         Improve lseek module.
62415         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
62416         * lib/unistd_.h (lseek): Scale back link warning message.
62417         * tests/test-lseek.c: Beef up test.
62418         * tests/test-lseek.sh: Exercise more facets of lseek.
62419         Reported by Bruno Haible.
62420
62421 2007-05-28  Bruno Haible  <bruno@clisp.org>
62422
62423         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
62424         to define.
62425
62426 2007-05-27  Bruno Haible  <bruno@clisp.org>
62427
62428         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
62429
62430 2007-05-27  Bruno Haible  <bruno@clisp.org>
62431
62432         * modules/openmp: New file.
62433         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
62434         Noah Misch.
62435
62436 2007-05-26  Bruno Haible  <bruno@clisp.org>
62437
62438         * modules/chdir-long (Depends-on): Add fchdir.
62439         * modules/chdir-safer (Depends-on): Likewise.
62440         * modules/fts (Depends-on): Likewise.
62441         * modules/fts-lgpl (Depends-on): Likewise.
62442         * modules/openat (Depends-on): Likewise.
62443         * modules/savewd (Depends-on): Likewise.
62444
62445 2007-05-24  Eric Blake  <ebb9@byu.net>
62446
62447         Fix lseek on mingw.
62448         * modules/lseek: New module.
62449         * m4/lseek.m4: New file.
62450         * lib/lseek.c: New file.
62451         * modules/lseek-tests: New file.
62452         * tests/test-lseek.c: New file.
62453         * tests/test-lseek.sh: New file.
62454         * MODULES.html.sh: Document lseek module.
62455         * modules/fflush (Depends-on): Add lseek, fseeko.
62456         * modules/fseeko (Depends-on): Likewise.
62457         * modules/ftello (Depends-on): Likewise.
62458         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
62459         broken.
62460         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
62461         broken.
62462         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
62463         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
62464         * lib/ftello.c (rpl_ftello): Likewise.
62465         * tests/test-fseeko.c (main): Test this.
62466         * tests/test-fseeko.sh: Likewise.
62467         * tests/test-ftello.c (main): Likewise.
62468         * tests/test-ftello.sh: Likewise.
62469         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
62470         implies replacing fseek.
62471         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
62472         HAVE_FTELLO.
62473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
62474         * modules/unistd (Makefile.am): Likewise.
62475         * lib/unistd_.h (lseek): Declare a replacement.
62476         * doc/functions/lseek.texi (lseek): Document this fix.
62477         * doc/functions/fseek.texi (fseek): Likewise.
62478         * doc/functions/ftell.texi (ftell): Likewise.
62479
62480 2007-05-24  Bruno Haible  <bruno@clisp.org>
62481
62482         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
62483         in the printed representation of a NaN.
62484         * tests/test-vasprintf-posix.c (test_function): Likewise.
62485         * tests/test-snprintf-posix.h (test_function): Likewise.
62486         * tests/test-sprintf-posix.h (test_function): Likewise.
62487         Reported by Eric Blake.
62488
62489 2007-05-23  Eric Blake  <ebb9@byu.net>
62490
62491         Fix fseeko/ftello on cygwin 1.5.24.
62492         * doc/functions/fseeko.texi (fseeko): Document the fix.
62493         * doc/functions/ftello.texi (ftello): Document the fix.
62494         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
62495         * doc/functions/stdout.text (stdout): New file.
62496         * doc/functions/stderr.text (stderr): New file.
62497         * doc/gnulib.texi (Function Substitutes): Use new files.
62498         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
62499         prior to 1.7.0.
62500         * tests/test-ftello.c (main): Likewise for ftello.
62501         * tests/test-fseeko.sh: New file.
62502         * tests/test-ftello.sh: New file.
62503         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
62504         with seekable stdin.
62505         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
62506         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
62507         (gl_REPLACE_FSEEKO): New macro.
62508         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
62509         * modules/fseeko (Files): Distribute fseeko.c.
62510         * modules/ftello (Files): Distribute ftello.c.
62511         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
62512         mode.
62513         * lib/ftello.c (rpl_ftello): New file.
62514         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
62515         fseeko, ftello.
62516         (gl_STDIN_LARGE_OFFSET): New macro.
62517         * modules/stdio (Makefile.am): Perform the replacement.
62518         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
62519
62520 2007-05-23  Bruno Haible  <bruno@clisp.org>
62521
62522         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
62523         GNULIB_POSIXCHECK is defined.
62524
62525 2007-05-21  Bruno Haible  <bruno@clisp.org>
62526
62527         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
62528         Check also the output for NaN arguments. When cross-compiling, guess
62529         no on IRIX.
62530         * lib/vasnprintf.c: Update comments.
62531         * tests/test-vasnprintf-posix.c (strisnan): New function.
62532         (test_function): Use it.
62533         * tests/test-vasprintf-posix.c (strisnan): New function.
62534         (test_function): Use it.
62535         * tests/test-snprintf-posix.h (strisnan): New function.
62536         (test_function): Use it.
62537         * tests/test-sprintf-posix.h (strisnan): New function.
62538         (test_function): Use it.
62539         Reported by Eric Blake.
62540
62541 2007-05-20  Bruno Haible  <bruno@clisp.org>
62542
62543         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
62544         numbers that fails on BeOS.
62545         * doc/functions/frexpl.texi: Update.
62546
62547 2007-05-20  Jim Meyering  <jim@meyering.net>
62548
62549         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
62550         forced upon us by glibc-2.6.
62551
62552 2007-05-20  Bruno Haible  <bruno@clisp.org>
62553
62554         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
62555         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
62556         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
62557         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
62558         NEED_PRINTF_INFINITE.
62559         (is_infinitel): New function.
62560         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
62561         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
62562         gl_PREREQ_VASNPRINTF_INFINITE.
62563         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
62564         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62565         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
62566         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
62567         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
62568         gl_PREREQ_VASNPRINTF_INFINITE.
62569         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62570         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62571         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62572         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62573         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62574         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62575         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62576         * doc/functions/fprintf.texi: Update.
62577         * doc/functions/printf.texi: Update.
62578         * doc/functions/snprintf.texi: Update.
62579         * doc/functions/sprintf.texi: Update.
62580         * doc/functions/vfprintf.texi: Update.
62581         * doc/functions/vprintf.texi: Update.
62582         * doc/functions/vsnprintf.texi: Update.
62583         * doc/functions/vsprintf.texi: Update.
62584
62585 2007-05-20  Bruno Haible  <bruno@clisp.org>
62586
62587         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
62588         was not found in libc.
62589         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
62590
62591 2007-05-20  Bruno Haible  <bruno@clisp.org>
62592
62593         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62594         printed as "-nan" instead of "nan".
62595         * tests/test-vasprintf-posix.c (test_function): Likewise.
62596         * tests/test-snprintf-posix.h (test_function): Likewise.
62597         * tests/test-sprintf-posix.h (test_function): Likewise.
62598         Needed for HP-UX 11.
62599
62600 2007-05-20  Jim Meyering  <jim@meyering.net>
62601
62602         Fix buggy test for the fchownat-deref bug.
62603         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
62604         symlink required for the run-test.  Without it, this test would
62605         always declare that fchownat doesn't work, and client code would
62606         unnecessarily use the replacement function with fixed libc.
62607         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
62608         Reported by Greg Schafer.
62609
62610 2007-05-19  Bruno Haible  <bruno@clisp.org>
62611
62612         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
62613         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
62614         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
62615         Needed for IRIX 6.5 and Solaris 2.5.1.
62616
62617 2007-05-19  Bruno Haible  <bruno@clisp.org>
62618
62619         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
62620         (test_function): Skip tests involving -0.0 on platforms where
62621         -0.0 = 0.0.
62622         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
62623         (test_function): Skip tests involving -0.0 on platforms where
62624         -0.0 = 0.0.
62625         * tests/test-snprintf-posix.h (have_minus_zero): New function.
62626         (test_function): Skip tests involving -0.0 on platforms where
62627         -0.0 = 0.0.
62628         * tests/test-sprintf-posix.h (have_minus_zero): New function.
62629         (test_function): Skip tests involving -0.0 on platforms where
62630         -0.0 = 0.0.
62631         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
62632         tests.
62633         * tests/test-printf-posix.h (test_function): Likewise.
62634         * tests/test-printf-posix.output: Remove all -0.0 related results.
62635         Needed for IRIX 6.5.
62636
62637 2007-05-19  Bruno Haible  <bruno@clisp.org>
62638
62639         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
62640         printed as "nan0x7fffffff" instead of "nan".
62641         * tests/test-vasprintf-posix.c (test_function): Likewise.
62642         * tests/test-snprintf-posix.h (test_function): Likewise.
62643         * tests/test-sprintf-posix.h (test_function): Likewise.
62644         * tests/test-fprintf-posix.h (NaN): Remove macro.
62645         (test_function): Remove all NaN related tests.
62646         * tests/test-printf-posix.h (NaN): Remove macro.
62647         (test_function): Remove all NaN related tests.
62648         * tests/test-printf-posix.output: Remove all NaN related results.
62649         Needed for IRIX 6.5.
62650
62651 2007-05-19  Bruno Haible  <bruno@clisp.org>
62652
62653         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
62654         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62655
62656 2007-05-19  Bruno Haible  <bruno@clisp.org>
62657
62658         * lib/float_.h: New file.
62659         * m4/float_h.m4: New file.
62660         * modules/float: New file.
62661         * modules/isnanl (Dependencies): Add float.
62662         * modules/isnanl-nolibm (Dependencies): Likewise.
62663         * modules/mathl (Dependencies): Likewise.
62664         * modules/printf-frexpl (Dependencies): Likewise.
62665         * modules/signbit (Dependencies): Likewise.
62666         * modules/vasnprintf (Dependencies): Likewise.
62667         * doc/headers/float.texi: Update.
62668
62669 2007-05-19  Jim Meyering  <jim@meyering.net>
62670
62671         * lib/utimens.c (gl_futimens): Rename from futimens,
62672         now that glibc-2.6 declares futimens.
62673         * lib/utimens.h: Likewise.
62674
62675 2007-05-19  Bruno Haible  <bruno@clisp.org>
62676
62677         Avoid test failures on mingw.
62678         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
62679         * tests/test-printf-posix.sh: Likewise.
62680         * tests/test-vfprintf-posix.sh: Likewise.
62681         * tests/test-vprintf-posix.sh: Likewise.
62682
62683 2007-05-19  Bruno Haible  <bruno@clisp.org>
62684
62685         Fix *printf result for NaN, Inf, -0.0 on mingw.
62686         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
62687         * lib/vasnprintf.c: Include math.h and isnan.h.
62688         (is_infinite_or_zero): New function.
62689         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
62690         values in the %f, %F, %e, %E, %g, %G directives.
62691         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
62692         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62693         gl_PRINTF_INFINITE and test its result. Invoke
62694         gl_PREREQ_VASNPRINTF_INFINITE.
62695         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62696         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62697         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62698         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62699         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62700         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62701         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62702         * doc/functions/fprintf.texi: Update.
62703         * doc/functions/printf.texi: Update.
62704         * doc/functions/snprintf.texi: Update.
62705         * doc/functions/sprintf.texi: Update.
62706         * doc/functions/vfprintf.texi: Update.
62707         * doc/functions/vprintf.texi: Update.
62708         * doc/functions/vsnprintf.texi: Update.
62709         * doc/functions/vsprintf.texi: Update.
62710
62711 2007-05-19  Bruno Haible  <bruno@clisp.org>
62712
62713         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
62714         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
62715         Instead of multiplying with 10^k, set extra_zeroes to k.
62716         (scale10_round_long_double): Remove function.
62717
62718 2007-05-18  Bruno Haible  <bruno@clisp.org>
62719
62720         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
62721         introduced on 2007-05-06.
62722
62723 2007-05-18  Bruno Haible  <bruno@clisp.org>
62724
62725         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
62726         %g directives.
62727         * tests/test-vasprintf-posix.c (test_function): Likewise.
62728         * tests/test-snprintf-posix.h (test_function): Likewise.
62729         * tests/test-sprintf-posix.h (test_function): Likewise.
62730
62731 2007-05-18  Bruno Haible  <bruno@clisp.org>
62732
62733         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
62734         (strmatch): New function.
62735         (test_function): Test the %f directive on numbers of various exponents.
62736         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
62737         (strmatch): New function.
62738         (test_function): Test the %f directive on numbers of various exponents.
62739         * tests/test-snprintf-posix.h (strmatch): New function.
62740         (test_function): Test the %f directive on numbers of various exponents.
62741         * tests/test-sprintf-posix.h (strmatch): New function.
62742         (test_function): Test the %f directive on numbers of various exponents.
62743         * tests/test-snprintf-posix.c (SIZEOF): New macro.
62744         * tests/test-sprintf-posix.c (SIZEOF): New macro.
62745         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
62746         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
62747
62748 2007-05-18  Bruno Haible  <bruno@clisp.org>
62749
62750         Add support for 'long double' number output.
62751         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
62752         * lib/vasnprintf.c: Include math.h and float+.h.
62753         (mp_limb_t): New type.
62754         (GMP_LIMB_BITS): New macro.
62755         (mp_twolimb_t): New type.
62756         (GMP_TWOLIMB_BITS): New macro.
62757         (mpn_t): New type.
62758         (multiply, divide, convert_to_decimal, decode_long_double,
62759         scale10_round_long_double, scale10_round_decimal_long_double,
62760         floorlog10l): New functions.
62761         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
62762         for the %f, %F, %e, %E, %g, %G directives.
62763         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
62764         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62765         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
62766         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
62767         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62768         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62769         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62770         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62771         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62772         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62773         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62774         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
62775         * modules/snprintf-posix (Depends-on): Likewise.
62776         * modules/sprintf-posix (Depends-on): Likewise.
62777         * modules/vasnprintf-posix (Depends-on): Likewise.
62778         * modules/vasprintf-posix (Depends-on): Likewise.
62779         * modules/vfprintf-posix (Depends-on): Likewise.
62780         * modules/vsnprintf-posix (Depends-on): Likewise.
62781         * modules/vsprintf-posix (Depends-on): Likewise.
62782         * modules/vasnprintf (Files): Add lib/float+.h.
62783         * doc/functions/fprintf.texi: Update.
62784         * doc/functions/printf.texi: Update.
62785         * doc/functions/snprintf.texi: Update.
62786         * doc/functions/sprintf.texi: Update.
62787         * doc/functions/vfprintf.texi: Update.
62788         * doc/functions/vprintf.texi: Update.
62789         * doc/functions/vsnprintf.texi: Update.
62790         * doc/functions/vsprintf.texi: Update.
62791
62792 2007-05-18  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
62795
62796 2007-05-18  Bruno Haible  <bruno@clisp.org>
62797
62798         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
62799         for printing 64-bit integers. Needed for mingw.
62800
62801 2007-05-18  Bruno Haible  <bruno@clisp.org>
62802
62803         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62804         gl_FUNC_FREXPL_WORKS.
62805         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
62806
62807 2007-05-18  Bruno Haible  <bruno@clisp.org>
62808
62809         * modules/frexpl-nolibm-tests: New file.
62810
62811         * modules/frexpl-nolibm: New file.
62812         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
62813
62814 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
62815
62816         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
62817         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62818         GCC 4.2, which otherwise issues a lot of warnings.
62819         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
62820         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
62821         Likewise.
62822         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
62823         * modules/iconv_open (iconv.h): Likewise.
62824         * modules/locale (locale.h): Likewise.
62825         * modules/netinet_in (netinet/in.h): Likewise.
62826         * modules/sys_select (sys_select.h): Likewise.
62827         * modules/sys_socket (sys/socket.h): Likewise.
62828         * modules/sys_stat (sys/stat.h): Likewise.
62829         * modules/sysexits (sysexits.h): Likewise.
62830         * modules/unistd (unistd.h): Likewise.
62831
62832 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62833
62834         * modules/closein-tests (Makefile.am): Distribute
62835         `test-closein.sh'.
62836
62837 2007-05-17  Bruno Haible  <bruno@clisp.org>
62838
62839         * tests/test-printf-posix.output: Renamed from
62840         tests/test-fprintf-posix.out.
62841         * modules/fprintf-posix-tests: Update.
62842         * modules/printf-posix-tests: Update.
62843         * modules/vfprintf-posix-tests: Update.
62844         * modules/vprintf-posix-tests: Update.
62845         * tests/test-fprintf-posix.sh: Update.
62846         * tests/test-printf-posix.sh: Update.
62847         * tests/test-vfprintf-posix.sh: Update.
62848         * tests/test-vprintf-posix.sh: Update.
62849         Reported by Ralf Wildenhues.
62850
62851 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
62852
62853         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
62854         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
62855         GCC 4.2, which otherwise issues a lot of warnings.
62856         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
62857         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
62858         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
62859         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
62860         it should no longer be needed.
62861         * lib/string_.h: Likewise.
62862         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
62863         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
62864         * modules/inttypes (inttypes.h): Likewise.
62865         * modules/math (math.h): Likewise.
62866         * modules/search (search.h): Likewise.
62867         * modules/signal (signal.h): Likewise.
62868         * modules/stdint (stdint.h): Likewise.
62869         * modules/stdio (stdio.h): Likewise.
62870         * modules/stdlib (stdlib.h): Likewise.
62871         * modules/string (string.h): Likewise.
62872         * modules/sys_time (sys/time.h): Likewise.
62873         * modules/time (time.h): Likewise.
62874         * modules/wchar (wchar.h): Likewise.
62875         * modules/wctype (wtype.h): Likewise.
62876
62877 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
62878
62879         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
62880
62881 2007-05-13  Bruno Haible  <bruno@clisp.org>
62882
62883         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
62884         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62885         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
62886         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
62887         (gl_PREREQ_STRTOK_R): Don't require it here.
62888
62889 2007-05-13  Bruno Haible  <bruno@clisp.org>
62890
62891         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
62892         when used in C++ mode.
62893
62894 2007-05-12  Bruno Haible  <bruno@clisp.org>
62895
62896         * lib/linebuffer.h: Tweak doc.
62897         * lib/linebuffer.c: Likewise.
62898
62899 2007-05-12  James Youngman  <jay@gnu.org>
62900
62901         * lib/linebuffer.c (readlinebuffer_delim): New function,
62902         like readlinebuffer, but use a caller-specified delimiter.
62903         (readlinebuffer): Just call readlinebuffer_delim with '\n'
62904         as the delimiter.
62905         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
62906
62907 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62908
62909         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
62910         * modules/openat (Files): Remove openat-die.c.
62911         (Depends-on): Add openat-die.
62912         * modules/openat-die: New module.
62913
62914 2007-05-06  Bruno Haible  <bruno@clisp.org>
62915
62916         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
62917         Update with info about Cygwin.
62918         * doc/functions/fprintf.texi: Update.
62919         * doc/functions/printf.texi: Update.
62920         * doc/functions/snprintf.texi: Update.
62921         * doc/functions/sprintf.texi: Update.
62922         * doc/functions/vfprintf.texi: Update.
62923         * doc/functions/vprintf.texi: Update.
62924         * doc/functions/vsnprintf.texi: Update.
62925         * doc/functions/vsprintf.texi: Update.
62926         Reported by Eric Blake.
62927
62928 2007-05-06  Bruno Haible  <bruno@clisp.org>
62929
62930         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
62931         padding ourselves for the floating-point directives.
62932         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
62933         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
62934         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62935         gl_PRINTF_FLAG_ZERO and test its result. Invoke
62936         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
62937         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62938         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62939         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62940         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62941         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62942         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62943         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62944         * tests/test-snprintf-posix.h (test_function): Also check the width
62945         and some flags in the %f directive.
62946         * tests/test-sprintf-posix.h (test_function): Likewise.
62947         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62948         * tests/test-vasprintf-posix.c (test_function): Likewise.
62949         * doc/functions/fprintf.texi: Update.
62950         * doc/functions/printf.texi: Update.
62951         * doc/functions/snprintf.texi: Update.
62952         * doc/functions/sprintf.texi: Update.
62953         * doc/functions/vfprintf.texi: Update.
62954         * doc/functions/vprintf.texi: Update.
62955         * doc/functions/vsnprintf.texi: Update.
62956         * doc/functions/vsprintf.texi: Update.
62957
62958 2007-05-06  Bruno Haible  <bruno@clisp.org>
62959
62960         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
62961         pass the ' flag character to sprintf or snprintf.
62962         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
62963         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
62964         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62965         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62966         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62967         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62968         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62969         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62970         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62971         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62972         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62973         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62974         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62975         flag.
62976         * tests/test-sprintf-posix.h (test_function): Likewise.
62977         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62978         * tests/test-vasprintf-posix.c (test_function): Likewise.
62979         * doc/functions/fprintf.texi: Update.
62980         * doc/functions/printf.texi: Update.
62981         * doc/functions/snprintf.texi: Update.
62982         * doc/functions/sprintf.texi: Update.
62983         * doc/functions/vfprintf.texi: Update.
62984         * doc/functions/vprintf.texi: Update.
62985         * doc/functions/vsnprintf.texi: Update.
62986         * doc/functions/vsprintf.texi: Update.
62987
62988 2007-05-01  Bruno Haible  <bruno@clisp.org>
62989
62990         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62991
62992 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62993
62994         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62995         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62996
62997 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62998
62999         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63000         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63001         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63002
63003 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63004
63005         * lib/argp-help.c (struct hol_entry): New member `ord'.
63006         (HOL_ENTRY_PTRCMP): Use ord for comparison
63007         (hol_sort): Initialize ord.
63008
63009 2007-05-01  Bruno Haible  <bruno@clisp.org>
63010
63011         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63012         Reported by Eric Blake.
63013         * doc/gnulib.texi (Function Substitutes): Update.
63014
63015 2007-05-01  Bruno Haible  <bruno@clisp.org>
63016
63017         * doc/functions.texi: Remove file, now redundant through
63018         doc/functions/*.texi.
63019
63020 2007-05-01  Bruno Haible  <bruno@clisp.org>
63021
63022         * modules/argp (Depends-on): Add sleep.
63023
63024 2007-05-01  Bruno Haible  <bruno@clisp.org>
63025
63026         * modules/sleep-tests: New file.
63027         * tests/test-sleep.c: New file.
63028
63029         * modules/sleep: New file.
63030         * lib/sleep.c: New file.
63031         * m4/sleep.m4: New file.
63032         * lib/unistd_.h (sleep): New declaration.
63033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63034         HAVE_SLEEP.
63035         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63036         * doc/functions/sleep.texi: Document the sleep module.
63037
63038 2007-05-01  Bruno Haible  <bruno@clisp.org>
63039
63040         * lib/sigprocmask.h: Remove file.
63041         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63042         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63043         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63044         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63045         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63046         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63047         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63048         HAVE_SIGSET_T as a shell variable.
63049         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63050         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63051         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63052         (Depends-on): Add signal. Remove verify.
63053         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63054         (Include): Mention <signal.h> instead of sigprocmask.h.
63055         * NEWS: Mention the change.
63056         * lib/fatal-signal.c: Don't include sigprocmask.h.
63057
63058 2007-05-01  Bruno Haible  <bruno@clisp.org>
63059
63060         * modules/signal: New file.
63061         * lib/signal_.h: New file.
63062         * m4/signal_h.m4: New file.
63063
63064 2007-05-01  Bruno Haible  <bruno@clisp.org>
63065
63066         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63067         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63068         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63069         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63070
63071 2007-05-01  Bruno Haible  <bruno@clisp.org>
63072
63073         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63074         configure time.
63075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63076         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63077         * modules/sys_stat (Makefile.am): Substitute their values into
63078         sys/stat.h.
63079
63080 2007-05-01  Bruno Haible  <bruno@clisp.org>
63081
63082         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63083         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63084         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63085
63086 2007-05-01  Bruno Haible  <bruno@clisp.org>
63087
63088         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63089         'assert' module here.
63090
63091 2007-05-01  Bruno Haible  <bruno@clisp.org>
63092
63093         * doc/functions/*.texi: New files.
63094         * doc/functions/google-ranking.txt: New file.
63095         * doc/gnulib.texi (Function Substitutes): New chapter.
63096         (ctime, inet_ntoa): Remove sections.
63097         * doc/ctime.texi: Remove file.
63098         * doc/inet_ntoa.texi: Remove file.
63099         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63100         dependencies.
63101         (%.info): New rule, specifying a --reference-limit.
63102
63103 2007-05-01  Bruno Haible  <bruno@clisp.org>
63104
63105         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63106
63107 2007-05-01  Bruno Haible  <bruno@clisp.org>
63108
63109         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63110         the portability of 'mkdir' to mingw systems.
63111
63112 2007-05-01  Bruno Haible  <bruno@clisp.org>
63113
63114         * doc/headers/google-ranking.txt: New file.
63115
63116 2007-04-30  Eric Blake  <ebb9@byu.net>
63117
63118         Prefer fseeko to fseek.
63119         * modules/getpass (Depends-on): Add fseeko.
63120         * lib/getpass.c (getpass): Use fseeko, not fseek.
63121
63122 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63123
63124         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63125         assumes the sorting is stable, while most qsort implementations
63126         are not.  Use argument addresses to ensure they never compare as
63127         equal.
63128
63129         * tests/test-argp-2.sh (usage-indent test): Fix output
63130         (func_compare): Restore diff options
63131         * tests/test-argp.c: Restore #include "progname.h"
63132
63133 2007-04-29  Bruno Haible  <bruno@clisp.org>
63134
63135         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63136         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63137         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63138         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63139         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63140         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63141         (TESTS, check_PROGRAMS): Add test-snprintf.
63142         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63143         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63144         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63145         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63146         assertions that fail on HP-UX, OSF/1, or IRIX.
63147         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63148
63149 2007-04-29  Bruno Haible  <bruno@clisp.org>
63150
63151         * MODULES.html.sh (posix_functions): Remove 'contents'.
63152
63153 2007-04-29  Karl Berry  <karl@gnu.org>
63154
63155         * config/srclist.txt (gendocs_template_min): new entry.
63156
63157 2007-04-29  Bruno Haible  <bruno@clisp.org>
63158
63159         Work around fpurge bug on BSD systems.
63160         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63161         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63162         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63163         fpurge to rpl_fpurge if the system already has this function.
63164         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63165         the case where the system already has this function. Correct invariants
63166         on BSD systems.
63167         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63168         BSD systems.
63169
63170 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63171
63172         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63173         proposed by Sven Verdoolaege.
63174
63175         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63176         options.
63177         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63178         (usage and help tests): Update
63179
63180 2007-04-29  Bruno Haible  <bruno@clisp.org>
63181
63182         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63183         Print more information in case of failure. Disable a test on BeOS.
63184
63185 2007-04-29  Bruno Haible  <bruno@clisp.org>
63186
63187         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63188         This helps debugging on systems on which no gdb is available.
63189
63190 2007-04-29  Bruno Haible  <bruno@clisp.org>
63191
63192         * lib/freading.h: Improve comments.
63193         * lib/fwriting.h: Likewise.
63194         * tests/test-freading.c (main): Don't check freading immediately after
63195         repositioning. Needed for glibc.
63196
63197 2007-04-29  Bruno Haible  <bruno@clisp.org>
63198
63199         * lib/freading.c (freading): Trivial simplification.
63200
63201 2007-04-28  Bruno Haible  <bruno@clisp.org>
63202
63203         * tests/test-fwriting.c (main): Also test the interaction between
63204         fflush and fwriting.
63205         * modules/fwriting-tests (Depends-on): Add fflush.
63206
63207         * tests/test-freading.c (main): Also test the interaction between
63208         fflush and freading.
63209         * modules/freading-tests (Depends-on): Add fflush.
63210
63211 2007-04-28  Bruno Haible  <bruno@clisp.org>
63212
63213         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63214         fseeko and ftello.
63215         Suggested by Eric Blake.
63216
63217 2007-04-28  Jim Meyering  <jim@meyering.net>
63218
63219         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63220         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63221         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63222
63223 2007-04-27  Eric Blake  <ebb9@byu.net>
63224
63225         * doc/headers/assert.texi (assert.h): Document assert module use.
63226
63227 2007-04-27  Bruno Haible  <bruno@clisp.org>
63228
63229         * doc/headers/*.texi: New files.
63230         * doc/gnulib.texi (Header File Substitutes): New chapter.
63231         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63232         dependencies.
63233         (standards.info ,standards.html, standards.dvi): Update dependencies.
63234         (mostlyclean, clean): New targets.
63235
63236 2007-04-27  Bruno Haible  <bruno@clisp.org>
63237
63238         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63239         * modules/sysexits (Files, Makefile.am): Update.
63240
63241         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63242         * modules/sys_socket (Files, Makefile.am): Update.
63243
63244         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63245         * modules/sys_stat (Files, Makefile.am): Update.
63246
63247 2007-04-27  Eric Blake  <ebb9@byu.net>
63248
63249         * lib/freading.h: Improve comments.
63250         * lib/fwriting.h: Likewise.
63251         * lib/fflush.c: Likewise.
63252
63253         Fix closein for mingw.
63254         * modules/closein-tests: Add tests for closein.
63255         * tests/test-closein.c: New file.
63256         * tests/test-closein.sh: Likewise.
63257         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63258         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63259
63260 2007-04-27  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63263         version is < 6.
63264         * lib/math_.h [__DECC]: Likewise.
63265         * lib/stdio_.h [__DECC]: Likewise.
63266         * lib/stdlib_.h [__DECC]: Likewise.
63267         * lib/string_.h [__DECC]: Likewise.
63268         * lib/time_.h [__DECC]: Likewise.
63269         * lib/wchar_.h [__DECC]: Likewise.
63270         * lib/wctype_.h [__DECC]: Likewise.
63271
63272 2007-04-27  Bruno Haible  <bruno@clisp.org>
63273
63274         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63275
63276 2007-04-27  Bruno Haible  <bruno@clisp.org>
63277
63278         * lib/fflush.c: Add comments.
63279         * modules/fpurge-tests (Depends-on): Add fflush.
63280         * modules/freadable-tests (Depends-on): Likewise.
63281         * modules/fwritable-tests (Depends-on): Likewise.
63282
63283 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63284
63285         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63286         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63287         Report by Bruno Haible <bruno@clisp.org>.
63288
63289 2007-04-26  Eric Blake  <ebb9@byu.net>
63290
63291         Fix fflush on mingw.
63292         * modules/fflush (Depends-on): Add freading.
63293         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63294         but unread data.
63295
63296 2007-04-26  Eric Blake  <ebb9@byu.net>
63297         and Bruno Haible  <bruno@clisp.org>
63298
63299         Implement freading and fwriting.
63300         * lib/freading.c: New file.
63301         * lib/freading.h: Likewise.
63302         * m4/freading.m4: Likewise.
63303         * modules/freading: Likewise.
63304         * modules/freading-tests: Likewise.
63305         * tests/test-freading.c: Likewise.
63306         * lib/fwriting.c: New file.
63307         * lib/fwriting.h: Likewise.
63308         * m4/fwriting.m4: Likewise.
63309         * modules/fwriting: Likewise.
63310         * modules/fwriting-tests: Likewise.
63311         * tests/test-fwriting.c: Likewise.
63312         * MODULES.html.sh (File stream based Input/Output): Mention them.
63313
63314 2007-04-26  Bruno Haible  <bruno@clisp.org>
63315
63316         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63317         'long' when we assume it.
63318         Suggested by Eric Blake.
63319
63320 2007-04-26  Bruno Haible  <bruno@clisp.org>
63321
63322         Ensure fseeko, ftello are declared on glibc systems.
63323         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63324         * modules/fseeko (configure.ac-early): Likewise.
63325         * modules/ftello (configure.ac-early): Likewise.
63326         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63327         AC_FUNC_FSEEKO for this.
63328         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63329         (gl_CHECK_FSEEKO): Remove macro.
63330
63331 2007-04-26  Bruno Haible  <bruno@clisp.org>
63332
63333         * tests/test-fflush.c (main): Also check the ftell result after
63334         fflush and fseek/fseeko.
63335         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
63336         file descriptor position cache in the stream.
63337         * lib/fseeko.c (rpl_fseeko): Likewise.
63338
63339 2007-04-26  Bruno Haible  <bruno@clisp.org>
63340
63341         * modules/fflush-tests (Depends-on): Add fseeko.
63342
63343 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
63344             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63345
63346         * lib/argz_.h: ensure error_t definition is obtained in same
63347         mechanism system argz.h would have.
63348         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
63349         argz facilities are known bad.  Err on the side of caution if
63350         cross-compiling.
63351
63352 2007-04-25  Eric Blake  <ebb9@byu.net>
63353
63354         * lib/fpurge.c (includes): Use stdlib.h for free.
63355         * tests/test-fflush.c (main): Also test fflush-fseeko.
63356
63357 2007-04-25  Bruno Haible  <bruno@clisp.org>
63358
63359         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
63360         * lib/fseeko.c: New file.
63361         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
63362         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
63363         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
63364         gl_FUNC_FSEEKO.
63365         (gl_FUNC_FSEEKO): Invoke it.
63366         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
63367         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
63368         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
63369
63370 2007-04-25  Bruno Haible  <bruno@clisp.org>
63371
63372         * modules/fflush (Depends-on): Add ftello.
63373
63374 2007-04-25  Bruno Haible  <bruno@clisp.org>
63375
63376         * modules/ftello-tests: New file.
63377         * tests/test-ftello.c: New file.
63378
63379         * modules/ftello: New file.
63380         * m4/ftello.m4: New file.
63381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
63382         HAVE_FTELLO.
63383         * lib/stdio_.h (ftello): New declaration.
63384         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
63385         HAVE_FTELLO.
63386
63387 2007-04-25  Bruno Haible  <bruno@clisp.org>
63388
63389         * modules/fseeko-tests: New file.
63390         * tests/test-fseeko.c: New file.
63391
63392         * modules/fseeko: New file.
63393         * m4/fseeko.m4: New file.
63394         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
63395         HAVE_FSEEKO.
63396         * lib/stdio_.h (fseeko): New declaration.
63397         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
63398         HAVE_FSEEKO.
63399
63400 2007-04-25  Bruno Haible  <bruno@clisp.org>
63401
63402         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
63403
63404 2007-04-25  Bruno Haible  <bruno@clisp.org>
63405
63406         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
63407         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
63408         * tests/test-unistd.c: Likewise.
63409         * tests/test-fcntl.c: Likewise.
63410
63411 2007-04-23  Eric Blake  <ebb9@byu.net>
63412
63413         * lib/fflush.c: Fix missing include.
63414         Reported by Bruno Haible.
63415
63416 2007-04-23  Bruno Haible  <bruno@clisp.org>
63417
63418         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
63419         Reported by Eric Blake.
63420
63421 2007-04-23  Bruno Haible  <bruno@clisp.org>
63422
63423         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
63424
63425 2007-04-23  Bruno Haible  <bruno@clisp.org>
63426
63427         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
63428
63429 2007-04-23  Bruno Haible  <bruno@clisp.org>
63430
63431         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
63432         Needed on HP-UX 11.
63433
63434 2007-04-16  Eric Blake  <ebb9@byu.net>
63435
63436         Make fflush rely on fpurge.
63437         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
63438         open coding all variants.
63439         * modules/fflush (Depends-on): Add fpurge and unistd.
63440         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
63441         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
63442
63443         Fix --with-tests compilation on cygwin.
63444         * modules/argmatch-tests (Makefile.am): List gnulib library first
63445         in LDADD.
63446         * modules/argp-tests (Makefile.am): Likewise.
63447         * modules/array-list-tests (Makefile.am): Likewise.
63448         * modules/array-oset-tests (Makefile.am): Likewise.
63449         * modules/avltree-list-tests (Makefile.am): Likewise.
63450         * modules/avltree-oset-tests (Makefile.am): Likewise.
63451         * modules/avltreehash-list-tests (Makefile.am): Likewise.
63452         * modules/carray-list-tests (Makefile.am): Likewise.
63453         * modules/dirname-tests (Makefile.am): Likewise.
63454         * modules/frexp-tests (Makefile.am): Likewise.
63455         * modules/isnanl-tests (Makefile.am): Likewise.
63456         * modules/linked-list-tests (Makefile.am): Likewise.
63457         * modules/linkedhash-list-tests (Makefile.am): Likewise.
63458         * modules/lock-tests (Makefile.am): Likewise.
63459         * modules/rbtree-list-tests (Makefile.am): Likewise.
63460         * modules/rbtree-oset-tests (Makefile.am): Likewise.
63461         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
63462         * modules/tls-tests (Makefile.am): Likewise.
63463         * modules/tsearch-tests (Makefile.am): Likewise.
63464         * modules/xvasprintf-tests (Makefile.am): Likewise.
63465
63466         Fix fpurge for cygwin.
63467         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
63468         value.
63469         * modules/fpurge-tests (Depends-on): Clean up trash.
63470
63471 2007-04-16  Simon Josefsson  <simon@josefsson.org>
63472
63473         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
63474
63475         * m4/autobuild.m4: Re-indent.
63476
63477 2007-04-13  Bruno Haible  <bruno@clisp.org>
63478
63479         * modules/fpurge-tests: New file.
63480         * tests/test-fpurge.c: New file.
63481
63482         * modules/fpurge: New file.
63483         * lib/fpurge.h: New file.
63484         * lib/fpurge.c: New file.
63485         * m4/fpurge.m4: New file.
63486
63487 2007-04-13  Bruno Haible  <bruno@clisp.org>
63488
63489         * modules/fbufmode-tests: New file.
63490         * tests/test-fbufmode.c: New file.
63491
63492         * modules/fbufmode: New file.
63493         * lib/fbufmode.h: New file.
63494         * lib/fbufmode.c: New file.
63495         * m4/fbufmode.m4: New file.
63496
63497 2007-04-13  Bruno Haible  <bruno@clisp.org>
63498
63499         * modules/fwritable-tests: New file.
63500         * tests/test-fwritable.c: New file.
63501
63502         * modules/fwritable: New file.
63503         * lib/fwritable.h: New file.
63504         * lib/fwritable.c: New file.
63505         * m4/fwritable.m4: New file.
63506
63507 2007-04-13  Bruno Haible  <bruno@clisp.org>
63508
63509         * modules/freadable-tests: New file.
63510         * tests/test-freadable.c: New file.
63511
63512         * modules/freadable: New file.
63513         * lib/freadable.h: New file.
63514         * lib/freadable.c: New file.
63515         * m4/freadable.m4: New file.
63516
63517 2007-04-13  Bruno Haible  <bruno@clisp.org>
63518
63519         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
63520         MOSTLYCLEANFILES.
63521
63522 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63523
63524         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
63525         gzip bootstrap.conf to avoid dragging in i18n machinery.
63526         (gnulib_tool_option): Use it.
63527
63528 2007-04-13  Bruno Haible  <bruno@clisp.org>
63529
63530         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
63531         %F directives.
63532         * tests/test-vasprintf-posix.c (test_function): Likewise.
63533         * tests/test-snprintf-posix.h (test_function): Likewise.
63534         * tests/test-sprintf-posix.h (test_function): Likewise.
63535         * tests/test-fprintf-posix.h (test_function): Likewise.
63536         * tests/test-printf-posix.h (test_function): Likewise.
63537         * tests/test-fprintf-posix.out: Likewise.
63538
63539 2007-04-13  Bruno Haible  <bruno@clisp.org>
63540
63541         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
63542         * modules/tls-tests (configure.ac): Likewise.
63543         Reported by Arto C. Nirkko <anirkko@insel.ch>.
63544
63545 2007-04-13  Bruno Haible  <bruno@clisp.org>
63546
63547         * lib/tls.c (glthread_tls_get): Fix return type.
63548         Patch by Arto C. Nirkko <anirkko@insel.ch>.
63549
63550 2007-04-12  Eric Blake  <ebb9@byu.net>
63551
63552         * modules/gettime (Depends-on): Remove gettime.
63553         Reported by Dmitry V. Levin.
63554
63555 2007-04-12  Bruno Haible  <bruno@clisp.org>
63556
63557         * modules/fflush (Include): Mention <stdio.h>.
63558         * modules/strtoimax (Include): Mention <inttypes.h>.
63559         * modules/strtoumax (Include): Likewise.
63560
63561 2007-04-12  Eric Blake  <ebb9@byu.net>
63562
63563         * .cvsignore: New file.
63564         * .gitignore: Likewise.
63565
63566 2007-04-12  Bruno Haible  <bruno@clisp.org>
63567
63568         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
63569         not before, since $(LDADD) often contains libgnu.a.
63570         * modules/striconv-tests (test_striconv_LDADD): Likewise.
63571         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
63572         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
63573         Needed on Cygwin.
63574
63575 2007-04-12  Eric Blake  <ebb9@byu.net>
63576
63577         Work around glibc's failure to flush stdin on fclose.
63578         * lib/closein.c (close_stdin): Flush stdin before closing.
63579
63580         Work around glibc's failure to reset seekable stdin on exit.
63581         * modules/closein: New module.
63582         * lib/closein.c: New file.
63583         * lib/closein.h: Likewise.
63584         * m4/closein.m4: Likewise.
63585         * MODULES.html.sh (File stream based Input/Output): Document it.
63586
63587 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63588
63589         * gnulib-tool: Rename generated 'autobuild' script to
63590         'do-autobuild' in --create-megatestdir output.
63591
63592         * doc/gnulib.texi (Build robot for gnulib): Fix.
63593
63594 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63595
63596         * modules/sysexits (Depends-on): Add absolute-header.
63597
63598 2007-04-12  Eric Blake  <ebb9@byu.net>
63599
63600         No need to preserve errno on success.
63601         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
63602         Reported by Bruno Haible.
63603
63604 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63605
63606         * MODULES.html.sh (Support for maintaining and releasing
63607         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
63608
63609 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63610
63611         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
63612
63613 2007-04-12  Simon Josefsson  <simon@josefsson.org>
63614
63615         * modules/autobuild: New module.
63616
63617         * m4/autobuild.m4: New file.
63618
63619 2007-04-11  Bruno Haible  <bruno@clisp.org>
63620
63621         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
63622         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
63623         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
63624         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
63625         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63626         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63627         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63628         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63629         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63630         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63631         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
63632         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63633         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63634         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
63635         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63636         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63637         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
63638         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63639         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63640         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
63641         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63642         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
63644         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63645         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63646         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
63647         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
63648         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
63649         Reported by Eric Blake.
63650
63651 2007-04-11  Bruno Haible  <bruno@clisp.org>
63652
63653         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
63654
63655 2007-04-10  Bruno Haible  <bruno@clisp.org>
63656
63657         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
63658         for NaN and Infinity. Needed on FreeBSD 6.1.
63659         * tests/test-vasnprintf-posix.c (test_function): Undo last change
63660         regarding results for "%010a" of Infinity and NaN.
63661         * tests/test-vasprintf-posix.c (test_function): Likewise.
63662         * tests/test-snprintf-posix.h (test_function): Likewise.
63663         * tests/test-sprintf-posix.h (test_function): Likewise.
63664         * tests/test-fprintf-posix.h (test_function): Likewise.
63665         * tests/test-printf-posix.h (test_function): Likewise.
63666         * tests/test-fprintf-posix.out: Likewise.
63667
63668 2007-04-10  Bruno Haible  <bruno@clisp.org>
63669
63670         * modules/locale-tests: New file.
63671         * tests/test-locale.c: New file.
63672
63673         * modules/locale: New file.
63674         * lib/locale_.h: New file.
63675         * m4/locale_h.m4: New file.
63676
63677 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
63678             Bruno Haible  <bruno@clisp.org>
63679
63680         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
63681         be determined, test for availability of the copysignf, copysign,
63682         copysignl functions.
63683         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
63684         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
63685         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
63686
63687 2007-04-09  Eric Blake  <ebb9@byu.net>
63688
63689         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
63690         * modules/stdio (Makefile.am): Support fflush.
63691         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63692         * modules/fflush: New file.
63693         * lib/fflush.c: Likewise.
63694         * m4/fflush.m4: Likewise.
63695         * modules/fflush-tests: New test.
63696         * tests/test-fflush.c: Likewise.
63697         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
63698
63699 2007-04-06  Bruno Haible  <bruno@clisp.org>
63700
63701         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
63702         (VASNPRINTF): Use signbit for faster determination whether to print a
63703         minus sign.
63704         * modules/vasnprintf (Files): Remove lib/float+.h.
63705         * modules/fprintf-posix (Depends-on): Add signbit.
63706         * modules/snprintf-posix (Depends-on): Likewise.
63707         * modules/sprintf-posix (Depends-on): Likewise.
63708         * modules/vasnprintf-posix (Depends-on): Likewise.
63709         * modules/vasprintf-posix (Depends-on): Likewise.
63710         * modules/vfprintf-posix (Depends-on): Likewise.
63711         * modules/vsnprintf-posix (Depends-on): Likewise.
63712         * modules/vsprintf-posix (Depends-on): Likewise.
63713
63714 2007-04-06  Bruno Haible  <bruno@clisp.org>
63715
63716         * tests/test-frexp.c (main): Test also the sign bit of zero results.
63717         * tests/test-frexpl.c (main): Likewise.
63718         * tests/test-ldexpl.c (main): Likewise.
63719         * modules/frexp-tests (Depends-on): Add signbit.
63720         * modules/frexpl-tests (Depdends-on): Likewise.
63721         * modules/ldexpl-tests (Depdends-on): Likewise.
63722
63723 2007-04-06  Bruno Haible  <bruno@clisp.org>
63724
63725         * modules/signbit-tests: New file.
63726         * tests/test-signbit.c: New file.
63727
63728         * modules/signbit: New file.
63729         * lib/signbitf.c: New file.
63730         * lib/signbitd.c: New file.
63731         * lib/signbitl.c: New file.
63732         * m4/signbit.m4: New file.
63733         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
63734         (signbit): New macro.
63735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
63736         REPLACE_SIGNBIT.
63737         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
63738         REPLACE_FREXPL into math.h.
63739
63740 2007-04-06  Bruno Haible  <bruno@clisp.org>
63741
63742         * modules/isnanf-nolibm-tests: New file.
63743         * tests/test-isnanf.c: New file.
63744
63745         * modules/isnanf-nolibm: New file.
63746         * lib/isnanf.h: New file.
63747         * lib/isnanf.c: New file.
63748         * lib/isnan.c: Consider the USE_FLOAT macro.
63749         * m4/isnanf.m4: New file.
63750
63751 2007-04-06  Bruno Haible  <bruno@clisp.org>
63752
63753         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
63754         (Link): New section.
63755
63756         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
63757
63758 2007-04-06  Bruno Haible  <bruno@clisp.org>
63759
63760         Assume the 'long double' type.
63761         * m4/longdouble.m4: Remove file.
63762         * config/srclist.txt: Don't mention longdouble.m4.
63763         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
63764         * lib/float+.h: Likewise.
63765         * lib/frexp.c: Likewise.
63766         * lib/printf-args.h: Likewise.
63767         * lib/printf-args.c: Likewise.
63768         * lib/printf-frexp.c: Likewise.
63769         * lib/printf-parse.c: Likewise.
63770         * lib/vasnprintf.c: Likewise.
63771         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
63772         * m4/intl.m4: Likewise.
63773         * m4/isnanl.m4: Likewise.
63774         * m4/printf.m4: Likewise.
63775         * m4/printf-frexpl.m4: Likewise.
63776         * m4/vasnprintf.m4: Likewise.
63777         * modules/allocsa (Files): Remove m4/longdouble.m4.
63778         * modules/gettext (Files): Likewise.
63779         * modules/relocatable-prog-wrapper (Files): Likewise.
63780         * modules/vasnprintf (Files): Likewise.
63781         * modules/isnanl (Files): Likewise.
63782         (Include): Simplify.
63783         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
63784         (Include): Simplify.
63785         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
63786         (Include): Simplify.
63787         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
63788         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63789         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
63790         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63791         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63792         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63793         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
63794         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63795         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
63796         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63797         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
63798         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
63799         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
63800         * tests/test-isnanl.c: Likewise.
63801         * tests/test-snprintf-posix.h: Likewise.
63802         * tests/test-sprintf-posix.h: Likewise.
63803         * tests/test-vasnprintf-posix.c: Likewise.
63804         * tests/test-vasnprintf-posix2.c: Likewise.
63805         * tests/test-vasprintf-posix.c: Likewise.
63806
63807 2007-04-06  Bruno Haible  <bruno@clisp.org>
63808
63809         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
63810         * lib/math_.h [__DECC]: Include the overridden include file through
63811         #include_next, outside the double-inclusion guard.
63812         * lib/stdio_.h [__DECC]: Likewise.
63813         * lib/stdlib_.h [__DECC]: Likewise.
63814         * lib/string_.h [__DECC]: Likewise.
63815         * lib/time_.h [__DECC]: Likewise.
63816         * lib/wchar_.h [__DECC]: Likewise.
63817         * lib/wctype_.h [__DECC]: Likewise.
63818         * lib/inttypes_.h [__DECC]: Likewise.
63819         Reported by Albert Chin <china@thewrittenword.com> in
63820         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
63821
63822 2007-04-04  Eric Blake  <ebb9@byu.net>
63823
63824         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
63825         1.5.x.
63826
63827 2007-04-04  Bruno Haible  <bruno@clisp.org>
63828
63829         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
63830         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
63831
63832 2007-04-04  Bruno Haible  <bruno@clisp.org>
63833
63834         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
63835         results for "%010a" of Infinity and NaN.
63836         * tests/test-vasprintf-posix.c (test_function): Likewise.
63837         * tests/test-snprintf-posix.h (test_function): Likewise.
63838         * tests/test-sprintf-posix.h (test_function): Likewise.
63839         * tests/test-fprintf-posix.h (test_function): Remove these tests.
63840         * tests/test-printf-posix.h (test_function): Likewise.
63841         * tests/test-fprintf-posix.out: Update.
63842         Needed for FreeBSD 6.1.
63843
63844 2007-04-04  Bruno Haible  <bruno@clisp.org>
63845
63846         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
63847         directly used by the gnulib modules nor by gnulib-tool.
63848
63849 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63850
63851         * DEPENDENCIES: Give overall description of version dependency
63852         desirability.  Use more-typical names for apps.
63853         Add shell, coreutils, diffutils, grep, tar, gzip.
63854
63855 2007-04-04  Simon Josefsson  <simon@josefsson.org>
63856
63857         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
63858
63859 2007-04-04  Karl Berry  <karl@gnu.org>
63860
63861         * MODULES.html.sh (func_module): missing '.
63862
63863 2007-04-03  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/argmatch-tests (Makefile.am): New variable
63866         test_argmatch_LDADD.
63867         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
63868         * modules/array-list-tests (Makefile.am): New variable
63869         test_array_list_LDADD.
63870         * modules/array-oset-tests (Makefile.am): New variable
63871         test_array_oset_LDADD.
63872         * modules/avltree-list-tests (Makefile.am): New variable
63873         test_avltree_list_LDADD.
63874         * modules/avltree-oset-tests (Makefile.am): New variable
63875         test_avltree_oset_LDADD.
63876         * modules/avltreehash-list-tests (Makefile.am): New variable
63877         test_avltreehash_list_LDADD.
63878         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
63879         test_canonicalize_lgpl_LDADD.
63880         * modules/carray-list-tests (Makefile.am): New variable
63881         test_carray_list_LDADD.
63882         * modules/dirname-tests (Makefile.am): New variable
63883         test_dirname_LDADD.
63884         * modules/linked-list-tests (Makefile.am): New variable
63885         test_linked_list_LDADD.
63886         * modules/linkedhash-list-tests (Makefile.am): New variable
63887         test_linkedhash_list_LDADD.
63888         * modules/rbtree-list-tests (Makefile.am): New variable
63889         test_rbtree_list_LDADD.
63890         * modules/rbtree-oset-tests (Makefile.am): New variable
63891         test_rbtree_oset_LDADD.
63892         * modules/rbtreehash-list-tests (Makefile.am): New variable
63893         test_rbtreehash_list_LDADD.
63894         * modules/xvasprintf-tests (Makefile.am): New variable
63895         test_xvasprintf_LDADD.
63896         Reported by Eric Blake.
63897
63898 2007-04-03  Eric Blake  <ebb9@byu.net>
63899
63900         * DEPENDENCIES: Weaken m4 requirements.
63901
63902 2007-04-03  Bruno Haible  <bruno@clisp.org>
63903
63904         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
63905         * modules/isnanl-tests (configure.ac): Likewise.
63906
63907 2007-04-03  Ben Pfaff  <blp@gnu.org>
63908
63909         * modules/iconv_open: Add $(srcdir)/ to source directory
63910         references in Makefile fragments that call gperf, to fix VPATH
63911         builds.
63912
63913 2007-04-03  Bruno Haible  <bruno@clisp.org>
63914
63915         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
63916         * lib/ldexpl.c: Undo last change.
63917
63918 2007-04-03  Bruno Haible  <bruno@clisp.org>
63919
63920         * modules/printf-frexpl (Depends-on): Undo last change.
63921         (Files): Add m4/ldexpl.m4.
63922
63923 2007-04-03  Bruno Haible  <bruno@clisp.org>
63924
63925         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
63926         * modules/isnanl (Link): New section.
63927
63928         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
63929         * modules/frexp (Link): New section.
63930
63931         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
63932         * modules/frexpl (Link): New section.
63933
63934         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
63935         * modules/ldexpl (Link): New section.
63936
63937 2007-04-03  Bruno Haible  <bruno@clisp.org>
63938
63939         * modules/TEMPLATE-EXTENDED: New file.
63940         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
63941
63942 2007-04-03  Bruno Haible  <bruno@clisp.org>
63943
63944         * DEPENDENCIES: New file.
63945         Suggested by Simon Josefsson.
63946
63947 2007-04-03  Bruno Haible  <bruno@clisp.org>
63948
63949         * doc/gnulib.texi: Escape @.
63950
63951 2007-04-03  James Youngman  <jay@gnu.org>
63952         and Paul Eggert  <eggert@cs.ucla.edu>
63953
63954         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
63955         birthtime on all systems that have birthtime, not just those which
63956         use st_birthtimensec rather than st_birthtim.  Putting zero in
63957         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
63958         that the birth time is not available for files on an NFS mount.
63959
63960 2007-04-03  Simon Josefsson  <simon@josefsson.org>
63961
63962         * modules/memxor: Move back from crypto/, suggested by Bruno.
63963         * modules/crypto/hmac-sha1: Fix memxor dependency.
63964
63965         * modules/crypto/gc: Moved from ../.
63966
63967 2007-04-02  Eric Blake  <ebb9@byu.net>
63968
63969         * lib/ldexpl.c (includes): Avoid libm.
63970
63971         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63972
63973 2007-04-02  Bruno Haible  <bruno@clisp.org>
63974
63975         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63976         on IRIX.
63977
63978 2007-04-02  Bruno Haible  <bruno@clisp.org>
63979
63980         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63981         x86 or x86_64 platforms running MacOS X.
63982         Reported by Ryan Schmidt <@ryandesign.com>.
63983
63984 2007-04-02  Bruno Haible  <bruno@clisp.org>
63985
63986         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63987         i386.
63988
63989 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63990
63991         * modules/crypto/arcfour: Moved from ../.
63992         * modules/crypto/arcfour-tests: Moved from ../.
63993         * modules/crypto/arctwo: Moved from ../.
63994         * modules/crypto/arctwo-tests: Moved from ../.
63995         * modules/crypto/des: Moved from ../.
63996         * modules/crypto/des-tests: Moved from ../.
63997         * modules/crypto/gc-arcfour: Moved from ../.
63998         * modules/crypto/gc-arcfour-tests: Moved from ../.
63999         * modules/crypto/gc-arctwo: Moved from ../.
64000         * modules/crypto/gc-arctwo-tests: Moved from ../.
64001         * modules/crypto/gc-des: Moved from ../.
64002         * modules/crypto/gc-des-tests: Moved from ../.
64003         * modules/crypto/gc-hmac-md5: Moved from ../.
64004         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64005         * modules/crypto/gc-hmac-sha1: Moved from ../.
64006         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64007         * modules/crypto/gc-md2: Moved from ../.
64008         * modules/crypto/gc-md2-tests: Moved from ../.
64009         * modules/crypto/gc-md4: Moved from ../.
64010         * modules/crypto/gc-md4-tests: Moved from ../.
64011         * modules/crypto/gc-md5: Moved from ../.
64012         * modules/crypto/gc-md5-tests: Moved from ../.
64013         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64014         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64015         * modules/crypto/gc-random: Moved from ../.
64016         * modules/crypto/gc-rijndael: Moved from ../.
64017         * modules/crypto/gc-rijndael-tests: Moved from ../.
64018         * modules/crypto/gc-sha1: Moved from ../.
64019         * modules/crypto/gc-sha1-tests: Moved from ../.
64020         * modules/crypto/gc-tests: Moved from ../.
64021         * modules/crypto/hmac-md5: Moved from ../.
64022         * modules/crypto/hmac-md5-tests: Moved from ../.
64023         * modules/crypto/hmac-sha1: Moved from ../.
64024         * modules/crypto/hmac-sha1-tests: Moved from ../.
64025         * modules/crypto/md2: Moved from ../.
64026         * modules/crypto/md2-tests: Moved from ../.
64027         * modules/crypto/md4: Moved from ../.
64028         * modules/crypto/md4-tests: Moved from ../.
64029         * modules/crypto/md5: Moved from ../.
64030         * modules/crypto/md5-tests: Moved from ../.
64031         * modules/crypto/memxor: Moved from ../.
64032         * modules/crypto/rijndael: Moved from ../.
64033         * modules/crypto/rijndael-tests: Moved from ../.
64034         * modules/crypto/sha1: Moved from ../.
64035
64036 2007-03-30  James Youngman  <jay@gnu.org>
64037
64038         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64039         rename() to change the ctime of a file (because ctime is unaffected
64040         by rename on jfs2 on AIX 5.1).
64041         (main): Start by doing cleanup, in case a previous run failed leaving
64042         test files behind.
64043
64044 2007-03-31  Bruno Haible  <bruno@clisp.org>
64045
64046         Support old proprietary implementations of iconv.
64047         * modules/iconv_open: New file.
64048         * lib/iconv_.h: New file.
64049         * m4/iconv_h.m4: New file.
64050         * lib/iconv_open.c: New file.
64051         * lib/iconv_open-aix.gperf: New file.
64052         * lib/iconv_open-hpux.gperf: New file.
64053         * lib/iconv_open-irix.gperf: New file.
64054         * lib/iconv_open-osf.gperf: New file.
64055         * m4/iconv_open.m4: New file.
64056         * modules/linebreak (Depends-on): Add iconv_open.
64057         * modules/striconv (Depends-on): Likewise.
64058         * modules/striconveh (Depends-on): Likewise.
64059         * modules/unicodeio (Depends-on): Likewise.
64060         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64061         (iconv_t)(-1).
64062         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64063         conversion if cd is (iconv_t)(-1).
64064         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64065         is not possible.
64066
64067 2007-03-31  Bruno Haible  <bruno@clisp.org>
64068
64069         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64070         work on Solaris either. Protect also second use of "autodetect_jp".
64071
64072 2007-03-31  Bruno Haible  <bruno@clisp.org>
64073
64074         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64075         the function is not present.
64076
64077 2007-03-31  Bruno Haible  <bruno@clisp.org>
64078
64079         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64080         the function is not present.
64081
64082 2007-03-31  Bruno Haible  <bruno@clisp.org>
64083
64084         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64085         a bug in HP-UX iconv_open().
64086
64087 2007-03-31  Bruno Haible  <bruno@clisp.org>
64088
64089         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64090         (Mathematics <math.h>): New section, add fpieee.
64091         (Input/output <stdio.h>): Add fseterr.
64092         (Mathematics <math.h>): New section, add printf-frexp.
64093         (Container data structures): Add sublist.
64094         (Core language properties): Add fpucw, inline.
64095         (Functions for greatest-width integer types <inttypes.h>): Add
64096         imaxabs, imaxdiv, inttypes.
64097         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64098         isnanl-nolibm, ldexp.
64099         (Mathematics <math.h>): New section, add printf-frexpl.
64100         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64101         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64102         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64103         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64104         (Unicode string functions): Add unistr/u*-mbtoucr.
64105         (Java): Add javacomp-script, javaexec-script.
64106         (C#): Add csharpcomp-script, csharpexec-script.
64107         (Support for building libraries and executables): Add havelib,
64108         relocatable-*.
64109         (Support for maintaining and releasing projects): Renamed from
64110         'Support for maintaining and release projects'. Add announce-gen.
64111
64112 2007-03-31  Bruno Haible  <bruno@clisp.org>
64113
64114         * README: Talk primarily about git.
64115         (git and CVS): Renamed from CVS.
64116         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64117         gnulib is available through git.
64118         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64119
64120 2007-03-30  Bruno Haible  <bruno@clisp.org>
64121
64122         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64123         * lib/poll_.h: Likewise.
64124         * lib/stat_.h: Likewise.
64125         * lib/sys_time_.h: Likewise.
64126         * lib/sysexit_.h: Likewise.
64127         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64128         * lib/stdbool_.h: Likewise.
64129         * lib/byteswap_.h: Add double-inclusion guard.
64130
64131 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64132
64133         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64134
64135 2007-03-30  Karl Berry  <karl@gnu.org>
64136
64137         * config/srclist-update: double space after USA in the license
64138         substitution, since that's how it's usually (?) written.
64139
64140 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64141
64142         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64143         reported by Bruno Haible.
64144
64145 2007-03-29  Bruno Haible  <bruno@clisp.org>
64146
64147         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64148         a bug in AIX iconv().
64149
64150 2007-03-29  Bruno Haible  <bruno@clisp.org>
64151
64152         * modules/ldexpl-tests: New file.
64153         * tests/test-ldexpl.c: New file.
64154
64155 2007-03-29  Bruno Haible  <bruno@clisp.org>
64156
64157         * lib/ldexpl.c: Include fpucw.h.
64158         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64159         multiplication.
64160         * modules/ldexpl (Depends-on): Add fpucw.
64161
64162 2007-03-29  Bruno Haible  <bruno@clisp.org>
64163
64164         * modules/ldexpl: New file.
64165         * m4/ldexpl.m4: New file.
64166         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64167         set.
64168         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64169         REPLACE_LDEXPL.
64170         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64171         REPLACE_LDEXPL.
64172         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64173         gl_FUNC_LDEXPL_WORKS.
64174         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64175         * modules/mathl (Files): Remove lib/ldexpl.c.
64176         (Depends-on): Add ldexpl.
64177
64178 2007-03-29  Bruno Haible  <bruno@clisp.org>
64179
64180         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64181
64182 2007-03-29  Bruno Haible  <bruno@clisp.org>
64183
64184         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64185         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64186         and possibly also HP-UX.
64187         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64188         work on AIX, IRIX, HP-UX, OSF/1.
64189         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64190         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64191         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64192         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64193         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64194         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64195
64196 2007-03-29  Bruno Haible  <bruno@clisp.org>
64197
64198         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64199
64200 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64201
64202         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64203         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64204
64205 2007-03-29  Eric Blake  <ebb9@byu.net>
64206
64207         * lib/acl-internal.h: Remove redundant include.
64208         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64209         Cygwin when a file is locked.
64210
64211 2007-03-29  Bruno Haible  <bruno@clisp.org>
64212
64213         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64214         file.
64215         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64216
64217 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64218
64219         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64220         try to remove a parent directory if the child couldn't be removed
64221         (except for the first rmdir, which could fail because the child
64222         doesn't exist).  Problem reported by Jeff Blaine in
64223         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64224
64225 2007-03-28  Bruno Haible  <bruno@clisp.org>
64226
64227         * lib/striconveh.c (utf8conv_carefully): New function.
64228         (mem_cd_iconveh_internal): Invoke it.
64229
64230 2007-03-28  Bruno Haible  <bruno@clisp.org>
64231
64232         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64233         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64234         input.
64235         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64236         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64237         unistr/u8-uctomb.
64238
64239 2007-03-28  Bruno Haible  <bruno@clisp.org>
64240
64241         * modules/unistr/u8-mbtoucr: New file.
64242         * lib/unistr/u8-mbtoucr.c: New file.
64243         * modules/unistr/u16-mbtoucr: New file.
64244         * lib/unistr/u16-mbtoucr.c: New file.
64245         * modules/unistr/u16-mbtoucr: New file.
64246         * lib/unistr/u16-mbtoucr.c: New file.
64247         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64248
64249 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64250             Bruno Haible  <bruno@clisp.org>
64251
64252         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64253         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64254         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64255
64256         * m4/stdio_h.m4: Add stubs for vasprintf too.
64257
64258         * modules/stdio: Support vasprintf in sed command.
64259
64260         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64261         vasprintf.h.  Add stdio module indicator.
64262
64263         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64264         vasprintf.h.
64265
64266         * lib/vasprintf.h: File removed.
64267
64268         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64269         * lib/vasprintf.c: Ditto.
64270         * lib/xvasprintf.c: Ditto.
64271         * tests/test-vasprintf-posix.c: Ditto.
64272         * tests/test-vasprintf.c: Ditto.
64273
64274 2007-03-27  Bruno Haible  <bruno@clisp.org>
64275
64276         Make vasnprintf multithread-safe.
64277         * lib/vasnprintf.c (decimal_point_char): New function.
64278         (VASNPRINTF): Use it.
64279         Suggested by Simon Josefsson.
64280
64281 2007-03-27  Eric Blake  <ebb9@byu.net>
64282
64283         Support sub-second birthtime on cygwin.
64284         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64285         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64286         (get_stat_birthtime): Also work with st_birthtim.
64287
64288 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64289
64290         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64291         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64292         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64293         (get_stat_birthtime_ns): Simplify compile-time tests.
64294         (get_stat_birthtime): Change the API to look like
64295         get_stat_mtime etc., except return a negative tv_nsec on error.
64296         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64297         Don't check for "spare" fields.
64298         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64299         or for struct stat.st_birthtime, as these tests aren't used.
64300         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64301
64302 2007-03-27  Bruno Haible  <bruno@clisp.org>
64303
64304         * lib/stat-time.h: Include <sys/stat.h>.
64305
64306 2007-03-27  James Youngman  <jay@gnu.org>
64307
64308         * lib/stat-time.h (get_stat_birthtime): New function for
64309           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64310         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64311           and its variants.
64312         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64313         * modules/stat-time-test: New file.
64314         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64315
64316 2007-03-26  Bruno Haible  <bruno@clisp.org>
64317
64318         Better support of signalling NaNs.
64319         * lib/atanl.c: Include isnanl.h.
64320         (atanl): Perform test for NaN at the beginning of the function and
64321         through a call to isnanl.
64322         * lib/cosl.c: Include isnanl.h.
64323         (cosl): Perform test for NaN at the beginning of the function and
64324         through a call to isnanl.
64325         * lib/ldexpl.c: Include isnanl.h.
64326         (ldexpl): Perform test for NaN through a call to isnanl.
64327         * lib/logl.c: Include isnanl.h.
64328         (logl): Perform test for NaN at the beginning of the function and
64329         through a call to isnanl.
64330         * lib/sinl.c: Include isnanl.h.
64331         (sinl): Perform test for NaN at the beginning of the function and
64332         through a call to isnanl.
64333         * lib/sqrtl.c: Include isnanl.h.
64334         (sqrtl): Perform test for NaN at the beginning of the function and
64335         through a call to isnanl.
64336         * lib/tanl.c: Include isnanl.h.
64337         (tanl): Perform test for NaN at the beginning of the function and
64338         through a call to isnanl.
64339         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
64340         * modules/mathl (Depends-on): Add isnanl.
64341
64342 2007-03-26  Eric Blake  <ebb9@byu.net>
64343
64344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
64345         regression in logic sense of previous patch.
64346
64347 2007-03-26  Bruno Haible  <bruno@clisp.org>
64348
64349         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
64350         unportable shell command "if ! ...".
64351         Reported by Ralf Wildenhues.
64352
64353 2007-03-25  Bruno Haible  <bruno@clisp.org>
64354
64355         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
64356         <sysexits.h> file, and only add EX_CONFIG.
64357         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
64358         absolute file name and whether it is sufficient. Substitute also
64359         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
64360         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
64361         ABSOLUTE_SYSEXITS_H into sysexits.h.
64362
64363 2007-03-25  Bruno Haible  <bruno@clisp.org>
64364
64365         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
64366         hints is NULL.
64367
64368 2007-03-25  Bruno Haible  <bruno@clisp.org>
64369
64370         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
64371         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
64372
64373 2007-03-25  Bruno Haible  <bruno@clisp.org>
64374
64375         * lib/vasnprintf.c: Include langinfo.h.
64376         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
64377         multithread-safe.
64378         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
64379         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
64380         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64381         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64382         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64383         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64385         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
64386         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64387         Reported by Simon Josefsson.
64388
64389 2007-03-25  Bruno Haible  <bruno@clisp.org>
64390
64391         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
64392         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
64393         * modules/vasnprintf (Depends-on): Add stdint.
64394
64395 2007-03-25  Bruno Haible  <bruno@clisp.org>
64396
64397         * modules/fpieee: New file.
64398         * m4/fpieee.m4: New file.
64399         * modules/isnan-nolibm (Depends-on): Add fpieee.
64400         * modules/isnanl-nolibm (Depends-on): Add fpieee.
64401         * modules/isnanl (Depends-on): Add fpieee.
64402
64403 2007-03-25  Bruno Haible  <bruno@clisp.org>
64404
64405         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
64406
64407 2007-03-25  Bruno Haible  <bruno@clisp.org>
64408
64409         Avoid test failures on IRIX 6.5.
64410         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
64411         (main): Use it.
64412         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
64413         macros.
64414         (main): Use them.
64415
64416 2007-03-25  Bruno Haible  <bruno@clisp.org>
64417
64418         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
64419         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
64420         exists but doesn't work.
64421         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
64422         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
64423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
64424         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
64425         math.h.
64426
64427 2007-03-25  Bruno Haible  <bruno@clisp.org>
64428
64429         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
64430         returns inf. Needed on IRIX 6.5.
64431
64432 2007-03-25  Bruno Haible  <bruno@clisp.org>
64433
64434         * tests/test-frexpl.c: Include isnanl-nolibm.h.
64435         (main): Use isnanl instead of x != x idiom.
64436         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
64437
64438         * tests/test-frexp.c: Include isnan.h.
64439         (main): Use isnan instead of x != x idiom.
64440         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
64441
64442 2007-03-25  Bruno Haible  <bruno@clisp.org>
64443
64444         * tests/test-frexp.c (NaN): New function/macro.
64445         (main): Use it instead of 0.0 / 0.0.
64446         * tests/test-isnan.c (NaN): New function/macro.
64447         (main): Use it instead of 0.0 / 0.0.
64448         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
64449         (test_function): Use it instead of 0.0 / 0.0.
64450         * tests/test-vasprintf-posix.c (NaN): New function/macro.
64451         (test_function): Use it instead of 0.0 / 0.0.
64452         * tests/test-snprintf-posix.h (NaN): New function/macro.
64453         (test_function): Use it instead of 0.0 / 0.0.
64454         * tests/test-sprintf-posix.h (NaN): New function/macro.
64455         (test_function): Use it instead of 0.0 / 0.0.
64456         * tests/test-fprintf-posix.h (NaN): New function/macro.
64457         (test_function): Use it instead of 0.0 / 0.0.
64458         * tests/test-printf-posix.h (NaN): New function/macro.
64459         (test_function): Use it instead of 0.0 / 0.0.
64460
64461         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
64462
64463 2007-03-25  Bruno Haible  <bruno@clisp.org>
64464
64465         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
64466
64467 2007-03-25  Bruno Haible  <bruno@clisp.org>
64468
64469         * lib/regexec.c (merge_state_with_log): Make static.
64470
64471 2007-03-25  Bruno Haible  <bruno@clisp.org>
64472
64473         * lib/trigl.c (kernel_rem_pio2): Make static.
64474
64475 2007-03-25  Bruno Haible  <bruno@clisp.org>
64476
64477         * lib/sincosl.c (sincosl_table): Make static.
64478
64479 2007-03-25  Bruno Haible  <bruno@clisp.org>
64480
64481         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
64482         if the compiler does not support C99.
64483
64484 2007-03-25  Bruno Haible  <bruno@clisp.org>
64485
64486         * modules/time (Makefile.am): Ensure all rule action lines start with a
64487         tab.
64488
64489 2007-03-24  Bruno Haible  <bruno@clisp.org>
64490
64491         * modules/tsearch-tests: New file.
64492         * tests/test-tsearch.sh: New file.
64493         * tests/test-tsearch.c: New file, mostly copied from glibc.
64494
64495         * modules/search-tests: New file.
64496         * tests/test-search.c: New file.
64497
64498         * modules/search: New file.
64499         * lib/search_.h: New file, incorporating lib/tsearch.h.
64500         * m4/search_h.m4: New file.
64501         * lib/tsearch.h: Remove file.
64502         * lib/tsearch.c: Include search.h instead of tsearch.h.
64503         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
64504         HAVE_TSEARCH.
64505         * modules/tsearch (Files): Remove lib/tsearch.h.
64506         (Depends-on): Add search.
64507         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
64508         (Include): Change tsearch.h into search.h.
64509
64510 2007-03-24  Bruno Haible  <bruno@clisp.org>
64511
64512         * modules/fpucw: New file.
64513         * lib/fpucw.h: New file.
64514         * lib/frexp.c: Include fpucw.h.
64515         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64516         (FUNC): Use them.
64517         * lib/printf-frexp.c: Include fpucw.h.
64518         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
64519         (FUNC): Use them.
64520         * lib/vasnprintf.c: Include fpucw.h.
64521         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
64522         'long double' calculations.
64523         * tests/test-frexpl.c: Include fpucw.h.
64524         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64525         * tests/test-printf-frexpl.c: Include fpucw.h.
64526         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
64527         * modules/frexpl (Depends-on): Add fpucw.
64528         * modules/printf-frexpl (Depends-on): Likewise.
64529         * modules/fprintf-posix (Depends-on): Likewise.
64530         * modules/snprintf-posix (Depends-on): Likewise.
64531         * modules/sprintf-posix (Depends-on): Likewise.
64532         * modules/vasnprintf-posix (Depends-on): Likewise.
64533         * modules/vasprintf-posix (Depends-on): Likewise.
64534         * modules/vfprintf-posix (Depends-on): Likewise.
64535         * modules/vsnprintf-posix (Depends-on): Likewise.
64536         * modules/vsprintf-posix (Depends-on): Likewise.
64537         * modules/frexpl-tests (Depends-on): Likewise.
64538         * modules/printf-frexpl-tests (Depends-on): Likewise.
64539
64540 2007-03-24  Bruno Haible  <bruno@clisp.org>
64541
64542         * lib/float+.h: New file.
64543         * lib/isnan.c: Include float+.h.
64544         (SIZE): New macro.
64545         (FUNC): Compare only SIZE bytes of the value.
64546         * lib/vasnprintf.c: Include float+.h.
64547         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
64548         SIZEOF_LDBL or SIZEOF_DBL bytes.
64549         * modules/isnan-nolibm (Files): Add lib/float+.h.
64550         * modules/isnanl-nolibm (Files): Add lib/float+.h.
64551         * modules/isnanl (Files): Add lib/float+.h.
64552         * modules/vasnprintf (Files): Add lib/float+.h.
64553
64554 2007-03-24  Bruno Haible  <bruno@clisp.org>
64555
64556         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
64557         include isnanl-nolibm.h.
64558
64559 2007-03-24  Bruno Haible  <bruno@clisp.org>
64560
64561         * tests/test-read-file.c (main): Don't produce spurious output for
64562         expected situations. Make the test fail if it encountered unexpected
64563         results.
64564
64565 2007-03-24  Bruno Haible  <bruno@clisp.org>
64566
64567         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
64568         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
64569
64570 2007-03-24  Bruno Haible  <bruno@clisp.org>
64571
64572         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
64573
64574 2007-03-24  Bruno Haible  <bruno@clisp.org>
64575
64576         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
64577         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
64578
64579         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
64580         * modules/utf8-ucs4: Turn into a symbolic link to module
64581         unistr/u8-mbtouc.
64582
64583         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
64584         utf8-ucs4-unsafe.
64585         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
64586         unistr/u8-mbtouc-unsafe.
64587
64588         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
64589         * modules/utf16-ucs4: Turn into a symbolic link to module
64590         unistr/u16-mbtouc.
64591
64592         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
64593         utf16-ucs4-unsafe.
64594         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
64595         unistr/u16-mbtouc-unsafe.
64596
64597         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
64598         * modules/ucs4-utf8: Turn into a symbolic link to module
64599         unistr/u8-ubtomb.
64600
64601         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
64602         * modules/ucs4-utf16: Turn into a symbolic link to module
64603         unistr/u16-ubtomb.
64604
64605 2007-03-24  Bruno Haible  <bruno@clisp.org>
64606
64607         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
64608         Enable the function only if HAVE_INLINE.
64609         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
64610         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64611         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
64612         Enable the function only if HAVE_INLINE.
64613         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
64614         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
64615         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
64616         Enable the function only if HAVE_INLINE.
64617         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
64618         Enable the function only if HAVE_INLINE.
64619         * modules/utf8-ucs4: Update.
64620         * modules/utf8-ucs4-unsafe: Update.
64621         * modules/utf16-ucs4: Update.
64622         * modules/utf16-ucs4-unsafe: Update.
64623         * modules/ucs4-utf8: Update.
64624         * modules/ucs4-utf16: Update.
64625
64626 2007-03-24  Bruno Haible  <bruno@clisp.org>
64627
64628         * lib/utf8-ucs4.h: Remove file.
64629         * lib/utf8-ucs4-unsafe.h: Remove file.
64630         * lib/utf16-ucs4.h: Remove file.
64631         * lib/utf16-ucs4-unsafe.h: Remove file.
64632         * lib/ucs4-utf8.h: Remove file.
64633         * lib/ucs4-utf16.h: Remove file.
64634         * lib/unistr.h: Include their previous contents.
64635         * m4/utf-ucs4.m4: Remove file.
64636         * m4/ucs4-utf.m4: Remove file.
64637         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
64638         (Depends-on): Add unistr/base.
64639         (configure.ac): Remove gl_UTF_UCS4.
64640         (Makefile.am): Update.
64641         (Include): Change to unistr.h.
64642         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
64643         (Depends-on): Add unistr/base.
64644         (configure.ac): Remove gl_UTF_UCS4.
64645         (Makefile.am): Update.
64646         (Include): Change to unistr.h.
64647         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
64648         (Depends-on): Add unistr/base.
64649         (configure.ac): Remove gl_UTF_UCS4.
64650         (Makefile.am): Update.
64651         (Include): Change to unistr.h.
64652         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
64653         (Depends-on): Add unistr/base.
64654         (configure.ac): Remove gl_UTF_UCS4.
64655         (Makefile.am): Update.
64656         (Include): Change to unistr.h.
64657         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
64658         (Depends-on): Add unistr/base.
64659         (configure.ac): Remove gl_UCS4_UTF.
64660         (Makefile.am): Update.
64661         (Include): Change to unistr.h.
64662         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
64663         (Depends-on): Add unistr/base.
64664         (configure.ac): Remove gl_UCS4_UTF.
64665         (Makefile.am): Update.
64666         (Include): Change to unistr.h.
64667         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
64668         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
64669         utf8-ucs4-unsafe.h.
64670         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
64671         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
64672         utf16-ucs4-unsafe.h.
64673         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
64674         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
64675         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
64676         * lib/unistr/u8-strchr.c: Likewise.
64677         * lib/unistr/u8-strrchr.c: Likewise.
64678         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
64679         * lib/unistr/u16-strchr.c: Likewise.
64680         * lib/unistr/u16-strrchr.c: Likewise.
64681         * lib/striconveh.c: Update.
64682         * lib/linebreak.c: Update.
64683
64684 2007-03-24  Bruno Haible  <bruno@clisp.org>
64685
64686         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
64687         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
64688
64689 2007-03-22  Bruno Haible  <bruno@clisp.org>
64690
64691         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
64692
64693 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
64694
64695         * MODULES.html.sh (File system functions): New module write-any-file.
64696         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
64697         * m4/write-any-file.m4: New files.
64698
64699 2007-03-23  Eric Blake  <ebb9@byu.net>
64700
64701         * gnulib-tool: Rearrange space-tab sequences, since some editors
64702         like to eat them.
64703
64704 2007-03-23  Eric Blake  <ebb9@byu.net>
64705
64706         * lib/version-etc.c (version_etc_va): Update license wording to
64707         be more concise.  Recommended by Richard Stallman.
64708
64709 2007-03-22  Bruno Haible  <bruno@clisp.org>
64710
64711         * lib/poll.c (MSG_PEEK): New fallback definition.
64712
64713 2007-03-22  Bruno Haible  <bruno@clisp.org>
64714
64715         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
64716         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
64717         (main): Update.
64718         Fixes a compilation error on BeOS.
64719
64720 2007-03-22  Bruno Haible  <bruno@clisp.org>
64721
64722         * modules/frexpl-tests: New file.
64723         * tests/test-frexpl.c: New file.
64724
64725         * modules/frexpl: New file.
64726         * m4/frexpl.m4: New file.
64727         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
64728         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
64729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
64730         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
64731         (Depends-on): Add frexpl. Remove isnanl-nolibm.
64732         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
64733
64734 2007-03-22  Bruno Haible  <bruno@clisp.org>
64735
64736         * lib/frexpl.c: Share code with lib/frexp.c.
64737         * modules/mathl (Files): Add lib/frexp.c.
64738         (Depends-on): Add isnanl-nolibm.
64739
64740 2007-03-22  Bruno Haible  <bruno@clisp.org>
64741
64742         * modules/printf-frexp (Files): Add m4/frexp.m4.
64743         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
64744         only if the found frexp function actually works.
64745
64746 2007-03-22  Bruno Haible  <bruno@clisp.org>
64747
64748         * lib/frexp.c: Remove older implementation that uses divisions.
64749
64750 2007-03-21  Bruno Haible  <bruno@clisp.org>
64751
64752         * modules/frexp-tests: New file.
64753         * tests/test-frexp.c: New file.
64754
64755         * modules/frexp: New file.
64756         * lib/frexp.c: New file.
64757         * m4/frexp.m4: New file.
64758         * lib/math_.h (frexp): New declaration.
64759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
64760         REPLACE_FREXP.
64761         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
64762
64763 2007-03-21  Bruno Haible  <bruno@clisp.org>
64764
64765         * modules/isnanl-tests: New file.
64766         * tests/test-isnanl.c: New file.
64767
64768         * modules/isnanl: New file.
64769         * lib/isnanl.h: New file.
64770         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
64771         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
64772         gl_FUNC_ISNANL_WORKS.
64773         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
64774         New macros.
64775
64776 2007-03-21  Bruno Haible  <bruno@clisp.org>
64777
64778         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
64779         lib/isnanl.h.
64780         (Include): Update.
64781         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
64782         * lib/vasnprintf.c: Update.
64783         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
64784         tests/test-isnanl.h, remove tests/test-isnanl.c.
64785         (Makefile.am): Update.
64786         * tests/test-isnanl-nolibm.c: New file.
64787         * tests/test-isnanl.h: New file.
64788         * tests/test-isnanl.c: Remove file.
64789
64790 2007-03-21  Jim Meyering  <jim@meyering.net>
64791
64792         When trying to open ".", treat ESTALE like EACCES.
64793         * lib/savewd.c (savewd_save): Resort to forking not just upon
64794         failure with EACCES, but also when errno is ESTALE.
64795
64796 2007-03-20  Bruno Haible  <bruno@clisp.org>
64797
64798         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
64799         Needed on AIX 5.1. Reported by Matthew Woehlke.
64800
64801 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         Suggestions by Bruno Haible:
64804         * lib/acl-internal.h: Include "gettext.h" rather than rolling
64805         our own.
64806         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
64807         * modules/acl (Depends-on): Add gettext.
64808
64809 2007-03-19  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/iconvme: Remove file.
64812         * lib/iconvme.h: Remove file.
64813         * lib/iconvme.c: Remove file.
64814         * m4/iconvme.m4: Remove file.
64815
64816 2007-03-19  Bruno Haible  <bruno@clisp.org>
64817
64818         * doc/relocatable-maint.texi: Break long shell script line.
64819         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64820
64821 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64822
64823         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
64824         handle file_has_acl.
64825         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
64826         * lib/acl.c: Move header inclusions and related macro defns into
64827         lib/acl-internal.h.
64828         (S_ISLNK): Remove defn, since that's now done for us.
64829         (file_has_acl): Move to lib/file-has-acl.c.
64830         Call acl_trivial if available.  This is the crucial part of the fix.
64831         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
64832         shared within the library.  Rewrite a bit, partly to make it compatible
64833         with the GNU coding style.
64834         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
64835         Remove unnecessary double-quotes.
64836         Don't test for acl_to_text; the build will catch that.
64837         Replace acl_entries if it doesn't exist and it is needed.
64838         Check for -lsec and acl_trivial (as used on Solaris 10).
64839         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
64840         lib/file-has-acl.c.
64841         (Depends-on): Add sys_stat, for S_ISLNK.
64842
64843 2007-03-19  Ben Pfaff  <blp@gnu.org>
64844
64845         * doc/gnulib.texi: Fix typos.
64846         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
64847
64848 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
64849
64850         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
64851         If size is zero here, buf must be zero.
64852
64853 2007-03-19  Simon Josefsson  <simon@josefsson.org>
64854
64855         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
64856         <bruno@clisp.org>.
64857
64858 2007-03-18  Bruno Haible  <bruno@clisp.org>
64859
64860         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
64861         Suggested by Eric Blake.
64862
64863 2007-03-18  Ben Pfaff  <blp@gnu.org>
64864
64865         * doc/relocatable.texi: Recommend using as prefix a directory
64866         that does not exist and will never be created.  Based on
64867         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
64868         and others.
64869
64870 2007-03-17  Bruno Haible  <bruno@clisp.org>
64871
64872         * lib/fchownat.c: Include lchown.h.
64873
64874 2007-03-17  Bruno Haible  <bruno@clisp.org>
64875
64876         Fix endless loop when the given allocated size was > INT_MAX.
64877         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
64878         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
64879         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
64880         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
64881         * lib/sprintf.c (sprintf): Likewise.
64882
64883 2007-03-17  Bruno Haible  <bruno@clisp.org>
64884
64885         * tests/test-argp-2.sh (func_compare): Output a context diff.
64886
64887 2007-03-17  Bruno Haible  <bruno@clisp.org>
64888
64889         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
64890         locale's decimal-point character.
64891
64892 2007-03-17  Bruno Haible  <bruno@clisp.org>
64893
64894         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
64895         before comparing it. Needed because on some platforms (e.g. x86) a
64896         'long double' occupies less bytes than sizeof (long double).
64897
64898 2007-03-17  Bruno Haible  <bruno@clisp.org>
64899
64900         * tests/test-crc.c (main): Make printf statements 64-bit clean.
64901         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
64902         * tests/test-getaddrinfo.c (simple): Likewise.
64903         * tests/test-read-file.c (main): Likewise.
64904
64905 2007-03-17  Bruno Haible  <bruno@clisp.org>
64906
64907         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
64908
64909 2007-03-17  Bruno Haible  <bruno@clisp.org>
64910
64911         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
64912         unused variable.
64913
64914 2007-03-17  Bruno Haible  <bruno@clisp.org>
64915
64916         * tests/test-c-strcasecmp.c: Include c-strcase.h.
64917         * tests/test-c-strncasecmp.c: Likewise.
64918
64919 2007-03-17  Bruno Haible  <bruno@clisp.org>
64920
64921         * modules/stdlib (Depends-on): Add unistd.
64922         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
64923         Needed for MacOS X 10.3.
64924
64925 2007-03-17  Bruno Haible  <bruno@clisp.org>
64926
64927         * lib/unistr/u-strdup.h: Include <stdlib.h>.
64928
64929 2007-03-17  Bruno Haible  <bruno@clisp.org>
64930
64931         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
64932
64933 2007-03-17  Bruno Haible  <bruno@clisp.org>
64934
64935         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
64936         to reflect files copied from gnulib (with or without modifications).
64937         Suggested by Jim Meyering.
64938
64939 2007-03-17  Eric Blake  <ebb9@byu.net>
64940
64941         * NEWS: Document stdlib change from 2007-02-18.
64942
64943 2007-03-17  Jim Meyering  <jim@meyering.net>
64944
64945         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
64946         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
64947         someone uses a name containing shell meta-characters.
64948         Reported by Alfred M. Szmidt.
64949
64950         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
64951
64952 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64953
64954         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
64955         and copy gettext configuration files only if configure.ac contains
64956         a use of AM_GNU_GETTEXT_VERSION.
64957
64958 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
64959
64960         * build-aux/bootstrap (gnulib_name): New variable.
64961         (gnulib_tool_options): Use it.
64962
64963 2007-03-13  Simon Josefsson  <simon@josefsson.org>
64964
64965         * tests/test-des.c: Use new namespace.
64966
64967 2007-03-15  Bruno Haible  <bruno@clisp.org>
64968
64969         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64970         Reported by James Youngman <jay@gnu.org>.
64971
64972 2007-03-15  Bruno Haible  <bruno@clisp.org>
64973
64974         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64975         declared prototype. Needed with cc on OSF/1 5.1.
64976
64977 2007-03-15  Bruno Haible  <bruno@clisp.org>
64978
64979         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64980         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64981         (struct gl_list_implementation): Add dispose_fn argument to the
64982         'create_empty', 'create' methods.
64983         (struct gl_list_impl_base): Add field 'dispose_fn'.
64984         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64985         argument.
64986         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64987         dispose_fn argument.
64988         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64989         dispose_fn on the dropped values.
64990         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64991         dispose_fn argument.
64992         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64993         dropped values.
64994         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64995         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64996         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64997         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64998         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64999         argument.
65000         (gl_tree_list_free): Call dispose_fn on the dropped values.
65001         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65002         the dropped values.
65003         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65004         Add dispose_fn argument.
65005         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65006         Call dispose_fn on the dropped values.
65007         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65008         Add dispose_fn argument.
65009         (gl_sublist_create): Initialize the 'dispose_fn' field.
65010         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65011         * tests/test-array_list.c (main): Update.
65012         * tests/test-carray_list.c (main): Update.
65013         * tests/test-avltree_list.c (main): Update.
65014         * tests/test-rbtree_list.c (main): Update.
65015         * tests/test-avltreehash_list.c (main): Update.
65016         * tests/test-rbtreehash_list.c (main): Update.
65017         * tests/test-linked_list.c (main): Update.
65018         * tests/test-linkedhash_list.c (main): Update.
65019         * tests/test-array_oset.c (main): Update.
65020
65021 2007-03-15  Bruno Haible  <bruno@clisp.org>
65022
65023         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65024         (gl_oset_create_empty): Add dispose_fn argument.
65025         (struct gl_oset_implementation): Add dispose_fn argument to
65026         'create_empty' method.
65027         (struct gl_oset_impl_base): Add dispose_fn field.
65028         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65029         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65030         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65031         values.
65032         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65033         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65034         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65035         dropped value.
65036         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65037         dropped value.
65038         * tests/test-array_oset.c (main): Update.
65039         * tests/test-avltree_oset.c (main): Update.
65040         * tests/test-rbtree_oset.c (main): Update.
65041         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65042
65043 2007-03-13  Bruno Haible  <bruno@clisp.org>
65044
65045         * tests/test-stdbool.c (i): Update after last patch.
65046
65047 2007-03-12  Bruno Haible  <bruno@clisp.org>
65048
65049         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65050         the iswprint macro. Needed on Solaris 2.5.1.
65051
65052 2007-03-12  Bruno Haible  <bruno@clisp.org>
65053
65054         * tests/test-printf-frexp.c (main): Declare x as volatile.
65055
65056 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65057
65058         * doc/gnulib.texi (Build robot for gnulib): New section.
65059
65060 2007-03-12  Jim Meyering  <jim@meyering.net>
65061
65062         * build-aux/bootstrap: New file.
65063         * build-aux/bootstrap.conf: New file, from coreutils.
65064
65065 2007-03-11  Bruno Haible  <bruno@clisp.org>
65066
65067         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65068
65069 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65070
65071         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65072         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65073         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65074
65075 2007-03-11  Bruno Haible  <bruno@clisp.org>
65076
65077         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65078         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65079
65080 2007-03-11  Bruno Haible  <bruno@clisp.org>
65081
65082         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65083         formula. Needed for SunPRO C 5.0.
65084
65085 2007-03-11  Bruno Haible  <bruno@clisp.org>
65086
65087         * modules/long-options (Depends-on): Add getopt.
65088
65089 2007-03-11  Bruno Haible  <bruno@clisp.org>
65090
65091         * modules/modechange (Depends-on): Add stdbool.
65092
65093 2007-03-11  Bruno Haible  <bruno@clisp.org>
65094
65095         * modules/i-ring (Depends-on): Add stdbool.
65096
65097 2007-03-11  Bruno Haible  <bruno@clisp.org>
65098
65099         * modules/gc-des (Depends-on): Add stdbool.
65100
65101 2007-03-11  Bruno Haible  <bruno@clisp.org>
65102
65103         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65104
65105 2007-03-11  Bruno Haible  <bruno@clisp.org>
65106
65107         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65108
65109 2007-03-11  Bruno Haible  <bruno@clisp.org>
65110
65111         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65112
65113 2007-03-11  Bruno Haible  <bruno@clisp.org>
65114
65115         * lib/vasnprintf.c (sprintf): Undefine.
65116
65117 2007-03-11  Bruno Haible  <bruno@clisp.org>
65118
65119         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65120         initializers in SunPRO C and Compaq C compilers.
65121
65122 2007-03-11  Bruno Haible  <bruno@clisp.org>
65123
65124         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65125         decrementing code ANSI C compliant.
65126
65127 2007-03-11  Bruno Haible  <bruno@clisp.org>
65128
65129         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65130         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65131
65132 2007-03-11  Bruno Haible  <bruno@clisp.org>
65133
65134         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65135         <stdbool.h> substitute doesn't pass.
65136
65137 2007-03-11  Bruno Haible  <bruno@clisp.org>
65138
65139         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65140
65141 2007-03-11  Bruno Haible  <bruno@clisp.org>
65142
65143         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65144         script, for submission to autobuild.josefsson.org.
65145
65146 2007-03-10  Bruno Haible  <bruno@clisp.org>
65147
65148         * modules/canonicalize-lgpl-tests: New file.
65149         * tests/test-canonicalize-lgpl.sh: New file.
65150         * tests/test-canonicalize-lgpl.c: New file.
65151
65152         * modules/c-strcase-tests: New file.
65153         * tests/test-c-strcase.sh: New file.
65154         * tests/test-c-strcasecmp.c: New file.
65155         * tests/test-c-strncasecmp.c: New file.
65156
65157         * modules/atexit-tests: New file.
65158         * tests/test-atexit.sh: New file.
65159         * tests/test-atexit.c: New file.
65160
65161 2007-03-10  Bruno Haible  <bruno@clisp.org>
65162
65163         * tests/test-binary-io.sh: Use temporary filenames that are not so
65164         likely to clash with those of other tests (in a parallel make).
65165         * tests/test-binary-io.c: Likewise.
65166
65167 2007-03-10  Bruno Haible  <bruno@clisp.org>
65168
65169         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65170         fallback; use #error instead.
65171         Suggested by Simon Josefsson.
65172
65173 2007-03-10  Bruno Haible  <bruno@clisp.org>
65174
65175         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65176         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65177         first and the last.
65178
65179 2007-03-10  Bruno Haible  <bruno@clisp.org>
65180
65181         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65182
65183 2007-03-10  Bruno Haible  <bruno@clisp.org>
65184
65185         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65186         "make distcheck".
65187         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65188         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65189         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65190
65191 2007-03-10  Bruno Haible  <bruno@clisp.org>
65192
65193         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65194         variable.
65195         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65196         variable.
65197
65198 2007-03-09  Eric Blake  <ebb9@byu.net>
65199         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65200
65201         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65202         types are not being provided by gnulib.
65203         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65204         types are supported.
65205
65206 2007-03-10  Bruno Haible  <bruno@clisp.org>
65207
65208         * lib/stdio_.h (__attribute__): New macro.
65209         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65210         vsprintf): Specify __attribute__ __format__ for GCC.
65211         Suggested by Eric Blake.
65212
65213 2007-03-09  Bruno Haible  <bruno@clisp.org>
65214
65215         * modules/printf-posix-tests: New file.
65216         * tests/test-printf-posix.sh: New file.
65217         * tests/test-printf-posix.c: New file.
65218
65219         * modules/printf-posix: New file.
65220         * lib/printf.c: New file.
65221         * m4/printf-posix-rpl.m4: New file.
65222         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65223         REPLACE_PRINTF.
65224         * lib/stdio_.h (printf): New declaration.
65225         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65226         ____strfmon____): New macros.
65227         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65228         REPLACE_PRINTF.
65229
65230 2007-03-09  Bruno Haible  <bruno@clisp.org>
65231
65232         * tests/test-vasnprintf-posix2.sh: New file.
65233         * tests/test-vasnprintf-posix2.c: New file.
65234         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65235         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65236         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65237
65238         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65239         a locale dependent decimal point, rather than always '.'.
65240
65241 2007-03-09  Eric Blake  <ebb9@byu.net>
65242
65243         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65244         spite of platforms like Tandem/NSK that define it to -1.
65245
65246 2007-03-08  Bruno Haible  <bruno@clisp.org>
65247
65248         * modules/vprintf-posix-tests: New file.
65249         * tests/test-vprintf-posix.sh: New file.
65250         * tests/test-vprintf-posix.c: New file.
65251         * tests/test-printf-posix.h: New file.
65252
65253         * modules/vprintf-posix: New file.
65254         * lib/vprintf.c: New file.
65255         * m4/vprintf-posix.m4: New file.
65256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65257         REPLACE_VPRINTF.
65258         * lib/stdio_.h (vprintf): New declaration.
65259         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65260         REPLACE_VPRINTF.
65261
65262 2007-03-08  Bruno Haible  <bruno@clisp.org>
65263
65264         * modules/fprintf-posix-tests: New file.
65265         * tests/test-fprintf-posix.sh: New file.
65266         * tests/test-fprintf-posix.c: New file.
65267
65268         * modules/fprintf-posix: New file.
65269         * lib/fprintf.c: New file.
65270         * m4/fprintf-posix.m4: New file.
65271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65272         REPLACE_FPRINTF.
65273         * lib/stdio_.h (fprintf): New declaration.
65274         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65275         REPLACE_FPRINTF.
65276
65277 2007-03-08  Bruno Haible  <bruno@clisp.org>
65278
65279         * modules/vfprintf-posix-tests: New file.
65280         * tests/test-vfprintf-posix.sh: New file.
65281         * tests/test-vfprintf-posix.c: New file.
65282         * tests/test-fprintf-posix.h: New file.
65283         * tests/test-fprintf-posix.out: New file.
65284
65285         * modules/vfprintf-posix: New file.
65286         * lib/vfprintf.c: New file.
65287         * m4/vfprintf-posix.m4: New file.
65288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65289         REPLACE_VFPRINTF.
65290         * lib/stdio_.h (vfprintf): New declaration.
65291         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65292         REPLACE_VFPRINTF.
65293
65294 2007-03-08  Bruno Haible  <bruno@clisp.org>
65295
65296         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65297
65298 2007-03-08  Bruno Haible  <bruno@clisp.org>
65299
65300         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65301         instead of 'expr' invocations.
65302         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65303         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65304         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65305         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65306         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65307         Suggested by Paul Eggert.
65308
65309 2007-03-08  Bruno Haible  <bruno@clisp.org>
65310
65311         * modules/fseterr-tests: New file.
65312         * tests/test-fseterr.c: New file.
65313
65314         * modules/fseterr: New file.
65315         * lib/fseterr.h: New file.
65316         * lib/fseterr.c: New file.
65317
65318 2007-03-08  Bruno Haible  <bruno@clisp.org>
65319
65320         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65321         * lib/getopt_.h: Likewise.
65322         * lib/mbswidth.h: Likewise.
65323         * lib/setenv.h: Likewise.
65324         * lib/vasnprintf.h: Likewise.
65325         * lib/vasprintf.h: Likewise.
65326         * lib/verror.h: Likewise.
65327         * lib/xsetenv.h: Likewise.
65328         * lib/xvasprintf.h: Likewise.
65329
65330 2007-03-08  Jim Meyering  <jim@meyering.net>
65331
65332         * users.txt: Add parted.
65333
65334         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
65335
65336 2007-03-07  Bruno Haible  <bruno@clisp.org>
65337
65338         * m4/printf.m4: Make the shell script snippets copy&pastable.
65339
65340 2007-03-02  Bruno Haible  <bruno@clisp.org>
65341
65342         * lib/netinet_in_.h: New file.
65343         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
65344         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
65345         * modules/netinet_in (Files): Add lib/netinet_in_.h.
65346         (Depends-on): Add absolute-header.
65347         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
65348         into netinet/in.h.
65349
65350 2007-03-03  Bruno Haible  <bruno@clisp.org>
65351
65352         * lib/sys_select_.h: New file.
65353         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
65354         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
65355         * modules/sys_select (Files): Add lib/sys_select_.h.
65356         (Depends-on): Add absolute-header.
65357         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
65358         into sys/select.h.
65359
65360 2007-03-02  Bruno Haible  <bruno@clisp.org>
65361
65362         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
65363         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
65364         values.
65365         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
65366         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
65367         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
65368         * modules/sys_socket (Depends-on): Add absolute-header.
65369         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
65370         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
65371         (Include): Remove requirement of inclusion of <sys/types.h>.
65372
65373 2007-03-02  Bruno Haible  <bruno@clisp.org>
65374
65375         * lib/byteswap_.h (bswap_32): Fix formula.
65376
65377 2007-03-06  Bruno Haible  <bruno@clisp.org>
65378
65379         * modules/sprintf-posix-tests: New file.
65380         * tests/test-sprintf-posix.c: New file.
65381
65382         * modules/sprintf-posix: New file.
65383         * lib/sprintf.c: New file.
65384         * m4/sprintf-posix.m4: New file.
65385         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
65386         REPLACE_SPRINTF.
65387         * lib/stdio_.h (sprintf): New declaration.
65388         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
65389         REPLACE_SPRINTF.
65390
65391 2007-03-06  Bruno Haible  <bruno@clisp.org>
65392
65393         * modules/vsprintf-posix-tests: New file.
65394         * tests/test-vsprintf-posix.c: New file.
65395         * tests/test-sprintf-posix.h: New file.
65396
65397         * modules/vsprintf-posix: New file.
65398         * lib/vsprintf.c: New file.
65399         * m4/vsprintf-posix.m4: New file.
65400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
65401         REPLACE_VSPRINTF.
65402         * lib/stdio_.h (vsprintf): New declaration.
65403         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
65404         REPLACE_VSPRINTF.
65405
65406 2007-03-06  Bruno Haible  <bruno@clisp.org>
65407
65408         * modules/vsnprintf (Depend-on): Remove minmax.
65409
65410 2007-03-06  Bruno Haible  <bruno@clisp.org>
65411
65412         * modules/snprintf-posix-tests: New file.
65413         * tests/test-snprintf-posix.c: New file.
65414
65415         * modules/snprintf-posix: New file.
65416         * m4/snprintf-posix.m4: New file.
65417         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
65418         gl_FUNC_SNPRINTF.
65419         (gl_FUNC_SNPRINTF): Invoke it.
65420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
65421         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
65422         is set.
65423         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
65424
65425 2007-03-06  Bruno Haible  <bruno@clisp.org>
65426
65427         * modules/vsnprintf-posix-tests: New file.
65428         * tests/test-vsnprintf-posix.c: New file.
65429         * tests/test-snprintf-posix.h: New file.
65430
65431         * modules/vsnprintf-posix: New file.
65432         * m4/vsnprintf-posix.m4: New file.
65433         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
65434         gl_FUNC_VSNPRINTF.
65435         (gl_FUNC_VSNPRINTF): Invoke it.
65436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
65437         * lib/stdio_.h (vsnprintf): Define as a replacement if
65438         REPLACE_VSNPRINTF is set.
65439         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
65440
65441 2007-03-06  Bruno Haible  <bruno@clisp.org>
65442
65443         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
65444         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
65445
65446 2007-03-06  Bruno Haible  <bruno@clisp.org>
65447
65448         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
65449         (asinl): Declare also if HAVE_DECL_ASINL is set.
65450         (atanl): Declare also if HAVE_DECL_ATANL is set.
65451         (ceill): Declare also if HAVE_DECL_CEILL is set.
65452         (cosl): Declare also if HAVE_DECL_COSL is set.
65453         (expl): Declare also if HAVE_DECL_EXPL is set.
65454         (floorl): Declare also if HAVE_DECL_FLOORL is set.
65455         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
65456         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
65457         (logl): Declare also if HAVE_DECL_LOGL is set.
65458         (sinl): Declare also if HAVE_DECL_SINL is set.
65459         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
65460         (tanl): Declare also if HAVE_DECL_TANL is set.
65461         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
65462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
65463         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
65464         declaration of frexpl, ldexpl.
65465         * modules/printf-frexpl (Depends-on): Add math.
65466         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
65467
65468 2007-03-05  Bruno Haible  <bruno@clisp.org>
65469
65470         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
65471         frexpl and ldexpl are declared.
65472         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
65473
65474 2007-03-05  Bruno Haible  <bruno@clisp.org>
65475
65476         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
65477         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
65478
65479 2007-03-05  Bruno Haible  <bruno@clisp.org>
65480
65481         * lib/stdio_.h: Include <stddef.h>.
65482
65483 2007-03-05  Bruno Haible  <bruno@clisp.org>
65484
65485         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
65486
65487 2007-03-05  Bruno Haible  <bruno@clisp.org>
65488
65489         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
65490         NetBSD 4, from Ralf Wildenhues.
65491
65492 2007-03-04  Bruno Haible  <bruno@clisp.org>
65493
65494         * lib/vasprintf.h: Update #if logic for the case when the functions
65495         exist but are overridden.
65496
65497 2007-03-04  Bruno Haible  <bruno@clisp.org>
65498
65499         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
65500         implementations: glibc-2.4 and MacOS X 10.3.
65501         * tests/test-vasnprintf-posix.c (test_function): Test also the case
65502         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
65503         * tests/test-vasprintf-posix.c (test_function): Likewise.
65504
65505 2007-03-04  Bruno Haible  <bruno@clisp.org>
65506
65507         * modules/vasprintf-posix-tests: New file.
65508         * tests/test-vasprintf-posix.c: New file.
65509
65510         * modules/vasprintf-posix: New file.
65511         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
65512         defined.
65513         * m4/vasprintf-posix.m4: New file.
65514         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
65515         gl_FUNC_VASPRINTF.
65516         (gl_FUNC_VASPRINTF): Invoke it.
65517         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
65518         here.
65519         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
65520
65521 2007-03-04  Bruno Haible  <bruno@clisp.org>
65522
65523         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
65524         REPLACE_GETTIMEOFDAY.
65525         * modules/sys_time (Makefile.am): Likewise.
65526         * m4/sys_time_h.m4: Likewise.
65527         * m4/gettimeofday.m4: Likewise.
65528
65529 2007-03-04  Bruno Haible  <bruno@clisp.org>
65530
65531         * modules/vasnprintf-posix-tests: New file.
65532         * tests/test-vasnprintf-posix.c: New file.
65533
65534         * modules/vasnprintf-posix: New file.
65535         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
65536         printf-frexpl.h.
65537         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
65538         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
65539         REPLACE_VASNPRINTF is defined.
65540         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
65541         gl_FUNC_VASNPRINTF.
65542         (gl_FUNC_VASNPRINTF): Invoke it.
65543         * m4/vasnprintf-posix.m4: New file.
65544         * m4/printf.m4: New file.
65545
65546 2007-03-04  Bruno Haible  <bruno@clisp.org>
65547
65548         Compile progreloc.c only if --enable-relocatable is specified.
65549         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
65550         if --enable-relocatable was specified.
65551         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
65552         lib_SOURCES.
65553
65554 2007-03-04  Jim Meyering  <jim@meyering.net>
65555
65556         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
65557         Use it consistently, rather than enumerating errno constants.
65558
65559 2007-03-04  Bruno Haible  <bruno@clisp.org>
65560
65561         * modules/xvasprintf-tests: New file.
65562         * tests/test-xvasprintf.c: New file.
65563
65564         * modules/vasprintf-tests: New file.
65565         * tests/test-vasprintf.c: New file.
65566
65567         * modules/vasnprintf-tests: New file.
65568         * tests/test-vasnprintf.c: New file.
65569
65570         * modules/vsnprintf-tests: New file.
65571         * tests/test-vsnprintf.c: New file.
65572
65573         * modules/snprintf-tests: New file.
65574         * tests/test-snprintf.c: New file.
65575
65576 2007-03-04  Bruno Haible  <bruno@clisp.org>
65577
65578         Compile relocatable.c only if --enable-relocatable is specified.
65579         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
65580         gl_RELOCATABLE_LIBRARY.
65581         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
65582         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
65583         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
65584         gl_RELOCATABLE_LIBRARY.
65585         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
65586         (Makefile.am): Remove lib_SOURCES.
65587         * modules/relocatable-lib-lgpl (configure.ac): Invoke
65588         gl_RELOCATABLE_LIBRARY.
65589         (Makefile.am): Remove lib_SOURCES.
65590         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
65591         always.
65592         * modules/relocatable-prog-wrapper (configure.ac): Invoke
65593         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
65594
65595 2007-03-04  Bruno Haible  <bruno@clisp.org>
65596
65597         * modules/argmatch-tests: New file.
65598         * tests/test-argmatch.c: New file.
65599
65600         * tests/test-allocsa.c (main): Halve the number of loop runs.
65601
65602         * modules/alloca-opt-tests: New file.
65603         * tests/test-alloca-opt.c: New file.
65604
65605 2007-03-04  Jim Meyering  <jim@meyering.net>
65606
65607         Work around difference between Linux ACLs and Solaris 10 ZFS.
65608         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
65609         for EINVAL.
65610
65611 2007-03-03  Bruno Haible  <bruno@clisp.org>
65612
65613         * modules/relocatable-prog (Depends-on): Add back progreloc's
65614         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
65615
65616 2007-03-03  Bruno Haible  <bruno@clisp.org>
65617
65618         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
65619         * modules/relocatable-lib: New file.
65620
65621 2007-03-03  Bruno Haible  <bruno@clisp.org>
65622
65623         * modules/relocatable-prog: Renamed from modules/relocatable.
65624         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
65625
65626 2007-03-03  Bruno Haible  <bruno@clisp.org>
65627
65628         * modules/relocatable-script (Files): Add doc/relocatable.texi,
65629         m4/relocatable-lib.m4.
65630         (Depends-on): Remove 'relocatable'.
65631         (configure.ac): Add gl_RELOCATABLE_NOP.
65632
65633 2007-03-03  Bruno Haible  <bruno@clisp.org>
65634
65635         * modules/relocatable-prog-wrapper: New file.
65636         * modules/relocatable (Depends-on): Add it. Remove all other
65637         dependencies except progname.
65638         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
65639
65640         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
65641         (gl_FUNC_STRERROR): Nop.
65642         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
65643
65644         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
65645         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
65646
65647         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
65648         (gl_FUNC_READLINK): Update.
65649
65650         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
65651
65652 2007-03-03  Bruno Haible  <bruno@clisp.org>
65653
65654         * lib/xreadlink.c: Include <unistd.h> unconditionally.
65655         * modules/xreadlink (Depends-on): Add unistd.
65656         * modules/xreadlink-with-size (Depends-on): Likewise.
65657
65658 2007-03-03  Bruno Haible  <bruno@clisp.org>
65659
65660         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
65661         extracted from gt_FUNC_SETENV.
65662         (gt_FUNC_SETENV): Remove macro.
65663         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
65664         remove gt_FUNC_SETENV.
65665
65666 2007-03-03  Bruno Haible  <bruno@clisp.org>
65667
65668         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
65669         ENABLE_RELOCATABLE here.
65670         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
65671
65672 2007-03-03  Bruno Haible  <bruno@clisp.org>
65673
65674         * modules/rbtreehash-list-tests (Depends-on): Add progname.
65675         * tests/test-rbtreehash_list.c: Include progname.h.
65676         (main): Call set_program_name.
65677
65678         * modules/rbtree-oset-tests (Depends-on): Add progname.
65679         * tests/test-rbtree_oset.c: Include progname.h.
65680         (main): Call set_program_name.
65681
65682         * modules/rbtree-list-tests (Depends-on): Add progname.
65683         * tests/test-rbtree_list.c: Include progname.h.
65684         (main): Call set_program_name.
65685
65686         * modules/linked-list-tests (Depends-on): Add progname.
65687         * tests/test-linked_list.c: Include progname.h.
65688         (main): Call set_program_name.
65689
65690 2007-03-03  Bruno Haible  <bruno@clisp.org>
65691
65692         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
65693         All uses of __restrict changed to _Restrict_.
65694         * lib/glob_.h (__restrict): Remove macro.
65695
65696 2007-03-02  Bruno Haible  <bruno@clisp.org>
65697
65698         * modules/gettext (configure.ac): Require gettext infrastructure
65699         from version 0.16.1.
65700
65701 2007-03-02  Bruno Haible  <bruno@clisp.org>
65702
65703         * modules/linkedhash-list-tests (Depends-on): Add progname.
65704         * tests/test-linkedhash_list.c: Include progname.h.
65705         (main): Call set_program_name.
65706
65707         * modules/carray-list-tests (Depends-on): Add progname.
65708         * tests/test-carray_list.c: Include progname.h.
65709         (main): Call set_program_name.
65710
65711         * modules/avltreehash-list-tests (Depends-on): Add progname.
65712         * tests/test-avltreehash_list.c: Include progname.h.
65713         (main): Call set_program_name.
65714
65715         * modules/avltree-oset-tests (Depends-on): Add progname.
65716         * tests/test-avltree_oset.c: Include progname.h.
65717         (main): Call set_program_name.
65718
65719         * modules/avltree-list-tests (Depends-on): Add progname.
65720         * tests/test-avltree_list.c: Include progname.h.
65721         (main): Call set_program_name.
65722
65723         * modules/array-oset-tests (Depends-on): Add progname.
65724         * tests/test-array_oset.c: Include progname.h.
65725         (main): Call set_program_name.
65726
65727         * modules/array-list-tests (Depends-on): Add progname.
65728         * tests/test-array_list.c: Include progname.h.
65729         (main): Call set_program_name.
65730
65731         * modules/argp-tests (Depends-on): Add progname.
65732         * tests/test-argp.c: Include argp.h first. Include progname.h.
65733         (main): Call set_program_name.
65734
65735 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
65736
65737         * doc/gnulib-tool.texi (Initial import): Reword description of
65738         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
65739         limited effect even if defined after the first system include.
65740
65741 2007-03-01  Bruno Haible  <bruno@clisp.org>
65742
65743         * build-aux/config.libpath: Update to libtool-1.5.22.
65744         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65745
65746 2007-03-01  Bruno Haible  <bruno@clisp.org>
65747
65748         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
65749         foo_CFLAGS.
65750         Reported by Ralf Wildenhues.
65751
65752 2007-03-01  Bruno Haible  <bruno@clisp.org>
65753
65754         * build-aux/install-reloc: Remove object files left over by some
65755         compilers.
65756         Reported by Ralf Wildenhues.
65757
65758 2007-03-01  Bruno Haible  <bruno@clisp.org>
65759
65760         * build-aux/install-reloc: Break long lines.
65761
65762 2007-03-01  Bruno Haible  <bruno@clisp.org>
65763
65764         * doc/relocatable.texi: Document that it may not work on OpenBSD.
65765         Reported by Ralf Wildenhues.
65766
65767 2007-03-01  Bruno Haible  <bruno@clisp.org>
65768
65769         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
65770         include ordering constraints.
65771
65772 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65773
65774         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
65775         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
65776         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
65777         as another example.
65778         * lib/time_.h: Fix misspelling.
65779         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65780         Require gl_HEADER_TIME_H_DEFAULTS.
65781         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
65782         * m4/time_r.m4 (gl_TIME_R): Likewise.
65783         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
65784
65785 2007-03-01  Bruno Haible  <bruno@clisp.org>
65786
65787         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
65788         * m4/utimens.m4 (gl_UTIMENS): Likewise.
65789
65790 2007-03-01  Jim Meyering  <jim@meyering.net>
65791
65792         * modules/xreadlink (Maintainer): Add my name.
65793         * modules/xreadlink-with-size (Depends-on): Alphabetize.
65794
65795 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
65796             Bruno Haible  <bruno@clisp.org>
65797
65798         * build-aux/install-reloc: Compile also c-ctype.c.
65799         * build-aux/relocatable.sh.in: New file.
65800         * doc/relocatable.texi: New file.
65801         * doc/relocatable-maint.texi: New file.
65802         * doc/gnulib.texi: Include relocatable-maint.texi.
65803         * lib/progreloc.c: Include unistd.h unconditionally.
65804         * lib/relocwrapper.c: Include unistd.h unconditionally.
65805         Include c-ctype.h.
65806         (add_dotbin): Use c_tolower.
65807         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
65808         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
65809         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
65810         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
65811         to m4/relocatable-lib.m4.
65812         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
65813         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
65814         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
65815         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
65816         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
65817         * modules/relocatable: New file.
65818         * modules/relocatable-lib: New file.
65819         * modules/relocatable-script: New file.
65820
65821 2007-02-28  Bruno Haible  <bruno@clisp.org>
65822
65823         Import --enable-relocatable infrastructure.
65824         * build-aux/config.libpath: New file, from GNU gettext.
65825         * build-aux/install-reloc: New file, from GNU gettext.
65826         * build-aux/reloc-ldflags: New file, from GNU gettext.
65827         * lib/relocatable.h: New file, from GNU gettext.
65828         * lib/relocatable.c: New file, from GNU gettext.
65829         * lib/relocwrapper.c: New file, from GNU gettext.
65830         * m4/relocatable.m4: New file, from GNU gettext.
65831
65832 2007-02-28  Bruno Haible  <bruno@clisp.org>
65833
65834         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
65835
65836         * modules/xreadlink: New file, from GNU gettext with modifications.
65837         * lib/xreadlink.c: New file, from GNU gettext.
65838         * lib/xreadlink.h: Add comments.
65839         (xreadlink): New declaration.
65840
65841         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
65842         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
65843         lib/xreadlink-with-size.c.
65844         (configure.ac): Remove gl_XREADLINK invocation.
65845         (Makefile.am): Augment lib_SOURCES.
65846         * m4/xreadlink.m4: Remove file.
65847         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
65848         (xreadlink_with_size): Renamed from xreadink.
65849         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
65850         * modules/canonicalize (Depends-on): Replace xreadlink with
65851         xreadlink-with-size.
65852         * lib/canonicalize.c (canonicalize_filename_mode): Update.
65853
65854 2007-02-25  Jim Meyering  <jim@meyering.net>
65855
65856         * build-aux/announce-gen: When complaining about excess arguments,
65857         list them.
65858
65859 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65860
65861         * README: Document signed integer overflow situation more
65862         accurately.
65863
65864 2007-02-25  Bruno Haible  <bruno@clisp.org>
65865
65866         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
65867         'a' or 'A' conversion.
65868
65869 2007-02-25  Bruno Haible  <bruno@clisp.org>
65870
65871         * modules/filename: Renamed from modules/pathname.
65872         (Files): Replace lib/pathname.h with lib/filename.h. Replace
65873         lib/concatpath.c with lib/concat-filename.c.
65874         (Makefile.am): Update.
65875         (Include): Replace pathname.h with filename.h.
65876         * lib/filename.h: Renamed from lib/pathname.h.
65877         (concatenated_filename): Renamed from concatenated_pathname.
65878         * lib/concat-filename.c: Renamed from lib/concatpath.c.
65879         (concatenated_filename): Renamed from concatenated_pathname.
65880         * lib/findprog.c: Include filename.h instead of pathname.h.
65881         (find_in_path): Update.
65882         * lib/javacomp.c: Include filename.h instead of pathname.h.
65883         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
65884         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
65885         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
65886         is_oldgcj_14_13_usable, is_javac_usable): Update.
65887         * lib/javaexec.c: Include filename.h instead of pathname.h.
65888         (execute_java_class): Update.
65889         * modules/findprog: Update.
65890         * modules/javacomp: Update.
65891         * modules/javaexec: Update.
65892         * MODULES.html.sh (File system functions): Add 'filename', remove
65893         'pathname'.
65894
65895 2007-02-25  Bruno Haible  <bruno@clisp.org>
65896
65897         * modules/printf-frexpl-tests: New file.
65898         * tests/test-printf-frexpl.c: New file.
65899
65900         * modules/printf-frexpl: New file.
65901         * lib/printf-frexpl.h: New file.
65902         * lib/printf-frexpl.c: New file.
65903         * m4/printf-frexpl.m4: New file.
65904
65905 2007-02-25  Bruno Haible  <bruno@clisp.org>
65906
65907         * modules/printf-frexp-tests: New file.
65908         * tests/test-printf-frexp.c: New file.
65909
65910         * modules/printf-frexp: New file.
65911         * lib/printf-frexp.h: New file.
65912         * lib/printf-frexp.c: New file.
65913         * m4/printf-frexp.m4: New file.
65914
65915 2007-02-25  Bruno Haible  <bruno@clisp.org>
65916
65917         Assume automake >= 1.10 for the tests.
65918         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
65919         * modules/arctwo-tests: Likewise.
65920         * modules/argp-tests: Likewise.
65921         * modules/avltree-list-tests: Likewise.
65922         * modules/avltree-oset-tests: Likewise.
65923         * modules/avltreehash-list-tests: Likewise.
65924         * modules/carray-list-tests: Likewise.
65925         * modules/crc-tests: Likewise.
65926         * modules/des-tests: Likewise.
65927         * modules/gc-arcfour-tests: Likewise.
65928         * modules/gc-arctwo-tests: Likewise.
65929         * modules/gc-des-tests: Likewise.
65930         * modules/gc-hmac-md5-tests: Likewise.
65931         * modules/gc-hmac-sha1-tests: Likewise.
65932         * modules/gc-md2-tests: Likewise.
65933         * modules/gc-md4-tests: Likewise.
65934         * modules/gc-md5-tests: Likewise.
65935         * modules/gc-pbkdf2-sha1-tests: Likewise.
65936         * modules/gc-rijndael-tests: Likewise.
65937         * modules/gc-sha1-tests: Likewise.
65938         * modules/gc-tests: Likewise.
65939         * modules/getaddrinfo-tests: Likewise.
65940         * modules/hmac-md5-tests: Likewise.
65941         * modules/hmac-sha1-tests: Likewise.
65942         * modules/linked-list-tests: Likewise.
65943         * modules/linkedhash-list-tests: Likewise.
65944         * modules/lock-tests: Likewise.
65945         * modules/md2-tests: Likewise.
65946         * modules/md4-tests: Likewise.
65947         * modules/md5-tests: Likewise.
65948         * modules/rbtree-list-tests: Likewise.
65949         * modules/rbtree-oset-tests: Likewise.
65950         * modules/rbtreehash-list-tests: Likewise.
65951         * modules/read-file-tests: Likewise.
65952         * modules/rijndael-tests: Likewise.
65953         * modules/stdint-tests: Likewise.
65954         * modules/tls-tests: Likewise.
65955
65956 2007-02-24  Bruno Haible  <bruno@clisp.org>
65957
65958         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
65959         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
65960         function; instead check whether isnan with a double argument links.
65961         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
65962         function; instead check whether isnan with a 'long double' argument
65963         links.
65964         Reported by Eric Blake <ebb9@byu.net>.
65965
65966 2007-02-24  Bruno Haible  <bruno@clisp.org>
65967
65968         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65969         defined.
65970         * lib/isnanl.c: Remove all code. Just include isnan.c.
65971         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65972
65973 2007-02-25  Jim Meyering  <jim@meyering.net>
65974
65975         Avoid conflicting types for 'unsetenv' on FreeBSD.
65976         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65977         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65978         in stdlib.h.
65979
65980 2007-02-24  Bruno Haible  <bruno@clisp.org>
65981
65982         * modules/isnanl-nolibm-tests: New file.
65983         * tests/test-isnanl.c: New file.
65984
65985         * modules/isnanl-nolibm: New file.
65986         * lib/isnanl.h: New file.
65987         * lib/isnanl.c: New file.
65988         * m4/isnanl.m4: New file.
65989
65990 2007-02-24  Bruno Haible  <bruno@clisp.org>
65991
65992         * modules/isnan-nolibm-tests: New file.
65993         * tests/test-isnan.c: New file.
65994
65995         * modules/isnan-nolibm: New file.
65996         * lib/isnan.h: New file.
65997         * lib/isnan.c: New file.
65998         * m4/isnan.m4: New file.
65999
66000 2007-02-24  Bruno Haible  <bruno@clisp.org>
66001
66002         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66003         assume that an exponent fits in 20 bits.
66004
66005 2007-02-24  Jim Meyering  <jim@meyering.net>
66006
66007         * m4/regex.m4: Update the description of the configure-time option,
66008         --without-included-regex, to state accurately what the defaults are,
66009         and perhaps to give people an idea why using this option is risky.
66010
66011 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66012
66013         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66014         loops on small arguments.  This attempts to avoid the problem
66015         Bruno Haible reported for AIX 4.3.2 in
66016         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66017
66018 2007-02-23  Bruno Haible  <bruno@clisp.org>
66019
66020         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66021         Needed for help2man.
66022
66023 2007-02-23  Karl Berry  <karl@gnu.org>
66024
66025         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66026         exists, foo.h should be cvs-ignored, not committed.
66027
66028 2007-02-23  Eric Blake  <ebb9@byu.net>
66029
66030         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66031         * lib/stat-time.h (includes): Likewise.
66032         * lib/utimecmp.c (includes): Likewise.
66033         * lib/utimens.h (includes): Likewise.
66034         * lib/getdate.y (includes): Also include "timespec.h" for use
66035         internal to the module.
66036         * modules/utimens (Depends-on): Revert yesterday's patch.
66037         * modules/nanosleep (Depends-on): Add missing dependency.
66038
66039 2007-02-22  Bruno Haible  <bruno@clisp.org>
66040
66041         * lib/glob.c: Don't include getlogin_r.h.
66042
66043 2007-02-22  Jim Meyering  <jim@meyering.net>
66044
66045         * modules/utimens (Depends-on): Add timespec, required for
66046         utimens.h's inclusion of timespec.h.
66047
66048 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66049
66050         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66051         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66052         Schwab in
66053         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66054         I'll try to think of a better way to fix the Solaris problem.
66055
66056         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66057         like glibc; on Solaris 10, it fails with errno == EINVAL.
66058         POSIX says the behavior is unspecified if the first argument is NULL,
66059         so play it safe and never pass NULL to the system getcwd.
66060
66061 2007-02-21  Jim Meyering  <jim@meyering.net>
66062
66063         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66064         of gettimeofday.  It would conflict with the one now always
66065         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66066         an IRIX 6.5 build failure.
66067
66068 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66069
66070         Minor fixups to port to Solaris 10 with Sun C 5.8.
66071         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66072         * modules/getcwd (Depends-on): Add dirfd.
66073         * lib/putenv.c (putenv): #undef it.
66074         (rpl_putenv): New decl.
66075         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66076
66077 2007-02-20  Bruno Haible  <bruno@clisp.org>
66078
66079         * modules/stdio-tests: New file.
66080         * tests/test-stdio.c: New file.
66081
66082         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66083         (Depends-on): Add stdio.
66084         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66085         (Include): Use <stdio.h> instead of vsnprintf.h.
66086         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66087         HAVE_DECL_VSNPRINTF.
66088         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66089
66090         * modules/snprintf (Files): Remove lib/snprintf.h.
66091         (Depends-on): Add stdio.
66092         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66093         (Include): Use <stdio.h> instead of snprintf.h.
66094         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66095         HAVE_DECL_SNPRINTF.
66096         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66097         * lib/getaddrinfo.c: Likewise.
66098
66099         * modules/stdio: New file.
66100         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66101         * lib/snprintf.h: Remove file.
66102         * lib/vsnprintf.h: Remove file.
66103         * lib/.cppi-disable: Remove snprintf.h.
66104         * m4/stdio_h.m4: New file.
66105         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66106
66107 2007-02-20  Jim Meyering  <jim@meyering.net>
66108
66109         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66110         used by e.g., mingw.  From Bruno Haible.
66111
66112 2007-02-19  Bruno Haible  <bruno@clisp.org>
66113
66114         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66115         warnings.
66116         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66117
66118 2007-02-19  Bruno Haible  <bruno@clisp.org>
66119
66120         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66121         from mingw users.
66122
66123 2007-02-19  Bruno Haible  <bruno@clisp.org>
66124
66125         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66126         warnings.
66127         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66128
66129 2007-02-19  Jim Meyering  <jim@meyering.net>
66130
66131         Don't use FD after a successful "fdopendir (fd)".
66132         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66133         Reset it by calling dirfd on the just-obtained DIR*.
66134
66135         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66136         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66137
66138 2007-02-18  Bruno Haible  <bruno@clisp.org>
66139
66140         * lib/readlink.c: Include <unistd.h>.
66141         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66142         HAVE_READLINK.
66143         * modules/readlink (Depends-on): Add unistd.
66144         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66145         (Include): Add <unistd.h>.
66146
66147         * lib/getlogin_r.h: Remove file.
66148         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66149         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66150         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66151         HAVE_DECL_GETLOGIN_R.
66152         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66153         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66154         (Include): Use <unistd.h> instead of getlogin_r.h.
66155
66156         * lib/getcwd.h: Remove file.
66157         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66158         * lib/xgetcwd.c: Likewise.
66159         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66160         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66161         * modules/getcwd (Files): Remove lib/getcwd.h.
66162         (Depends-on): Add unistd.
66163         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66164         (Include): Use <unistd.h> instad of getcwd.h.
66165
66166         * lib/ftruncate.c: Include <unistd.h> first.
66167         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66168         Set HAVE_FTRUNCATE.
66169         * modules/ftruncate (Depends-on): Add unistd.
66170         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66171
66172         * lib/fchdir.c: Include <unistd.h> first.
66173         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66174         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66175         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66176         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66177         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66178
66179         * lib/dup2.c: Include <unistd.h> first.
66180         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66181         HAVE_DUP2.
66182         * modules/dup2 (Depends-on): Add unistd.
66183         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66184
66185         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66186         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66187         REPLACE_CHOWN. Don't define chown as a macro here.
66188         * modules/chown (Depends-on): Add unistd.
66189         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66190
66191         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66192         Add definition for GL_LINK_WARNING.
66193         (chown, dup2): New declarations.
66194         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66195         link warning.
66196         (ftruncate): New declaration.
66197         (getcwd): New declaration, taken from old getcwd.h.
66198         (getlogin_r): New declaration, taken from old getlogin_r.h.
66199         (readlink): New declaration.
66200         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66201         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66202         (gl_PREREQ_UNISTD): Remove macro.
66203         (gl_UNISTD_MODULE_INDICATOR): New macro.
66204         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66205         many new variables. Don't set UNISTD_H.
66206         * modules/unistd (Description): Change.
66207         (Depends-on): Add link-warning.
66208         (configure.ac): Update.
66209         (Makefile.am): Create unistd.h always. Substitute many new variables
66210         into it.
66211
66212 2007-02-18  Bruno Haible  <bruno@clisp.org>
66213
66214         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66215         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66216         HAVE_GETSUBOPT.
66217         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66218         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66219         * lib/getsubopt.h: Remove file.
66220         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66221         (Depends-on): Add stdlib.
66222         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66223         (Includes): Use <stdlib.h> instead of getsubopt.h.
66224         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66225         Set HAVE_GETSUBOPT.
66226         * lib/getsubopt.c: Don't include getsubopt.h.
66227
66228 2007-02-18  Bruno Haible  <bruno@clisp.org>
66229
66230         * modules/fchdir (Depends-on): Add dup2.
66231
66232 2007-02-18  Bruno Haible  <bruno@clisp.org>
66233
66234         * lib/stdlib_.h: Handle glibc's special invocation convention
66235         specially.
66236
66237 2007-02-18  Bruno Haible  <bruno@clisp.org>
66238
66239         * modules/stdlib-tests: New file.
66240         * tests/test-stdlib.c: New file.
66241
66242         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66243         (Depends-on): Add stdlib.
66244         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66245         (Includes): Use <stdlib.h> instead of mkstemp.h.
66246         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66247         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66248         * lib/mkstemp.c: Don't include mkstemp.h.
66249         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66250         * lib/stdlib--.h: Don't include mkstemp.h.
66251
66252         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66253         (Depends-on): Add stdlib.
66254         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66255         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66256         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66257         HAVE_MKDTEMP.
66258         * lib/mkdtemp.c: Don't include mkdtemp.h.
66259         * lib/clean-temp.c: Don't include mkdtemp.h.
66260
66261         * modules/exit (Files): Remove lib/exit.h.
66262         (Depends-on): Add stdlib.
66263         (Makefile.am): Remove lib_SOURCES.
66264         (Include): Use <stdlib.h> instead of exit.h.
66265         * lib/argmatch.c: Don't include exit.h.
66266         * lib/execute.c: Likewise.
66267         * lib/pagealign_alloc.c: Likewise.
66268         * lib/pipe.c: Likewise.
66269         * lib/wait-process.c: Likewise.
66270         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66271         * lib/exitfail.c: Likewise.
66272         * lib/savewd.c: Likewise.
66273         * lib/xsetenv.c: Likewise.
66274
66275         * modules/stdlib: New file.
66276         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66277         and extra comments about mkstemp().
66278         * lib/exit.h: Remove file.
66279         * lib/mkdtemp.h: Remove file.
66280         * lib/mkstemp.h: Remove file.
66281         * m4/stdlib_h.m4: New file.
66282         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66283
66284 2007-02-18  Bruno Haible  <bruno@clisp.org>
66285
66286         * modules/math-tests: New file.
66287         * tests/test-math.c: New file.
66288
66289         * modules/math: New file.
66290         * modules/mathl (Files): Remove lib/mathl.h.
66291         (Depends-on): Add math.
66292         (Makefile.am): Don't mention mathl.h.
66293         (Include): Use <math.h> instead of mathl.h.
66294         * lib/math_.h: New file.
66295         * lib/mathl.h: Remove file.
66296         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66297         mathl.h.
66298         * lib/asinl.c: Likewise.
66299         * lib/atanl.c: Likewise.
66300         * lib/ceill.c: Likewise.
66301         * lib/cosl.c: Likewise.
66302         * lib/expl.c: Likewise.
66303         * lib/floorl.c: Likewise.
66304         * lib/frexpl.c: Likewise.
66305         * lib/ldexpl.c: Likewise.
66306         * lib/logl.c: Likewise.
66307         * lib/sincosl.c: Likewise.
66308         * lib/sinl.c: Likewise.
66309         * lib/sqrtl.c: Likewise.
66310         * lib/tanl.c: Likewise.
66311         * lib/trigl.c: Likewise.
66312         * m4/math_h.m4: New file.
66313         * MODULES.html.sh (Mathematics): Add math.
66314
66315 2007-02-17  Bruno Haible  <bruno@clisp.org>
66316
66317         * modules/wctype-tests: New file.
66318         * tests/test-wctype.c: New file.
66319
66320         * modules/wchar-tests: New file.
66321         * tests/test-wchar.c: New file.
66322
66323         * modules/unistd-tests: New file.
66324         * tests/test-unistd.c: New file.
66325
66326         * modules/time-tests: New file.
66327         * tests/test-time.c: New file.
66328
66329         * modules/sysexits-tests: New file.
66330         * tests/test-sysexits.c: New file.
66331
66332         * modules/sys_time-tests: New file.
66333         * tests/test-sys_time.c: New file.
66334
66335         * modules/sys_stat-tests: New file.
66336         * tests/test-sys_stat.c: New file.
66337
66338         * modules/sys_socket-tests: New file.
66339         * tests/test-sys_socket.c: New file.
66340
66341         * modules/sys_select-tests: New file.
66342         * tests/test-sys_select.c: New file.
66343
66344         * modules/string-tests: New file.
66345         * tests/test-string.c: New file.
66346
66347         * modules/stdbool-tests: New file.
66348         * tests/test-stdbool.c: New file.
66349
66350         * modules/netinet_in-tests: New file.
66351         * tests/test-netinet_in.c: New file.
66352
66353         * modules/inttypes-tests: New file.
66354         * tests/test-inttypes.c: New file.
66355
66356         * modules/fcntl-tests: New file.
66357         * tests/test-fcntl.c: New file.
66358
66359         * modules/byteswap-tests: New file.
66360         * tests/test-byteswap.c: New file.
66361
66362         * modules/arpa_inet-tests: New file.
66363         * tests/test-arpa_inet.c: New file.
66364
66365 2007-02-17  Bruno Haible  <bruno@clisp.org>
66366
66367         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
66368         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
66369         if the corresponding module is not enabled. Emit link warnings if
66370         the function is used nevertheless.
66371         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
66372         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
66373         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
66374         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
66375         * modules/inttypes (Depends-on): Add link-warning.
66376         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66377         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
66378         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
66379         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
66380         * modules/imaxdiv (configure.ac): Likewise.
66381         * modules/strtoimax (configure.ac): Likewise.
66382         * modules/strtoumax (configure.ac): Likewise.
66383
66384 2007-02-17  Bruno Haible  <bruno@clisp.org>
66385
66386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
66387         gl_STRING_MODULE_INDICATOR_DEFAULTS.
66388         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
66389         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
66390
66391 2007-02-17  Bruno Haible  <bruno@clisp.org>
66392
66393         * modules/link-warning: New file.
66394         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
66395         * lib/string_.h (GL_LINK_WARNING): Remove definition.
66396         * modules/string (Depends-on): Add link-warning.
66397         (Makefile.am): Copy the contents of build-aux/link-warning.h into
66398         string.h.
66399         * MODULES.html.sh (Support for building libraries and executables): Add
66400         link-warning.
66401
66402 2007-02-17  Bruno Haible  <bruno@clisp.org>
66403
66404         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
66405         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
66406         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
66407         long lines.
66408
66409 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
66410             Bruno Haible  <bruno@clisp.org>
66411
66412         * modules/tmpfile: New file.
66413         * lib/tmpfile.c: New file.
66414         * m4/tmpfile.m4: New file.
66415         * MODULES.html.sh (func_all_modules): New section "Input/output".
66416
66417 2007-02-15  Bruno Haible  <bruno@clisp.org>
66418
66419         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
66420         (supports_delete_on_close): New function.
66421         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
66422
66423 2007-02-14  Bruno Haible  <bruno@clisp.org>
66424
66425         * modules/mbspcasecmp-tests: New file.
66426         * tests/test-mbspcasecmp.sh: New file.
66427         * tests/test-mbspcasecmp.c: New file.
66428
66429         New module mbspcasecmp.
66430         * modules/mbspcasecmp: New file.
66431         * lib/mbspcasecmp.c: New file.
66432         * lib/string_.h (strncasecmp): Change warning message.
66433         (mbspcasecmp): New declaration.
66434         * m4/mbspcasecmp.m4: New file.
66435         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66436         GNULIB_MBSPCASECMP.
66437         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
66438         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
66439
66440 2007-02-14  Bruno Haible  <bruno@clisp.org>
66441
66442         * modules/mbsncasecmp-tests: New file.
66443         * tests/test-mbsncasecmp.sh: New file.
66444         * tests/test-mbsncasecmp.c: New file.
66445
66446         New module mbsncasecmp.
66447         * modules/mbsncasecmp: New file.
66448         * lib/mbsncasecmp.c: New file.
66449         * lib/string_.h (mbsncasecmp): New declaration.
66450         * m4/mbsncasecmp.m4: New file.
66451         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66452         GNULIB_MBSNCASECMP.
66453         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
66454         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
66455
66456 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66457
66458         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
66459         Verify that it doesn't overlap with our flags.
66460         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
66461         do not have the desired effect in multibyte locales; instead, use
66462         mbscasecmp.
66463         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
66464         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
66465         we don't require GNU fnmatch ourselves (if our users require it, they
66466         should do so explicitly).
66467
66468         Fix regex code so it doesn't rely on strcasecmp.
66469         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
66470         Otherwise, include gnulib's langinfo.h.
66471         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
66472         undesirable behavior in non-C locales.  Instead, rely on localecharset.
66473         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
66474         * modules/regex (FILES): Remove m4/codeset.m4.
66475         (Depends-on): Add localcharset.  Remove strcase.
66476
66477 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66478
66479         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
66480         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
66481
66482 2007-02-13  Bruno Haible  <bruno@clisp.org>
66483
66484         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
66485         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66486
66487 2007-02-12  Bruno Haible  <bruno@clisp.org>
66488
66489         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66490         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
66491         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
66492         time warning rather than a link error.
66493
66494 2007-02-12  Bruno Haible  <bruno@clisp.org>
66495
66496         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
66497         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
66498         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66499
66500 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
66503         args, not 2.
66504
66505 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
66506
66507         New module 'time', so that apps can include <time.h> as per
66508         POSIX and GNU instead of separate include files like time_r.h
66509         and timegm.h.  This implementation tries out a simpler approach
66510         for replacing decls in standard include files (as compared to
66511         the string module), somewhat as an experiment.
66512
66513         * config/srclist.txt: Comment out mktime.c for now.
66514         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
66515         since it doesn't apply any more.  Use generic wording instead.
66516         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
66517         'time'.
66518         * lib/time_.h, m4/time_h.m4, modules/time: New files.
66519         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
66520         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
66521         Don't include <sys/types.h>; no longer needed since we assume C89.
66522         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
66523         * lib/strftime.c: Likewise.
66524         * lib/time_r.c: Likewise.
66525         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
66526         * lib/nanosleep.c: Include <time.h> first, to check interface.
66527         * lib/strptime.c: Likewise.
66528         * lib/time_r.c: Likewise.
66529         * lib/timegm.c: Likewise.
66530         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
66531         needed.
66532         * lib/timegm.c: Don't include timegm.h; no longer needed.
66533         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
66534         time.h now handles any problems in that area.
66535         (struct timespec, nanosleep): Remove; time.h now arranges for these.
66536         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
66537         that time.h defines struct timespec.
66538         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
66539         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
66540         handles that.
66541         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
66542         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
66543         needed.  Set REPLACE_LOCALTIME.
66544         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
66545         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
66546         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
66547         nanosleep; time_h.m4 now does that.  Don't require
66548         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
66549         module handles this now.
66550         * modules/getdate (Depends-on): Remove timespec.  Add time.
66551         * modules/nanosleep (Depends-on): Likewise.
66552         * modules/stat-time (Depends-on): Likewise.
66553         * modules/nanosleep (Include): Include time.h, not timespec.h.
66554         * modules/strptime (Files): Remove lib/strptime.h.
66555         (Depends-on): Add extensions, time.
66556         (Include): Include time.h, not strptime.h.
66557         * modules/time_r (Files): Remove lib/time_r.h.
66558         (Depends-on): Add time.
66559         (Include): Include time.h, not time_r.h.
66560         * modules/timegm: Likewise.
66561         * modules/timespec (Description): Now does timespec-related decls
66562         of our own, instead of struct timespec itself.
66563         (Depends-on): Add time; remove extensions.
66564         (Maintainer): Add self.
66565         * modules/utimecmp (Depends-on): Add time; remove timespec.
66566         * modules/utimens (Depends-on): Likewise.
66567         * modules/xnanosleep (Depends-on): Likewise.
66568
66569 2007-02-11  Bruno Haible  <bruno@clisp.org>
66570
66571         * lib/c-strstr.c: Include allocsa.h.
66572         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66573         * lib/c-strcasestr.c: Include allocsa.h.
66574         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66575         * lib/strcasestr.c: Include allocsa.h.
66576         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
66577         * lib/mbsstr.c: Include allocsa.h.
66578         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66579         allocsa/freesa instead of malloc/free.
66580         * lib/mbscasestr.c: Include allocsa.h.
66581         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
66582         allocsa/freesa instead of malloc/free.
66583         * modules/c-strstr (Depends-on): Add allocsa.
66584         * modules/c-strcasestr (Depends-on): Likewise.
66585         * modules/strcasestr (Depends-on): Likewise.
66586         * modules/mbsstr (Depends-on): Likewise.
66587         * modules/mbscasestr (Depends-on): Likewise.
66588
66589 2007-02-11  Bruno Haible  <bruno@clisp.org>
66590
66591         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
66592
66593         * modules/mbsspn-tests: New file.
66594         * tests/test-mbsspn.sh: New file.
66595         * tests/test-mbsspn.c: New file.
66596
66597 2007-02-11  Bruno Haible  <bruno@clisp.org>
66598
66599         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
66600
66601         * modules/mbspbrk-tests: New file.
66602         * tests/test-mbspbrk.sh: New file.
66603         * tests/test-mbspbrk.c: New file.
66604
66605 2007-02-11  Bruno Haible  <bruno@clisp.org>
66606
66607         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
66608         unneeded cast.
66609
66610         * modules/mbscspn-tests: New file.
66611         * tests/test-mbscspn.sh: New file.
66612         * tests/test-mbscspn.c: New file.
66613
66614 2007-02-11  Bruno Haible  <bruno@clisp.org>
66615
66616         * modules/mbscasecmp-tests: New file.
66617         * tests/test-mbscasecmp.sh: New file.
66618         * tests/test-mbscasecmp.c: New file.
66619
66620 2007-02-11  Bruno Haible  <bruno@clisp.org>
66621
66622         Ensure O(n) worst-case complexity of mbscasestr.
66623         * lib/mbscasestr.c: Include stdbool.h.
66624         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66625         functions.
66626         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
66627         the bookkeeping indicates that it's worth it.
66628         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
66629
66630         * modules/mbscasestr-tests: New file.
66631         * tests/test-mbscasestr1.c: New file.
66632         * tests/test-mbscasestr2.sh: New file.
66633         * tests/test-mbscasestr2.c: New file.
66634         * tests/test-mbscasestr3.sh: New file.
66635         * tests/test-mbscasestr3.c: New file.
66636         * tests/test-mbscasestr4.sh: New file.
66637         * tests/test-mbscasestr4.c: New file.
66638         * m4/locale-tr.m4: New file.
66639
66640 2007-02-11  Bruno Haible  <bruno@clisp.org>
66641
66642         Ensure O(n) worst-case complexity of mbsstr.
66643         * lib/mbsstr.c: Include stdbool.h.
66644         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
66645         functions.
66646         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
66647         bookkeeping indicates that it's worth it.
66648         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
66649
66650         * modules/mbsstr-tests: New file.
66651         * tests/test-mbsstr1.c: New file.
66652         * tests/test-mbsstr2.sh: New file.
66653         * tests/test-mbsstr2.c: New file.
66654         * tests/test-mbsstr3.sh: New file.
66655         * tests/test-mbsstr3.c: New file.
66656         * m4/locale-fr.m4: New file.
66657
66658 2007-02-11  Bruno Haible  <bruno@clisp.org>
66659
66660         * lib/mbsrchr.c (mbsrchr): Fix bug.
66661
66662         * modules/mbsrchr-tests: New file.
66663         * tests/test-mbsrchr.sh: New file.
66664         * tests/test-mbsrchr.c: New file.
66665
66666 2007-02-11  Bruno Haible  <bruno@clisp.org>
66667
66668         * lib/mbschr.c (mbschr): Fix bug.
66669
66670         * modules/mbschr-tests: New file.
66671         * tests/test-mbschr.sh: New file.
66672         * tests/test-mbschr.c: New file.
66673         * m4/locale-zh.m4: New file.
66674
66675 2007-02-11  Bruno Haible  <bruno@clisp.org>
66676
66677         Support for copying multibyte string iterators.
66678         * lib/mbiter.h: Include <string.h>.
66679         (mbiter_multi_copy): New function.
66680         (mbi_copy): New macro.
66681         * lib/mbuiter.h: Include <string.h>.
66682         (mbuiter_multi_copy): New function.
66683         (mbui_copy): New macro.
66684
66685 2007-02-11  Bruno Haible  <bruno@clisp.org>
66686
66687         New module mbslen.
66688         * modules/mbslen: New file.
66689         * lib/mbslen.c: New file.
66690         * lib/string_.h (mbslen): New declaration.
66691         * m4/mbslen.m4: New file.
66692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66693         GNULIB_MBSLEN.
66694         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
66695         * MODULES.html.sh (Internationalization functions): Add mbslen.
66696
66697 2007-02-11  Bruno Haible  <bruno@clisp.org>
66698
66699         Ensure O(n) worst-case complexity of strcasestr substitute.
66700         * lib/strcasestr.c: Include stdbool.h.
66701         (knuth_morris_pratt): New function.
66702         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66703         bookkeeping indicates that it's worth it.
66704         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
66705
66706         * modules/strcasestr-tests: New file.
66707         * tests/test-strcasestr.c: New file.
66708
66709 2007-02-11  Bruno Haible  <bruno@clisp.org>
66710
66711         Ensure O(n) worst-case complexity of c_strcasestr.
66712         * lib/c-strcasestr.c: Include stdbool.h, string.h.
66713         (knuth_morris_pratt): New function.
66714         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
66715         the bookkeeping indicates that it's worth it.
66716         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
66717
66718         * modules/c-strcasestr-tests: New file.
66719         * tests/test-c-strcasestr.c: New file.
66720
66721 2007-02-11  Bruno Haible  <bruno@clisp.org>
66722
66723         Ensure O(n) worst-case complexity of c_strstr.
66724         * lib/c-strstr.c: Include stdbool.h, string.h.
66725         (knuth_morris_pratt): New function.
66726         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
66727         bookkeeping indicates that it's worth it.
66728         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
66729
66730         * lib/c-strstr.c: Complete rewrite for maintainability.
66731
66732         * modules/c-strstr-tests: New file.
66733         * tests/test-c-strstr.c: New file.
66734
66735 2007-02-11  Bruno Haible  <bruno@clisp.org>
66736
66737         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
66738         5.2.1 and earlier, whereby \055 was treated just like the range
66739         delimiter '-'.
66740         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66741
66742 2007-02-08  Bruno Haible  <bruno@clisp.org>
66743
66744         * modules/regex (Depends-on): Add stdbool.
66745         Reported by Dalibor Topic <robilad@kaffe.org>.
66746
66747 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66748
66749         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
66750         Prefer returning from main to exiting from it.
66751         Remove unnecessary parens after sizeof.
66752
66753 2007-02-05  Bruno Haible  <bruno@clisp.org>
66754
66755         New module mbssep.
66756         * modules/mbssep: New file.
66757         * lib/mbssep.c: New file.
66758         * lib/string_.h (strsep): Add a conditional link warning.
66759         (mbssep): New declaration.
66760         * m4/mbssep.m4: New file.
66761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66762         GNULIB_MBSSEP.
66763         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
66764         * MODULES.html.sh (Internationalization functions): Add mbssep.
66765
66766 2007-02-05  Bruno Haible  <bruno@clisp.org>
66767
66768         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
66769         Optimize search in case of 1 delimiter.
66770
66771 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66772
66773         * lib/acl.h: Include sys/types.h before sys/acl.h.
66774
66775 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
66776
66777         Merge upstream fix for glibc bugzilla #3957:
66778
66779         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
66780
66781         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
66782         bit for RE_HAT_LISTS_NOT_NEWLINE.
66783         (build_charclass_op): Remove bogus comment.
66784
66785 2007-02-05  Simon Josefsson  <simon@josefsson.org>
66786
66787         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
66788
66789 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66790
66791         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
66792         * lib/memmem.c [!defined _LIBC]: Include config.h.
66793
66794 2007-02-04  Bruno Haible  <bruno@clisp.org>
66795
66796         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
66797         warning message.
66798
66799 2007-02-04  Bruno Haible  <bruno@clisp.org>
66800
66801         New module mbstok_r.
66802         * modules/mbstok_r: New file.
66803         * lib/mbstok_r.c: New file.
66804         * lib/string_.h (strtok_r): Change argument names to match the
66805         comments. Add a conditional link warning.
66806         (mbstok_r): New declaration.
66807         * m4/mbstok_r.m4: New file.
66808         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66809         GNULIB_MBSTOK_R.
66810         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
66811         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
66812
66813 2007-02-04  Bruno Haible  <bruno@clisp.org>
66814
66815         New module mbsspn.
66816         * modules/mbsspn: New file.
66817         * lib/mbsspn.c: New file.
66818         * lib/string_.h (strspn): Add a conditional link warning.
66819         (mbsspn): New declaration.
66820         * m4/mbsspn.m4: New file.
66821         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66822         GNULIB_MBSSPN.
66823         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
66824         * MODULES.html.sh (Internationalization functions): Add mbsspn.
66825
66826 2007-02-04  Bruno Haible  <bruno@clisp.org>
66827
66828         New module mbspbrk.
66829         * modules/mbspbrk: New file.
66830         * lib/mbspbrk.c: New file.
66831         * lib/string_.h (strpbrk): Add a conditional link warning.
66832         (mbspbrk): New declaration.
66833         * m4/mbspbrk.m4: New file.
66834         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66835         GNULIB_MBSPBRK.
66836         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
66837         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
66838
66839 2007-02-04  Bruno Haible  <bruno@clisp.org>
66840
66841         New module mbscspn.
66842         * modules/mbscspn: New file.
66843         * lib/mbscspn.c: New file.
66844         * lib/string_.h (strcspn): Add a conditional link warning.
66845         (mbscspn): New declaration.
66846         * m4/mbscspn.m4: New file.
66847         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66848         GNULIB_MBSCSPN.
66849         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
66850         * MODULES.html.sh (Internationalization functions): Add mbscspn.
66851
66852 2007-02-04  Bruno Haible  <bruno@clisp.org>
66853
66854         New module mbscasestr, reduced goal of strcasestr.
66855         * modules/mbscasestr: New file.
66856         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
66857         (mbscasestr): Renamed from strcasestr.
66858         * lib/strcasestr.c: Don't include mbuiter.h.
66859         (strcasestr): Remove support for multibyte locales.
66860         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
66861         Change the conditional link warning.
66862         (mbscasestr): New declaration.
66863         * m4/mbscasestr.m4: New file.
66864         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
66865         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
66866         REPLACE_STRCASESTR.
66867         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
66868         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66869         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66870         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
66871         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
66872         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
66873         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
66874         (Depends-on): Remove mbuiter.
66875         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
66876
66877 2007-02-04  Bruno Haible  <bruno@clisp.org>
66878
66879         Simplify handling of strncasecmp.
66880         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
66881         the conditional link warning.
66882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
66883         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
66884         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
66885         * modules/strcase (configure.ac): Don't invoke
66886         gl_STRING_MODULE_INDICATOR.
66887         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
66888
66889 2007-02-04  Bruno Haible  <bruno@clisp.org>
66890
66891         New module mbscasecmp, reduced goal of strcasecmp.
66892         * modules/mbscasecmp: New file.
66893         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
66894         (mbscasecmp): Renamed from strcasecmp.
66895         * lib/strcasecmp.c: Don't include mbuiter.h.
66896         (strcasecmp): Remove support for multibyte locales.
66897         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
66898         Change the conditional link warning.
66899         (mbscasecmp): New declaration.
66900         * m4/mbscasecmp.m4: New file.
66901         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
66902         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
66903         REPLACE_STRCASECMP.
66904         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
66905         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66906         GNULIB_MBSCASECMP.
66907         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
66908         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
66909         * modules/strcase (Files): Remove m4/mbrtowc.m4.
66910         (Depends-on): Remove mbuiter.
66911         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
66912
66913 2007-02-04  Bruno Haible  <bruno@clisp.org>
66914
66915         New module mbsstr. Remove module strstr.
66916         * modules/mbsstr: New file.
66917         * modules/strstr: Remove file.
66918         * lib/mbsstr.c: Renamed from lib/strstr.c.
66919         (mbsstr): Renamed from strstr.
66920         * lib/string_.h (strstr): Remove declaration. Change the conditional
66921         link warning.
66922         (mbsstr): New declaration.
66923         * m4/mbsstr.m4: New file.
66924         * m4/strstr.m4: Remove file.
66925         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
66926         REPLACE_STRSTR.
66927         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
66928         Don't initialize GNULIB_STRSTR.
66929         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
66930         substitute GNULIB_STRSTR and REPLACE_STRSTR.
66931         * MODULES.html.sh (Internationalization functions): Add mbsstr.
66932         (Support for systems lacking ANSI C 89): Remove strstr.
66933
66934 2007-02-04  Bruno Haible  <bruno@clisp.org>
66935
66936         New module mbsrchr.
66937         * modules/mbsrchr: New file.
66938         * lib/mbsrchr.c: New file.
66939         * lib/string_.h (strrchr): Add a conditional link warning.
66940         (mbsrchr): New declaration.
66941         * m4/mbsrchr.m4: New file.
66942         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66943         GNULIB_MBSRCHR.
66944         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
66945         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
66946
66947 2007-02-04  Bruno Haible  <bruno@clisp.org>
66948
66949         New module mbschr.
66950         * modules/mbschr: New file.
66951         * lib/mbschr.c: New file.
66952         * lib/string_.h (strchr): Add a conditional link warning.
66953         (mbschr): New declaration.
66954         * m4/mbschr.m4: New file.
66955         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
66956         GNULIB_MBSCHR.
66957         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
66958         * MODULES.html.sh (Internationalization functions): Add mbschr.
66959
66960 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
66961
66962         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
66963
66964         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66965
66966 2007-02-04  Bruno Haible  <bruno@clisp.org>
66967
66968         New module description section 'configure.ac-early'.
66969         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66970         (func_get_autoconf_early_snippet): New function.
66971         (func_import, func_create_testdir): Use it. Remove special cases for
66972         modules 'extensions' and 'lock'.
66973         * modules/extensions (configure.ac-early): Require
66974         gl_USE_SYSTEM_EXTENSIONS.
66975         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66976
66977 2007-02-04  Bruno Haible  <bruno@clisp.org>
66978
66979         Make use of gcj-4.3's -fsource and -ftarget option.
66980         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66981         and if so try the options -fsource and -ftarget.
66982         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66983         source_version, ftarget_option, target_version arguments.
66984         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66985         (is_envjavac_oldgcj_14_14_usable): Renamed from
66986         is_envjavac_gcj_14_14_usable.
66987         (is_envjavac_oldgcj_14_13_usable): Renamed from
66988         is_envjavac_gcj_14_13_usable.
66989         (is_gcj_present): Update.
66990         (is_gcj_43, is_gcj43_usable): New functions.
66991         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66992         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66993         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66994         try the options -fsource and -ftarget.
66995
66996 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66997
66998         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66999         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67000         larger value.
67001
67002 2007-02-03  Jim Meyering  <jim@meyering.net>
67003
67004         Give tools a better chance to allocate space for very large buffers.
67005         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67006
67007         Make pwd and readlink work also when run with an unreadable parent dir
67008         on systems with openat support.
67009         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67010         provided getcwd function, even when we have openat support.
67011         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67012
67013 2007-02-02  Bruno Haible  <bruno@clisp.org>
67014
67015         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67016         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67017         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67018         portability problems if one of these functions is only used on specific
67019         platforms.
67020         Reported by Paul Eggert.
67021
67022 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67023
67024         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67025         is causing more trouble than it's curing.
67026         * lib/regex_internal.h (__mempcpy): Remove.
67027         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67028         (and make the code a tad smaller to boot).
67029         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67030
67031 2007-02-02  Jim Meyering  <jim@meyering.net>
67032
67033         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67034         section, not in the Makefile.am: one.
67035
67036 2007-02-02  Eric Blake  <ebb9@byu.net>
67037
67038         * lib/strchrnul.c: Always include config.h first.
67039
67040         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67041         gnulib strstr is not necessary here.
67042
67043 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67044
67045         * m4/socklen.m4: Fix typo.
67046
67047 2007-02-02  Eric Blake  <ebb9@byu.net>
67048
67049         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67050         * modules/netinet_in (Makefile.am): Likewise.
67051
67052 2007-02-01  Bruno Haible  <bruno@clisp.org>
67053
67054         * lib/string_.h (GL_LINK_WARNING): New macro.
67055         (strcasecmp, strstr, strcasestr): If provided by the system,
67056         conditionally define as a macro that leads to a warning instead of to
67057         an error.
67058         (strncasecmp): Conditionally define as a macro that leads to a warning.
67059
67060 2007-02-01  Karl Berry  <karl@gnu.org>
67061
67062         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67063
67064 2007-02-01  Bruno Haible  <bruno@clisp.org>
67065
67066         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67067         renamings.
67068
67069 2007-02-01  Eric Blake  <ebb9@byu.net>
67070
67071         * modules/regex (Depends-on): Revert dependence on mempcpy.
67072         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67073         module's definition of mempcpy.
67074         Reported by Paul Eggert.
67075
67076 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67077
67078         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67079         the symbol XYZ before redefining it.  This fixes a problem with
67080         programs that don't use XYZ, when compiled on systems that define
67081         XYZ to something else.
67082
67083 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67084
67085         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67086         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67087         writeable to group or other and (2) is intended to have a special
67088         mode bit that is set or cleared.  In such a case, the directory
67089         should be neither group- nor other-writeable until the special
67090         mode bits are right.
67091
67092 2007-01-31  Eric Blake  <ebb9@byu.net>
67093
67094         * modules/mountlist (Depends-on): Add strstr.
67095
67096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67097         bug.
67098         * modules/string (Makefile.am): Remove redundant replacement.
67099         * modules/regex (Depends-on): Add mempcpy.
67100
67101 2007-01-31  Bruno Haible  <bruno@clisp.org>
67102
67103         New module description field 'Link'.
67104         * gnulib-tool (func_usage): Document --extract-link-directive.
67105         (sed_extract_prog): Recognize 'Link' directive.
67106         (func_get_link_directive): New function.
67107         (func_import): Show summary of link directives.
67108         Handle --extract-link-directive option.
67109         * modules/acl (Link): New section.
67110         * modules/clock-time (Link): New section.
67111         * modules/euidaccess (Link): New section.
67112         * modules/gettext (Link): New section.
67113         * modules/iconv (Link): New section.
67114         * modules/lock (Link): New section.
67115         * modules/nanosleep (Link): New section.
67116         * modules/readline (Link): New section.
67117
67118 2007-01-27  Bruno Haible  <bruno@clisp.org>
67119
67120         Enforce the use of gnulib modules for unportable <string.h> functions.
67121         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67122         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67123         (gl_HEADER_STRING_H_BODY): Require it.
67124         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67125         the symbol XYZ to one that gives a link error.
67126         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67127         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67128         * modules/mempcpy (configure.ac): Likewise.
67129         * modules/memrchr (configure.ac): Likewise.
67130         * modules/stpcpy (configure.ac): Likewise.
67131         * modules/stpncpy (configure.ac): Likewise.
67132         * modules/strcase (configure.ac): Likewise.
67133         * modules/strcasestr (configure.ac): Likewise.
67134         * modules/strchrnul (configure.ac): Likewise.
67135         * modules/strdup (configure.ac): Likewise.
67136         * modules/strndup (configure.ac): Likewise.
67137         * modules/strnlen (configure.ac): Likewise.
67138         * modules/strpbrk (configure.ac): Likewise.
67139         * modules/strsep (configure.ac): Likewise.
67140         * modules/strstr (configure.ac): Likewise.
67141         * modules/strtok_r (configure.ac): Likewise.
67142
67143 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67144
67145         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67146
67147 2007-01-30  Jim Meyering  <jim@meyering.net>
67148
67149         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67150
67151 2007-01-29  Bruno Haible  <bruno@clisp.org>
67152
67153         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67154         * lib/execute.c: Likewise.
67155         * lib/pipe.c: Likewise.
67156         * lib/printf-args.h: Likewise.
67157         * lib/printf-args.c: Likewise.
67158         * lib/printf-parse.c: Likewise.
67159         * lib/vasnprintf.c: Likewise.
67160
67161 2007-01-29  Eric Blake  <ebb9@byu.net>
67162
67163         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67164         declaration.
67165
67166 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67167
67168         * lib/strptime.h (strptime): Use 'restrict' for args where
67169         POSIX requires this.
67170         * lib/strptime.c (strptime): Likewise.
67171         Change license notice from LGPL to GPL, since gnulib-tool will
67172         change this as needed.
67173         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67174         defined.
67175         Include "strptime.h" first, to check interface.
67176         Do not #undef _LIBC and _NL_CURRENT.
67177         Do not include <stdlib.h>; no longer needed.
67178         Include "time_r.h" and declare ptime_locale_status
67179         only if _LIBC is not defined.
67180         (__P): Remove unused macro.
67181         (match_string): Bring back glibc version, but use it only if _LIBC
67182         is defined.
67183         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67184         Remove unnecessary assertion and abort() call.
67185         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67186         * m4/strptime.m4: Fix serial number comment.
67187         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67188         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67189         (Depends-on): Add time_r.
67190
67191 2007-01-29  Bruno Haible  <bruno@clisp.org>
67192
67193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67194         strptime.
67195         * modules/strptime (Depends-on): Add stdbool.
67196         * lib/strptime.h: Include <time.h> always. Add comments.
67197
67198 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67199
67200         * modules/strptime: New file.
67201         * lib/strptime.h: New file.
67202         * lib/strptime.c: New file.
67203         * m4/strptime.m4: New file.
67204
67205 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67206
67207         * MODULES.html.sh: New module mpsort.
67208         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67209
67210         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67211         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67212         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67213         All uses changed.
67214         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67215         All uses changed.
67216         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67217         to _Restrict_.
67218         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67219         the parameter matches the prototype.
67220
67221 2007-01-28  Jim Meyering  <jim@meyering.net>
67222
67223         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67224         sys/time.h here, reverting that part of the previous patch:
67225         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67226
67227 2007-01-28  Bruno Haible  <bruno@clisp.org>
67228
67229         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67230         value of $(SYS_TIME_H).
67231         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67232         remove it conditionally, too. [added by Jim Meyering]
67233         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67234         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67235         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67236         GETTIMEOFDAY_REPLACEMENT to 1.
67237
67238 2007-01-28  Bruno Haible  <bruno@clisp.org>
67239
67240         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67241         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67242         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67243         Set UNISTD_H instead of UNISTD_H2.
67244         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67245
67246 2007-01-28  Bruno Haible  <bruno@clisp.org>
67247
67248         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67249         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67250
67251 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67252
67253         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67254         (func_create_testdir): Ensure C locale for `grep' and `tr'
67255         character ranges.
67256         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67257         ACLOCAL_AMFLAGS parsing state machine.
67258
67259 2007-01-27  Bruno Haible  <bruno@clisp.org>
67260
67261         * modules/unistr/base: Update.
67262
67263 2007-01-27  Bruno Haible  <bruno@clisp.org>
67264
67265         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67266         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67267         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67268         modules/unistr/u32-mbtouc.
67269         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67270         * lib/unistr.h: Update.
67271         * lib/linebreak.c: Update.
67272         * modules/unistr/u32-mbtouc: Renamed from
67273         modules/unistr/u32-mbtouc-safe.
67274         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67275         * lib/unistr.h: Update.
67276         * lib/unistr/u32-to-u8.c: Update.
67277         * lib/unistr/u32-to-u16.c: Update.
67278
67279 2007-01-27  Bruno Haible  <bruno@clisp.org>
67280
67281         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67282         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67283         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67284         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67285         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67286         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67287         modules/unistr/u16-mbtouc.
67288         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67289         * lib/unistr.h: Update.
67290         * lib/linebreak.c: Update.
67291         * modules/linebreak: Update.
67292         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67293         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67294         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67295         * modules/unistr/u16-mbtouc: Renamed from
67296         modules/unistr/u16-mbtouc-safe.
67297         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67298         * lib/unistr.h: Update.
67299         * lib/unistr/u16-to-u8.c: Update.
67300         * modules/unistr/u16-to-u8: Update.
67301         * lib/unistr/u16-to-u32.c: Update.
67302         * modules/unistr/u16-to-u32: Update.
67303
67304 2007-01-27  Bruno Haible  <bruno@clisp.org>
67305
67306         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67307         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67308         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67309         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67310         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67311         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67312         modules/unistr/u8-mbtouc.
67313         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67314         * lib/unistr.h: Update.
67315         * lib/striconveh.c: Update.
67316         * modules/striconveh: Update.
67317         * lib/linebreak.c: Update.
67318         * modules/linebreak: Update.
67319         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67320         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67321         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67322         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67323         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67324         * lib/unistr.h: Update.
67325         * lib/striconveh.c: Update.
67326         * modules/striconveh: Update.
67327         * lib/unistr/u8-to-u16.c: Update.
67328         * modules/unistr/u8-to-u16: Update.
67329         * lib/unistr/u8-to-u32.c: Update.
67330         * modules/unistr/u8-to-u32: Update.
67331
67332 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67333
67334         Sync from Libtool.
67335         * lib/argz.c: Do not include strings.h nor memory.h, include
67336         string.h unconditionally.  Patch by Simon Josefsson.
67337
67338 2007-01-27  Bruno Haible  <bruno@clisp.org>
67339
67340         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
67341         from gl_HEADER_STRING_H_BODY.
67342         (gl_HEADER_STRING_H_BODY): Require it.
67343         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
67344         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67345         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67346         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67347         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67348         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
67349         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
67350         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67351         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
67352         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67353         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67354         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
67355         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67356         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
67357         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67358
67359 2007-01-27  Bruno Haible  <bruno@clisp.org>
67360
67361         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
67362         check_PROGRAMS into noinst_PROGRAMS.
67363         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
67364         check_PROGRAMS in this case.
67365         (func_import): Set for_test to false.
67366         (func_create_testdir): Set for_test to true.
67367
67368 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67369             Bruno Haible  <bruno@clisp.org>
67370
67371         * modules/strcasestr (Files): Remove lib/strcasestr.h.
67372         (Depends-on): Add string.
67373         (Includes): Use <string.h> instead of strcasestr.h.
67374         * modules/string (Makefile.am): Also substitute the value of
67375         REPLACE_STRCASESTR.
67376         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
67377         assume strcasestr is declared in <string.h> not <strings.h>. Also
67378         set REPLACE_STRCASESTR.
67379         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
67380         REPLACE_STRCASESTR.
67381         * lib/strcasestr.h: Remove file.
67382         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
67383         * lib/string_.h (strcasestr): New declaration.
67384
67385 2007-01-27  Bruno Haible  <bruno@clisp.org>
67386
67387         * lib/string_.h: Use 'extern'.
67388
67389 2007-01-27  Jim Meyering  <jim@meyering.net>
67390
67391         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
67392         of set-but-not-used local, "q".
67393
67394         * lib/mempcpy.c: Include <config.h> before <string.h>.
67395         This fixes a compilation error on HP-UX, due to the system's
67396         "restrict"-using mempcpy prototype.
67397
67398 2007-01-26  Bruno Haible  <bruno@clisp.org>
67399
67400         Small optimization.
67401         * lib/javacomp.c: Include c-strstr.h.
67402          (is_envjavac_gcj): Use c_strstr instead of strstr.
67403         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
67404
67405 2007-01-26  Bruno Haible  <bruno@clisp.org>
67406
67407         * MODULES.html.sh (Unicode string functions): Add the new modules.
67408
67409         * modules/uniconv/u32-strconv-to-locale: New file.
67410         * lib/uniconv/u32-strconv-to-locale.c: New file.
67411
67412         * modules/uniconv/u16-strconv-to-locale: New file.
67413         * lib/uniconv/u16-strconv-to-locale.c: New file.
67414
67415         * modules/uniconv/u8-strconv-to-locale: New file.
67416         * lib/uniconv/u8-strconv-to-locale.c: New file.
67417
67418         * modules/uniconv/u32-strconv-from-locale: New file.
67419         * lib/uniconv/u32-strconv-from-locale.c: New file.
67420
67421         * modules/uniconv/u16-strconv-from-locale: New file.
67422         * lib/uniconv/u16-strconv-from-locale.c: New file.
67423
67424         * modules/uniconv/u8-strconv-from-locale: New file.
67425         * lib/uniconv/u8-strconv-from-locale.c: New file.
67426
67427         * modules/uniconv/u32-strconv-to-enc: New file.
67428         * lib/uniconv/u32-strconv-to-enc.c: New file.
67429         * modules/uniconv/u32-strconv-to-enc-tests: New file.
67430         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
67431
67432         * modules/uniconv/u16-strconv-to-enc: New file.
67433         * lib/uniconv/u16-strconv-to-enc.c: New file.
67434         * lib/uniconv/u-strconv-to-enc.h: New file.
67435         * modules/uniconv/u16-strconv-to-enc-tests: New file.
67436         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
67437
67438         * modules/uniconv/u8-strconv-to-enc: New file.
67439         * lib/uniconv/u8-strconv-to-enc.c: New file.
67440         * modules/uniconv/u8-strconv-to-enc-tests: New file.
67441         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
67442
67443         * modules/uniconv/u32-strconv-from-enc: New file.
67444         * lib/uniconv/u32-strconv-from-enc.c: New file.
67445         * modules/uniconv/u32-strconv-from-enc-tests: New file.
67446         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
67447
67448         * modules/uniconv/u16-strconv-from-enc: New file.
67449         * lib/uniconv/u16-strconv-from-enc.c: New file.
67450         * modules/uniconv/u16-strconv-from-enc-tests: New file.
67451         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
67452
67453         * modules/uniconv/u8-strconv-from-enc: New file.
67454         * lib/uniconv/u8-strconv-from-enc.c: New file.
67455         * lib/uniconv/u-strconv-from-enc.h: New file.
67456         * modules/uniconv/u8-strconv-from-enc-tests: New file.
67457         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
67458
67459         * modules/uniconv/u32-conv-from-enc: New file.
67460         * lib/uniconv/u32-conv-from-enc.c: New file.
67461         * modules/uniconv/u32-conv-from-enc-tests: New file.
67462         * tests/uniconv/test-u32-conv-from-enc.c: New file.
67463
67464         * modules/uniconv/u16-conv-from-enc: New file.
67465         * lib/uniconv/u16-conv-from-enc.c: New file.
67466         * lib/uniconv/u-conv-from-enc.h: New file.
67467         * modules/uniconv/u16-conv-from-enc-tests: New file.
67468         * tests/uniconv/test-u16-conv-from-enc.c: New file.
67469
67470         * modules/uniconv/u8-conv-from-enc: New file.
67471         * lib/uniconv/u8-conv-from-enc.c: New file.
67472         * modules/uniconv/u8-conv-from-enc-tests: New file.
67473         * tests/uniconv/test-u8-conv-from-enc.c: New file.
67474
67475         * modules/uniconv/base: New file.
67476         * lib/uniconv.h: New file.
67477
67478 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
67479
67480         * doc/gnulib-tool.texi (Initial import): Update to match current
67481         behavior with strdup module.
67482         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
67483         * lib/memmem.h: Remove; all uses removed.  This is now done
67484         by <string.h>.
67485         * lib/mempcpy.h: Likewise.
67486         * lib/memrchr.h: Likewise.
67487         * lib/stpcpy.h: Likewise.
67488         * lib/stpncpy.h: Likewise.
67489         * lib/strcase.h: Likewise.
67490         * lib/strchrnul.h: Likewise.
67491         * lib/strdup.h: Likewise.
67492         * lib/strndup.h: Likewise.
67493         * lib/strnlen.h: Likewise.
67494         * lib/strpbrk.h: Likewise.
67495         * lib/strsep.h: Likewise.
67496         * lib/strstr.h: Likewise.
67497         * lib/strtok_r.h: Likewise.
67498         * lib/string_.h: New file.
67499         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
67500         Rely on <string.h> instead.
67501         * lib/canon-host.c: Likewise.
67502         * lib/chdir-long.c: Likewise.
67503         * lib/concatpath.c: Likewise.
67504         * lib/exclude.c: Likewise.
67505         * lib/fchdir.c: Likewise.
67506         * lib/getaddrinfo.c: Likewise.
67507         * lib/getcwd.c: Likewise.
67508         * lib/getsubopt.c: Likewise.
67509         * lib/glob.c: Likewise.
67510         * lib/hard-locale.c: Likewise.
67511         * lib/iconvme.c: Likewise.
67512         * lib/javacomp.c: Likewise.
67513         * lib/mempcpy.c: Likewise.
67514         * lib/memrchr.c: Likewise.
67515         * lib/regex_internal.h: Likewise.
67516         * lib/stpncpy.c: Likewise.
67517         * lib/strcasecmp.c: Likewise.
67518         * lib/strchrnul.c: Likewise.
67519         * lib/strdup.c: Likewise.
67520         * lib/striconv.c: Likewise.
67521         * lib/striconveh.c: Likewise.
67522         * lib/striconveha.c: Likewise.
67523         * lib/strncasecmp.c: Likewise.
67524         * lib/strndup.c: Likewise.
67525         * lib/strnlen.c: Likewise.
67526         * lib/strsep.c: Likewise.
67527         * lib/strstr.c: Likewise.
67528         * lib/strtok_r.c: Likewise.
67529         * lib/userspec.c: Likewise.
67530         * lib/w32spawn.h: Likewise.
67531         * lib/xstrndup.c: Likewise.
67532         * lib/mountlist.c (strstr): Remove decl.
67533         * m4/string_h.m4: New file.
67534         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
67535         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
67536         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
67537         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
67538         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
67539         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
67540         Set REPLACE_STRCASECMP if necessary.
67541         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
67542         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
67543         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
67544         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
67545         HAVE_DECL_STRDUP if necessary.
67546         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
67547         since gl_FUNC_STRNDUP does that now.
67548         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
67549         Check for decl here...
67550         (gl_PREREQ_STRNLEN): ... not here.
67551         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
67552         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
67553         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
67554         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
67555         necessary.
67556         * modules/string: New file.
67557         * modules/memmem (Files): Remove special-purpose include file.
67558         (Depends-on): Add string.
67559         (Include): Include <string.h>, not the removed file.
67560         * modules/mempcpy: Likewise.
67561         * modules/memrchr: Likewise.
67562         * modules/stpcpy: Likewise.
67563         * modules/stpncpy: Likewise.
67564         * modules/strcase: Likewise.
67565         * modules/strchrnul: Likewise.
67566         * modules/strdup: Likewise.
67567         * modules/strndup: Likewise.
67568         * modules/strnlen: Likewise.
67569         * modules/strpbrk: Likewise.
67570         * modules/strsep: Likewise.
67571         * modules/strstr: Likewise.
67572         * modules/strtok_r: Likewise.
67573         * tests/test-dirname.c: Don't include "strdup.h", since
67574         <string.h> now suffices.
67575         * tests/test-memmem.c: Don't include "memmem.h", since
67576         <string.h> now suffices.
67577
67578 2007-01-25  Bruno Haible  <bruno@clisp.org>
67579
67580         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
67581         *resultp is 0.
67582
67583         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
67584         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
67585         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
67586         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
67587
67588         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
67589         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
67590         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
67591         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
67592         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
67593         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
67594
67595 2007-01-24  Bruno Haible  <bruno@clisp.org>
67596
67597         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
67598         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
67599         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
67600         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
67601         gl_FUNC_FTS_CORE.
67602         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
67603         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
67604         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67605         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
67606         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
67607         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
67608         gl_FUNC_FCHOWNAT.
67609         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
67610         gl_FUNC_STRFTIME.
67611         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
67612         Reported by Ralf Wildenhues.
67613
67614 2007-01-24  Bruno Haible  <bruno@clisp.org>
67615
67616         Drop AC_REQUIRE calls that are redundant with the module dependencies.
67617         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
67618         gl_GETADDRINFO.
67619         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
67620         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
67621         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
67622
67623 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
67624
67625         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
67626         Don't use 'exit'; just return from 'main'.
67627         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
67628
67629         * lib/fnmatch_.h: Readjust white space and comments to match
67630         glibc, to avoid spurious diffs.
67631
67632 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67633
67634         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
67635         2004-12-01 change by Jakub Jelinek, since this code won't compile
67636         if !LIBC.  Problem reported by Bob Proulx.
67637
67638 2007-01-23  Bruno Haible  <bruno@clisp.org>
67639
67640         * lib/striconveh.c: Include c-strcaseeq.h.
67641         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
67642         * modules/striconveh (Depends-on): Add c-strcaseeq.
67643
67644 2007-01-23  Bruno Haible  <bruno@clisp.org>
67645
67646         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
67647
67648         * modules/c-strcaseeq: New file.
67649         * lib/c-strcaseeq.h: New file.
67650
67651         * modules/streq: New file.
67652         * lib/streq.h: New file.
67653
67654 2007-01-23  Bruno Haible  <bruno@clisp.org>
67655
67656         * modules/striconveha-tests: New file.
67657         * tests/test-striconveha.c: New file.
67658
67659         * lib/striconveha.h: Include <stdbool.h>.
67660         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
67661         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
67662         (mem_iconveha_notranslit): Renamed from mem_iconveha.
67663         (mem_iconveha): New function.
67664         (str_iconveha_notranslit): Renamed from str_iconveha.
67665         (str_iconveha): New function.
67666         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
67667         c-strcase.
67668
67669 2007-01-23  Bruno Haible  <bruno@clisp.org>
67670
67671         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
67672         encodings without forgiving before trying any encoding with handler.
67673         (str_iconveha): Try all encodings without forgiving before trying any
67674         encoding with handler.
67675
67676 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67677
67678         Import the following changes from libc.
67679
67680         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67681
67682         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
67683
67684         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67685
67686         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
67687         normal_bracket label.
67688
67689         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
67690
67691         [BZ #361]
67692         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
67693         to normal_bracket after fetching the next character.
67694
67695 2007-01-22  Bruno Haible  <bruno@clisp.org>
67696
67697         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
67698         argument.
67699         * lib/striconveh.c (iconv_carefully_1): New function.
67700         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
67701         argument.
67702         (str_cd_iconveh): Update.
67703         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
67704         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
67705         * tests/test-striconveh.c (MAGIC): New macro.
67706         (new_offsets): New function.
67707         (main): Test call with and without offsets.
67708
67709 2007-01-22  Bruno Haible  <bruno@clisp.org>
67710
67711         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
67712         * modules/sys_select (Makefile.am): Likewise.
67713         * modules/sys_socket (Makefile.am): Likewise.
67714         * modules/sys_time (Makefile.am): Likewise.
67715
67716 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
67717
67718         * modules/gettimeofday (License): Change from GPL to LGPL, since
67719         gettimeofday is a library function.
67720
67721 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67722
67723         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
67724
67725 2007-01-21  Bruno Haible  <bruno@clisp.org>
67726
67727         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
67728
67729 2007-01-21  Bruno Haible  <bruno@clisp.org>
67730
67731         * modules/striconveha: New file.
67732         * lib/striconveha.h: New file.
67733         * lib/striconveha.c: New file.
67734         * MODULES.html.sh (Internationalization functions): Add striconveha.
67735         * lib/striconv.c (str_iconv): Optimize the case of an empty input
67736         string.
67737         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
67738
67739 2007-01-21  Bruno Haible  <bruno@clisp.org>
67740
67741         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
67742         * lib/striconveh.c (str_iconveh): Likewise.
67743
67744 2007-01-21  Bruno Haible  <bruno@clisp.org>
67745
67746         * lib/striconveh.h (mem_iconveh): New declaration.
67747         * lib/striconveh.c (mem_iconveh): New function.
67748         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
67749
67750 2007-01-21  Bruno Haible  <bruno@clisp.org>
67751
67752         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
67753
67754         * lib/striconveh.h (mem_cd_iconveh): Change specification.
67755         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
67756         original result buffer.
67757         (str_cd_iconveh): Update.
67758         * tests/test-striconveh.c (main): Update.
67759
67760         * lib/striconv.h (mem_cd_iconv): Change specification.
67761         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
67762         result buffer.
67763         (str_cd_iconv): Update.
67764         * tests/test-striconv.c (main): Update.
67765
67766 2007-01-21  Bruno Haible  <bruno@clisp.org>
67767
67768         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
67769
67770 2007-01-20  Jim Meyering  <jim@meyering.net>
67771
67772         * lib/userspec.c (parse_with_separator): If a user or group string
67773         starts with "+", skip the corresponding name-to-ID look-up, since
67774         such a look-up must fail: user and group names may not include "+".
67775
67776 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67777
67778         * lib/poll.c: Include sys/time.h and time.h unconditionally,
67779         since we now assume the sys_time module.
67780         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
67781         check for sys/time.h; no longer needed.
67782         * modules/poll (Depends-on): Depend on sys_time.
67783
67784 2007-01-18  Bruno Haible  <bruno@clisp.org>
67785
67786         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
67787         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67788
67789         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
67790         gettimeofday.
67791
67792         * tests/test-gettimeofday.c: Include <time.h>.
67793         (dummy): Remove variable.
67794
67795         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
67796         gl_HEADER_SYS_TIME_H.
67797         (gl_HEADER_SYS_TIME_H): New macro.
67798
67799         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
67800         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67801         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
67802         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
67803         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67804         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
67805         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
67806         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67807         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
67808         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
67809         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67810
67811         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
67812         last change; it caused a compilation error when cross-compiling to
67813         Cygwin.
67814
67815 2007-01-18  Jim Meyering  <jim@meyering.net>
67816
67817         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
67818         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
67819         than the race-prone "test -d sys || mkdir sys".
67820         (configure.ac): Use AC_PROG_MKDIR_P.
67821         * modules/sys_select: Likewise.
67822         * modules/sys_socket: Likewise.
67823         * modules/sys_time: Likewise.
67824
67825 2007-01-18  Eric Blake  <ebb9@byu.net>
67826
67827         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
67828         replace gettimeofday.
67829         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
67830         name, to avoid infinite recursion.
67831
67832 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
67833
67834         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
67835         module sys_time.
67836         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
67837         assume timespec.h defines struct timeval.
67838         * lib/settime.c: Likewise.
67839         * lib/utimens.c: Likewise.
67840         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
67841         since we now assume the gettimeofday module.
67842         * lib/tempname.c (__gen_tempname): Likewise.
67843         * lib/gettimeofday.h: Remove.
67844         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
67845         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
67846         Include <time.h>, for 'time()'.
67847         (localtime_buffer_addr): Also use this workaround if
67848         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
67849         to simplify the uses.  All uses changed.
67850         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
67851         that #undef is inside {}, and 'const' follows type name consistently.
67852         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
67853         (gettimeofday): Do not use the maximum possible value for
67854         tv->tv_usec, since that might break usages other than ls.c.
67855         Instead, we'll leave ls.c alone.  This undoes today's patch
67856         by Bruno.  Add a compile-time warning for 1s-clock resolution;
67857         we've never observed the problem but might as well keep the
67858         canary.
67859         * lib/nanosleep.c: Include timespec.h first, for interface check.
67860         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
67861         now assume the sys_time module.
67862         * lib/tempname.c: Likewise.
67863         * lib/timespec.h: Likewise.
67864         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
67865         needed.
67866         * lib/strftime.c: Likewise.
67867         * lib/timespec.h: Likewise.
67868         * lib/posixtm.c: Include posixtm.h first, for interface check.
67869         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
67870         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
67871         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
67872         * lib/sys_time_.h: New file.
67873         * lib/timespec.h (struct timespec): Use long int, not long.
67874         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67875         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
67876         Remove obsolescent call to AC_HEADER_TIME.
67877         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
67878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67879         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
67880         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
67881         Likewise.
67882         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
67883         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
67884         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
67885         into the sys_time module.  Check for gettimeofday just once.
67886         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
67887         for gettimeofday signature to just check the signature.  Merely
67888         compile it, since linking doesn't test signature.  Improve test for
67889         whether gettimeofday.o is actually needed.
67890         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
67891         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
67892         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
67893         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67894         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
67895         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
67896         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
67897         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
67898         than worrying about sys/time.h.
67899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67900         Don't bother worrying about TIME_WITH_SYS_TIME.
67901         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
67902         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
67903         * m4/sys_time_h.m4: New file.
67904         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
67905         Don't include sys/time.h.  Return from main rather than exiting.
67906         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
67907         all uses changed.
67908         * modules/gethrxtime (Depends-on): Add sys_time.
67909         * modules/gettime (Depends-on): Likewise.
67910         * modules/gettimeofday (Depends-on): Likewise.
67911         * modules/nanosleep (Depends-on): Likewise.
67912         * modules/settime (Depends-on): Likewise.
67913         * modules/tempname (Depends-on): Likewise.
67914         * modules/utimens (Depends-on): Likewise.
67915         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
67916         (Include): Change back to <sys/time.h>.
67917         (Maintainer): Add self.
67918         * modules/sys_time: New file.
67919         * modules/tempname (Depends-on): Add gettimeofday.
67920         * tests/test-gettimeofday.c: Include <sys/time.h>
67921         rather than gettimeofday.h.
67922
67923 2007-01-17  Bruno Haible  <bruno@clisp.org>
67924
67925         * gnulib-tool (func_get_license): Revert last patch. Instead, let
67926         the license default to GPL.
67927         (func_create_testdir): Don't complain if a module is LGPL and its
67928         tests module depends on GPLed modules.
67929
67930 2007-01-17  Bruno Haible  <bruno@clisp.org>
67931
67932         * lib/gettimeofday.c (gettimeofday): Add code for the case
67933         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
67934         maximum possible value for tv->tv_usec, rather than the minimum one.
67935
67936 2005-10-08  Martin Lambers  <marlam@marlam.de>
67937 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
67938 2007-01-16  Bruno Haible  <bruno@clisp.org>
67939
67940         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
67941         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
67942         gl_FUNC_GETTIMEOFDAY.
67943         (Include): Add gettimeofday.h.
67944         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
67945         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
67946         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
67947         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
67948         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
67949         * lib/gettimeofday.h: New file.
67950         * lib/gettimeofday.c: Include <sys/timeb.h>.
67951         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
67952         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
67953         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
67954         fall back on time().
67955
67956         * tests/test-gettimeofday.c: New file.
67957         * modules/gettimeofday-tests: New file.
67958
67959 2007-01-16  Eric Blake  <ebb9@byu.net>
67960
67961         * modules/fnmatch (Depends-on): Depend on wchar.
67962         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
67963         * m4/fnmatch.m4: Likewise.
67964         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67965         * m4/mbchar.m4: Likewise.
67966         * modules/mbswidth (Depends-on): Depend on wchar.
67967         * lib/mbswidth.c: Assume <wchar.h>.
67968         * m4/mbswidth.m4: Likewise.
67969         * modules/quotearg (Depends-on): Depend on wchar.
67970         * lib/quotearg.c: Assume <wchar.h>.
67971         * m4/quotearg.m4: Likewise.
67972         * modules/regex (Depends-on): Depend on wchar.
67973         * lib/regex_internal.h: Assume <wchar.h>.
67974         * m4/regex.m4: Likewise.
67975         * modules/stdint (Depends-on): Depend on wchar.
67976         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67977         * m4/stdint.m4: Likewise.
67978         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67979         * modules/strftime (Depends-on): Depend on wchar.
67980         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67981         * modules/strtol (Depends-on): Depend on wchar.
67982         * lib/strtol.c: Assume <wchar.h>.
67983         * modules/wcwidth (Depends-on): Depend on wchar.
67984         * lib/wcwidth.h: Assume <wchar.h>.
67985         * m4/wcwidth.m4: Likewise.
67986
67987 2007-01-16  Bruno Haible  <bruno@clisp.org>
67988
67989         * modules/csharpexec-script: New, created from...
67990         * modules/csharpexec: ... this.
67991
67992 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67993
67994         * modules/javaexec-script: New, created from...
67995         * modules/javaexec: ... this.
67996
67997 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67998
67999         * modules/poll (Dependencies): Add sys_select.
68000
68001 2007-01-15  Jim Meyering  <jim@meyering.net>
68002
68003         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68004         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68005         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68006         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68007
68008 2007-01-15  Bruno Haible  <bruno@clisp.org>
68009
68010         * modules/striconveh: New file.
68011         * lib/striconveh.h: New file.
68012         * lib/striconveh.c: New file.
68013         * MODULES.html.sh (Internationalization functions): Add striconveh.
68014
68015         * modules/striconveh-tests: New file.
68016         * tests/test-striconveh.c: New file.
68017
68018 2007-01-15  Bruno Haible  <bruno@clisp.org>
68019
68020         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68021         not from GNU libiconv or GNU libc.
68022
68023 2007-01-15  Bruno Haible  <bruno@clisp.org>
68024
68025         * doc/gnulib-intro.texi (Copyright): Explain the different license
68026         terms for module descriptions, autoconf macros, tests, documentation.
68027
68028 2007-01-14  Bruno Haible  <bruno@clisp.org>
68029
68030         * modules/striconv-tests: New file.
68031         * tests/test-striconv.c: New file.
68032
68033 2007-01-14  Bruno Haible  <bruno@clisp.org>
68034
68035         * modules/iconv-tests: New file.
68036         * tests/test-iconv.c: New file.
68037
68038 2007-01-14  Bruno Haible  <bruno@clisp.org>
68039
68040         * gnulib-tool (func_get_license): For test modules, use the license of
68041         the main module.
68042
68043 2007-01-14  Bruno Haible  <bruno@clisp.org>
68044
68045         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68046         if iconv is found to exist.
68047
68048 2007-01-14  Bruno Haible  <bruno@clisp.org>
68049
68050         * modules/c-ctype-tests: New file.
68051         * tests/test-c-ctype.c: New file.
68052
68053 2007-01-14  Bruno Haible  <bruno@clisp.org>
68054
68055         * modules/binary-io-tests: New file.
68056         * tests/test-binary-io.sh: New file.
68057         * tests/test-binary-io.c: New file.
68058
68059 2007-01-14  Bruno Haible  <bruno@clisp.org>
68060
68061         * modules/array-oset-tests: New file.
68062         * tests/test-array_oset.c: New file.
68063
68064 2007-01-14  Bruno Haible  <bruno@clisp.org>
68065
68066         * modules/array-list-tests: New file.
68067         * tests/test-array_list.c: New file.
68068
68069 2007-01-14  Bruno Haible  <bruno@clisp.org>
68070
68071         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68072         and make.
68073         Reported by Simon Josefsson in
68074         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68075
68076 2007-01-14  Bruno Haible  <bruno@clisp.org>
68077
68078         * modules/allocsa-tests: New file.
68079         * tests/test-allocsa.c: New file.
68080
68081 2007-01-14  Bruno Haible  <bruno@clisp.org>
68082
68083         * modules/fchdir (Depends-on): Add absolute-header.
68084         * modules/unistd (Depends-on): Likewise.
68085
68086 2006-12-30  Bruno Haible  <bruno@clisp.org>
68087
68088         * modules/fchdir: New file.
68089         * modules/unistd (Files): Add lib/unistd_.h.
68090         (Makefile.am): Generate unistd.h from unistd_.h.
68091         * lib/fchdir.c: New file.
68092         * lib/dirent_.h: New file.
68093         * lib/unistd_.h: New file.
68094         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68095         * m4/fchdir.m4: New file.
68096         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68097         (gl_HEADER_UNISTD): Invoke it.
68098         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68099         function.
68100         * lib/backupfile.c (opendir, closedir): Undefine.
68101         * lib/chown.c (open, close): Undefine.
68102         * lib/clean-temp.c (open, close): Undefine.
68103         * lib/copy-file.c (open, close): Undefine.
68104         * lib/execute.c (open, close): Undefine.
68105         * lib/fsusage.c (open, close): Undefine.
68106         * lib/gc-gnulib.c (open, close): Undefine.
68107         * lib/getcwd.c (opendir, closedir): Undefine.
68108         * lib/glob.c (opendir, closedir): Undefine.
68109         * lib/javacomp.c (open, close): Undefine.
68110         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68111         * lib/openat-proc.c (open, close): Undefine.
68112         * lib/pagealign_alloc.c (open, close): Undefine.
68113         * lib/pipe.c (open, close): Undefine.
68114         * lib/progreloc.c (open, close): Undefine.
68115         * lib/savedir.c (opendir, closedir): Undefine.
68116         * lib/utime.c (open, close): Undefine.
68117         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68118
68119 2007-01-10  Bruno Haible  <bruno@clisp.org>
68120
68121         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68122
68123 2007-01-12  Eric Blake  <ebb9@byu.net>
68124
68125         Provide a robust <wchar.h>.  Further simplifications are now
68126         possible in other modules, but not included here.
68127         * modules/wchar: New module.
68128         * m4/wchar.m4: New file.
68129         * lib/wchar_.h: Likewise.
68130         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68131         of the new module.
68132         * MODULES.html.sh (Extended multibyte and wide character utilities):
68133         New section.
68134
68135 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68136
68137         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68138         to a reasonable default for memory allocation.
68139         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68140         file system that reports garbage st_size values for symlinks.
68141         Problem reported by Liyang Hu.
68142
68143 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68144
68145         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68146         Emacs .#* auto-save files).
68147
68148 2007-01-11  Bruno Haible  <bruno@clisp.org>
68149
68150         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68151         directory.
68152
68153 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68154
68155         Use @...@ consistently in lib/wctype_.h.
68156         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68157         on it being set to 1 or 0.
68158         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68159         go back to AC_SUBSTing it.
68160         * modules/wctype (Makefile.am): Undo previous change.
68161
68162 2007-01-10  Eric Blake  <ebb9@byu.net>
68163
68164         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68165         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68166         * modules/wctype (Makefile.am): Likewise.
68167         Reported by Chris McGuire.
68168
68169 2007-01-10  Jim Meyering  <jim@meyering.net>
68170
68171         fts.c: a small readability/maintainability improvement
68172         * lib/fts.c (fts_read): Make this code slightly more readable and
68173         maintainable by hoisting the "sp->fts_cur = p" assignments to
68174         immediately follow the statements that set P.  Derived from
68175         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68176
68177 2007-01-10  Eric Blake  <ebb9@byu.net>
68178
68179         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68180         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68181         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68182         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68183         Reported by Chris McGuire.
68184
68185 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68186
68187         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68188         in sed script.
68189
68190 2007-01-09  Bruno Haible  <bruno@clisp.org>
68191
68192         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68193         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68194         variables.
68195         (func_module): Use them.
68196
68197 2007-01-09  Bruno Haible  <bruno@clisp.org>
68198
68199         * modules/unistr/base: New file.
68200         * lib/unistr.h: New file.
68201
68202         * modules/unistr/u8-to-u16: New file.
68203         * lib/unistr/u8-to-u16.c: New file.
68204
68205         * modules/unistr/u8-to-u32: New file.
68206         * lib/unistr/u8-to-u32.c: New file.
68207
68208         * modules/unistr/u16-to-u8: New file.
68209         * lib/unistr/u16-to-u8.c: New file.
68210
68211         * modules/unistr/u16-to-u32: New file.
68212         * lib/unistr/u16-to-u32.c: New file.
68213
68214         * modules/unistr/u32-to-u8: New file.
68215         * lib/unistr/u32-to-u8.c: New file.
68216
68217         * modules/unistr/u32-to-u16: New file.
68218         * lib/unistr/u32-to-u16.c: New file.
68219
68220         * modules/unistr/u8-check: New file.
68221         * modules/unistr/u16-check: New file.
68222         * modules/unistr/u32-check: New file.
68223         * lib/unistr/u8-check.c: New file.
68224         * lib/unistr/u16-check.c: New file.
68225         * lib/unistr/u32-check.c: New file.
68226
68227         * modules/unistr/u8-chr: New file.
68228         * modules/unistr/u16-chr: New file.
68229         * modules/unistr/u32-chr: New file.
68230         * lib/unistr/u8-chr.c: New file.
68231         * lib/unistr/u16-chr.c: New file.
68232         * lib/unistr/u32-chr.c: New file.
68233
68234         * modules/unistr/u8-cmp: New file.
68235         * modules/unistr/u16-cmp: New file.
68236         * modules/unistr/u32-cmp: New file.
68237         * lib/unistr/u8-cmp.c: New file.
68238         * lib/unistr/u16-cmp.c: New file.
68239         * lib/unistr/u32-cmp.c: New file.
68240
68241         * modules/unistr/u8-cpy: New file.
68242         * modules/unistr/u16-cpy: New file.
68243         * modules/unistr/u32-cpy: New file.
68244         * lib/unistr/u8-cpy.c: New file.
68245         * lib/unistr/u16-cpy.c: New file.
68246         * lib/unistr/u32-cpy.c: New file.
68247         * lib/unistr/u-cpy.h: New file.
68248
68249         * modules/unistr/u8-cpy-alloc: New file.
68250         * modules/unistr/u16-cpy-alloc: New file.
68251         * modules/unistr/u32-cpy-alloc: New file.
68252         * lib/unistr/u8-cpy-alloc.c: New file.
68253         * lib/unistr/u16-cpy-alloc.c: New file.
68254         * lib/unistr/u32-cpy-alloc.c: New file.
68255         * lib/unistr/u-cpy-alloc.h: New file.
68256
68257         * modules/unistr/u8-endswith: New file.
68258         * modules/unistr/u16-endswith: New file.
68259         * modules/unistr/u32-endswith: New file.
68260         * lib/unistr/u8-endswith.c: New file.
68261         * lib/unistr/u16-endswith.c: New file.
68262         * lib/unistr/u32-endswith.c: New file.
68263         * lib/unistr/u-endswith.h: New file.
68264
68265         * modules/unistr/u8-mblen: New file.
68266         * modules/unistr/u16-mblen: New file.
68267         * modules/unistr/u32-mblen: New file.
68268         * lib/unistr/u8-mblen.c: New file.
68269         * lib/unistr/u16-mblen.c: New file.
68270         * lib/unistr/u32-mblen.c: New file.
68271
68272         * modules/unistr/u8-mbtouc: New file.
68273         * modules/unistr/u16-mbtouc: New file.
68274         * modules/unistr/u32-mbtouc: New file.
68275         * lib/unistr/u8-mbtouc.c: New file.
68276         * lib/unistr/u16-mbtouc.c: New file.
68277         * lib/unistr/u32-mbtouc.c: New file.
68278
68279         * modules/unistr/u8-mbtouc-safe: New file.
68280         * modules/unistr/u16-mbtouc-safe: New file.
68281         * modules/unistr/u32-mbtouc-safe: New file.
68282         * lib/unistr/u8-mbtouc-safe.c: New file.
68283         * lib/unistr/u16-mbtouc-safe.c: New file.
68284         * lib/unistr/u32-mbtouc-safe.c: New file.
68285
68286         * modules/unistr/u8-move: New file.
68287         * modules/unistr/u16-move: New file.
68288         * modules/unistr/u32-move: New file.
68289         * lib/unistr/u8-move.c: New file.
68290         * lib/unistr/u16-move.c: New file.
68291         * lib/unistr/u32-move.c: New file.
68292         * lib/unistr/u-move.h: New file.
68293
68294         * modules/unistr/u8-next: New file.
68295         * modules/unistr/u16-next: New file.
68296         * modules/unistr/u32-next: New file.
68297         * lib/unistr/u8-next.c: New file.
68298         * lib/unistr/u16-next.c: New file.
68299         * lib/unistr/u32-next.c: New file.
68300
68301         * modules/unistr/u8-prev: New file.
68302         * modules/unistr/u16-prev: New file.
68303         * modules/unistr/u32-prev: New file.
68304         * lib/unistr/u8-prev.c: New file.
68305         * lib/unistr/u16-prev.c: New file.
68306         * lib/unistr/u32-prev.c: New file.
68307
68308         * modules/unistr/u8-set: New file.
68309         * modules/unistr/u16-set: New file.
68310         * modules/unistr/u32-set: New file.
68311         * lib/unistr/u8-set.c: New file.
68312         * lib/unistr/u16-set.c: New file.
68313         * lib/unistr/u32-set.c: New file.
68314         * lib/unistr/u-set.h: New file.
68315
68316         * modules/unistr/u8-startswith: New file.
68317         * modules/unistr/u16-startswith: New file.
68318         * modules/unistr/u32-startswith: New file.
68319         * lib/unistr/u8-startswith.c: New file.
68320         * lib/unistr/u16-startswith.c: New file.
68321         * lib/unistr/u32-startswith.c: New file.
68322         * lib/unistr/u-startswith.h: New file.
68323
68324         * modules/unistr/u8-stpcpy: New file.
68325         * modules/unistr/u16-stpcpy: New file.
68326         * modules/unistr/u32-stpcpy: New file.
68327         * lib/unistr/u8-stpcpy.c: New file.
68328         * lib/unistr/u16-stpcpy.c: New file.
68329         * lib/unistr/u32-stpcpy.c: New file.
68330         * lib/unistr/u-stpcpy.h: New file.
68331
68332         * modules/unistr/u8-stpncpy: New file.
68333         * modules/unistr/u16-stpncpy: New file.
68334         * modules/unistr/u32-stpncpy: New file.
68335         * lib/unistr/u8-stpncpy.c: New file.
68336         * lib/unistr/u16-stpncpy.c: New file.
68337         * lib/unistr/u32-stpncpy.c: New file.
68338         * lib/unistr/u-stpncpy.h: New file.
68339
68340         * modules/unistr/u8-strcat: New file.
68341         * modules/unistr/u16-strcat: New file.
68342         * modules/unistr/u32-strcat: New file.
68343         * lib/unistr/u8-strcat.c: New file.
68344         * lib/unistr/u16-strcat.c: New file.
68345         * lib/unistr/u32-strcat.c: New file.
68346         * lib/unistr/u-strcat.h: New file.
68347
68348         * modules/unistr/u8-strchr: New file.
68349         * modules/unistr/u16-strchr: New file.
68350         * modules/unistr/u32-strchr: New file.
68351         * lib/unistr/u8-strchr.c: New file.
68352         * lib/unistr/u16-strchr.c: New file.
68353         * lib/unistr/u32-strchr.c: New file.
68354
68355         * modules/unistr/u8-strcmp: New file.
68356         * modules/unistr/u16-strcmp: New file.
68357         * modules/unistr/u32-strcmp: New file.
68358         * lib/unistr/u8-strcmp.c: New file.
68359         * lib/unistr/u16-strcmp.c: New file.
68360         * lib/unistr/u32-strcmp.c: New file.
68361
68362         * modules/unistr/u8-strcpy: New file.
68363         * modules/unistr/u16-strcpy: New file.
68364         * modules/unistr/u32-strcpy: New file.
68365         * lib/unistr/u8-strcpy.c: New file.
68366         * lib/unistr/u16-strcpy.c: New file.
68367         * lib/unistr/u32-strcpy.c: New file.
68368         * lib/unistr/u-strcpy.h: New file.
68369
68370         * modules/unistr/u8-strcspn: New file.
68371         * modules/unistr/u16-strcspn: New file.
68372         * modules/unistr/u32-strcspn: New file.
68373         * lib/unistr/u8-strcspn.c: New file.
68374         * lib/unistr/u16-strcspn.c: New file.
68375         * lib/unistr/u32-strcspn.c: New file.
68376         * lib/unistr/u-strcspn.h: New file.
68377
68378         * modules/unistr/u8-strdup: New file.
68379         * modules/unistr/u16-strdup: New file.
68380         * modules/unistr/u32-strdup: New file.
68381         * lib/unistr/u8-strdup.c: New file.
68382         * lib/unistr/u16-strdup.c: New file.
68383         * lib/unistr/u32-strdup.c: New file.
68384         * lib/unistr/u-strdup.h: New file.
68385
68386         * modules/unistr/u8-strlen: New file.
68387         * modules/unistr/u16-strlen: New file.
68388         * modules/unistr/u32-strlen: New file.
68389         * lib/unistr/u8-strlen.c: New file.
68390         * lib/unistr/u16-strlen.c: New file.
68391         * lib/unistr/u32-strlen.c: New file.
68392         * lib/unistr/u-strlen.h: New file.
68393
68394         * modules/unistr/u8-strmblen: New file.
68395         * modules/unistr/u16-strmblen: New file.
68396         * modules/unistr/u32-strmblen: New file.
68397         * lib/unistr/u8-strmblen.c: New file.
68398         * lib/unistr/u16-strmblen.c: New file.
68399         * lib/unistr/u32-strmblen.c: New file.
68400
68401         * modules/unistr/u8-strmbtouc: New file.
68402         * modules/unistr/u16-strmbtouc: New file.
68403         * modules/unistr/u32-strmbtouc: New file.
68404         * lib/unistr/u8-strmbtouc.c: New file.
68405         * lib/unistr/u16-strmbtouc.c: New file.
68406         * lib/unistr/u32-strmbtouc.c: New file.
68407
68408         * modules/unistr/u8-strncat: New file.
68409         * modules/unistr/u16-strncat: New file.
68410         * modules/unistr/u32-strncat: New file.
68411         * lib/unistr/u8-strncat.c: New file.
68412         * lib/unistr/u16-strncat.c: New file.
68413         * lib/unistr/u32-strncat.c: New file.
68414         * lib/unistr/u-strncat.h: New file.
68415
68416         * modules/unistr/u8-strncmp: New file.
68417         * modules/unistr/u16-strncmp: New file.
68418         * modules/unistr/u32-strncmp: New file.
68419         * lib/unistr/u8-strncmp.c: New file.
68420         * lib/unistr/u16-strncmp.c: New file.
68421         * lib/unistr/u32-strncmp.c: New file.
68422
68423         * modules/unistr/u8-strncpy: New file.
68424         * modules/unistr/u16-strncpy: New file.
68425         * modules/unistr/u32-strncpy: New file.
68426         * lib/unistr/u8-strncpy.c: New file.
68427         * lib/unistr/u16-strncpy.c: New file.
68428         * lib/unistr/u32-strncpy.c: New file.
68429         * lib/unistr/u-strncpy.h: New file.
68430
68431         * modules/unistr/u8-strnlen: New file.
68432         * modules/unistr/u16-strnlen: New file.
68433         * modules/unistr/u32-strnlen: New file.
68434         * lib/unistr/u8-strnlen.c: New file.
68435         * lib/unistr/u16-strnlen.c: New file.
68436         * lib/unistr/u32-strnlen.c: New file.
68437         * lib/unistr/u-strnlen.h: New file.
68438
68439         * modules/unistr/u8-strpbrk: New file.
68440         * modules/unistr/u16-strpbrk: New file.
68441         * modules/unistr/u32-strpbrk: New file.
68442         * lib/unistr/u8-strpbrk.c: New file.
68443         * lib/unistr/u16-strpbrk.c: New file.
68444         * lib/unistr/u32-strpbrk.c: New file.
68445         * lib/unistr/u-strpbrk.h: New file.
68446
68447         * modules/unistr/u8-strrchr: New file.
68448         * modules/unistr/u16-strrchr: New file.
68449         * modules/unistr/u32-strrchr: New file.
68450         * lib/unistr/u8-strrchr.c: New file.
68451         * lib/unistr/u16-strrchr.c: New file.
68452         * lib/unistr/u32-strrchr.c: New file.
68453
68454         * modules/unistr/u8-strspn: New file.
68455         * modules/unistr/u16-strspn: New file.
68456         * modules/unistr/u32-strspn: New file.
68457         * lib/unistr/u8-strspn.c: New file.
68458         * lib/unistr/u16-strspn.c: New file.
68459         * lib/unistr/u32-strspn.c: New file.
68460         * lib/unistr/u-strspn.h: New file.
68461
68462         * modules/unistr/u8-strstr: New file.
68463         * modules/unistr/u16-strstr: New file.
68464         * modules/unistr/u32-strstr: New file.
68465         * lib/unistr/u8-strstr.c: New file.
68466         * lib/unistr/u16-strstr.c: New file.
68467         * lib/unistr/u32-strstr.c: New file.
68468         * lib/unistr/u-strstr.h: New file.
68469
68470         * modules/unistr/u8-strtok: New file.
68471         * modules/unistr/u16-strtok: New file.
68472         * modules/unistr/u32-strtok: New file.
68473         * lib/unistr/u8-strtok.c: New file.
68474         * lib/unistr/u16-strtok.c: New file.
68475         * lib/unistr/u32-strtok.c: New file.
68476         * lib/unistr/u-strtok.h: New file.
68477
68478         * modules/unistr/u8-uctomb: New file.
68479         * modules/unistr/u16-uctomb: New file.
68480         * modules/unistr/u32-uctomb: New file.
68481         * lib/unistr/u8-uctomb.c: New file.
68482         * lib/unistr/u16-uctomb.c: New file.
68483         * lib/unistr/u32-uctomb.c: New file.
68484
68485         * MODULES.html.sh (Unicode string functions): Add the new modules.
68486
68487 2007-01-08  Bruno Haible  <bruno@clisp.org>
68488
68489         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
68490         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
68491         subdirectories.
68492
68493 2007-01-08  Karl Berry  <karl@gnu.org>
68494
68495         * doc/error.texi: mention that main() fns must set program_name
68496         when progname is used.
68497
68498 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
68499
68500         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
68501         WCTYPE_H is empty, for the benefit of builds from non-distclean
68502         directories.  Problem reported by Eric Blake in
68503         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
68504
68505 2007-01-08  Bruno Haible  <bruno@clisp.org>
68506
68507         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
68508         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
68509         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
68510         PROVIDE_CANONICALIZE_FILENAME_MODE.
68511         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
68512
68513 2007-01-08  Bruno Haible  <bruno@clisp.org>
68514
68515         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
68516         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
68517         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
68518         * lib/fts.c: Likewise.
68519         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
68520
68521 2006-12-25  Bruno Haible  <bruno@clisp.org>
68522
68523         * modules/utf8-ucs4-safe: New file.
68524         * lib/utf8-ucs4-safe.h: New file.
68525         * lib/unistr/utf8-ucs4-safe.c: New file.
68526
68527         * modules/utf16-ucs4-safe: New file.
68528         * lib/utf16-ucs4-safe.h: New file.
68529         * lib/unistr/utf16-ucs4-safe.c: New file.
68530
68531         * MODULES.html.sh (Unicode string functions): Add the new modules.
68532
68533 2007-01-08  Bruno Haible  <bruno@clisp.org>
68534
68535         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
68536         (Depends-on): Add unitypes.
68537         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68538         (u8_mbtouc_aux): Move out to separate file.
68539         (u8_mbtouc): Use ucs4_t, uint8_t types.
68540         * lib/unistr/utf8-ucs4.c: New file.
68541
68542         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
68543         (Depends-on): Add unitypes.
68544         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
68545         (u16_mbtouc_aux): Move out to separate file.
68546         (u16_mbtouc): Use ucs4_t, uint16_t types.
68547         * lib/unistr/utf16-ucs4.c: New file.
68548
68549         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
68550         (Depends-on): Add unitypes.
68551         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
68552         (u8_uctomb_aux): Move out to separate file.
68553         (u8_uctomb): Use ucs4_t, uint8_t types.
68554         * lib/unistr/ucs4-utf8.c: New file.
68555
68556         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
68557         (Depends-on): Add unitypes.
68558         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
68559         (u16_uctomb_aux): Move out to separate file.
68560         (u16_uctomb): Use ucs4_t, uint16_t types.
68561         * lib/unistr/ucs4-utf16.c: New file.
68562
68563 2006-12-25  Bruno Haible  <bruno@clisp.org>
68564
68565         * modules/unitypes: New file.
68566         * lib/unitypes.h: New file.
68567         * MODULES.html.sh (func_all_modules): New section "Unicode string
68568         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
68569         this section. Add unitypes.
68570
68571 2007-01-08  Bruno Haible  <bruno@clisp.org>
68572
68573         Avoid variable names that conflict with those from libtool.
68574         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
68575         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
68576         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
68577         library_names_spec to acl_library_names_spec, hardcode_* to
68578         acl_hardcode_*.
68579         Reported by Ralf Wildenhues.
68580
68581 2007-01-08  Bruno Haible  <bruno@clisp.org>
68582
68583         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
68584         definition.
68585         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
68586         definition.
68587         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
68588         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
68589         definition.
68590         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
68591         definition.
68592         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
68593         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
68594         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
68595         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
68596         definition.
68597         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
68598         definition.
68599         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
68600         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
68601         GC_USE_<algorithm>.
68602         * lib/gc-libgcrypt.c: Likewise.
68603         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
68604         * modules/gc-arctwo (configure.ac): Likewise.
68605         * modules/gc-des (configure.ac): Likewise.
68606         * modules/gc-hmac-md5 (configure.ac): Likewise.
68607         * modules/gc-hmac-sha1 (configure.ac): Likewise.
68608         * modules/gc-md2 (configure.ac): Likewise.
68609         * modules/gc-md4 (configure.ac): Likewise.
68610         * modules/gc-md5 (configure.ac): Likewise.
68611         * modules/gc-random (configure.ac): Likewise.
68612         * modules/gc-rijndael (configure.ac): Likewise.
68613         * modules/gc-sha1 (configure.ac): Likewise.
68614
68615 2007-01-08  Bruno Haible  <bruno@clisp.org>
68616
68617         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
68618         macro definition.
68619         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
68620         definition.
68621         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
68622         definition.
68623         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
68624         * modules/fcntl-safer (configure.ac): Likewise.
68625         * modules/fopen-safer (configure.ac): Likewise.
68626         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
68627         GNULIB_FWRITEERROR macro definition.
68628
68629 2007-01-08  Bruno Haible  <bruno@clisp.org>
68630
68631         * m4/gnulib-common.m4: New file.
68632         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
68633         (func_get_filelist): Add m4/gnulib-common.m4.
68634
68635 2007-01-08  Bruno Haible  <bruno@clisp.org>
68636
68637         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
68638         command.
68639
68640 2007-01-08  Jim Meyering  <jim@meyering.net>
68641
68642         Use a more robust test for a "can't happen" condition.
68643         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
68644         narrowed the st_size value.  Presuming the "can't happen" condition
68645         is true, that narrowing could conceivably convert an invalid st_size
68646         value into a valid one.  Instead, use a change based on Matthew
68647         Woehlke's original patch.
68648
68649         Slight readability improvement: use an assert-like macro
68650         in place of literal "abort ()" uses.
68651         * lib/fts.c (fts_assert): Define.
68652         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
68653         Use this macro instead of a bare 'abort'.
68654
68655 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
68656
68657         Don't worry about using IRIX 5.3's wctype.h broken definitions;
68658         simply work around them.
68659         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
68660         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
68661         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
68662         declaring.
68663         Don't bother to define as macros, since the standard doesn't require it.
68664         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
68665         longer worry about IRIX 5.3.
68666         (HAVE_WCTYPE_CTMP_BUG): Remove.
68667
68668 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68669
68670         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
68671         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
68672         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68673         Problems reported by Georg Schwarz for IRIX 5.3.
68674
68675         * gnulib-tool (autoconf_minversion): Take the maximum version number
68676         found, not the minimum.  Problem reported by James Youngman.
68677
68678 2007-01-03  Karl Berry  <karl@gnu.org>
68679
68680         * doc/error.texi: new file, explaining interaction with progname.
68681         * doc/gnulib.texi: include it.  Update copyright.
68682
68683 2007-01-03  Simon Josefsson  <simon@josefsson.org>
68684
68685         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
68686         AC_CANONICAL_HOST, to improve autobuild outputs.
68687
68688 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
68689             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68690
68691         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
68692         sockets, server sockets, and other file descriptors.  Count errors
68693         to compute the return value.  Reorder the code a bit to be easier
68694         to follow.  Don't set event bits that were not requested (except
68695         POLLERR and POLLHUP).
68696
68697 2007-01-01  Bruno Haible  <bruno@clisp.org>
68698
68699         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
68700
68701 2007-01-03  Jim Meyering  <jim@meyering.net>
68702
68703         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
68704
68705 2007-01-02  Bruno Haible  <bruno@clisp.org>
68706
68707         * modules/settime (Include): Require timespec.h.
68708         * modules/nanosleep (Include): Likewise.
68709
68710 2007-01-01  Bruno Haible  <bruno@clisp.org>
68711
68712         * gnulib-tool (func_emit_copyright_notice): Bump year.
68713         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
68714
68715 2007-01-01  Bruno Haible  <bruno@clisp.org>
68716
68717         Improve support for OpenBSD.
68718         * build-aux/config.rpath (libname_spec): Export.
68719         (library_names_spec): New variable. Export.
68720         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
68721         library_names_spec from the config.rpath output. Locate shared library
68722         through the name pattern in library_names_spec.
68723
68724 2007-01-01  Eric Blake  <ebb9@byu.net>
68725
68726         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
68727
68728 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
68729
68730         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
68731         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
68732         assume the C locale, and avoid an "eval" that could cause trouble.
68733         Problem with SORT reported by Bob Proulx.
68734
68735         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
68736         Define.  Trivial patch from Henning Nielsen Lund, originally
68737         sent to bug-grep@gnu.org today.
68738
68739 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
68740
68741         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
68742         struct stat.  Problem reported by Henning Nielsen Lund.
68743         * lib/acl.c: Include acl.h first, to check interface.  Don't
68744         bother to include sys/types.h and sys/stat.h again.
68745
68746 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68747
68748         Import the following change from libc; problem reported by
68749         Sven Verdoolaege.
68750
68751         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
68752
68753         [BZ #1373]
68754         * lib/argp.h: Remove __NTH for __argp_usage inline function.
68755
68756 2006-12-28  Jim Meyering  <jim@meyering.net>
68757
68758         * build-aux/announce-gen: Do not assume that the package
68759         builds any of tar.gz, tar.bz2, and .xdelta files.
68760         Suggestion from Simon Josefsson.
68761
68762 2006-12-28  Simon Josefsson  <simon@josefsson.org>
68763
68764         * modules/announce-gen: New file.
68765
68766 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
68767
68768         * lib/mbchar.h: Just include <wctype.h>; the wctype module
68769         handles its gotchas now.
68770         * lib/mbswidth.c: Likewise.
68771         * lib/wcwidth.h: Likewise.
68772         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
68773         and iswcntrl; the wctype module does this stuff now.
68774         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
68775         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68776         * modules/mbchar (Depends-on): Add wctype.
68777         * modules/mbswidth (Depends-on): Likewise.
68778         * modules/wcwidth (Depends-on): Likewise.
68779
68780 2006-12-27  Eric Blake  <ebb9@byu.net>
68781
68782         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
68783         module uses more than what <wctype.h> is required to provide.
68784
68785 2006-12-26  Eric Blake  <ebb9@byu.net>
68786
68787         * gnulib-tool (sed_extract_prog): Avoid space-tab.
68788
68789 2006-12-26  Eric Blake  <ebb9@byu.net>
68790
68791         * modules/absolute-header: New module.
68792         * modules/fcntl (Depends-on): Depend on it.
68793         * modules/inttypes (Depends-on): Likewise.
68794         * modules/stdint (Depends-on): Likewise.
68795         * modules/sys_stat (Depends-on): Likewise.
68796         * modules/wctype (Depends-on): Likewise.
68797         * MODULES.html.sh (Support for building libraries and
68798         executables): Document it.
68799
68800 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
68801
68802         * gnulib-tool (SED): Remove, undoing previous change.
68803         The problem was that it broke coreutils on Solaris, because
68804         "sed --posix" leaked into a makefile.
68805         (sed): New alias, if 'alias' and GNU sed.
68806
68807 2006-12-24  Jim Meyering  <jim@meyering.net>
68808
68809         Work around an fchownat bug in glibc-2.4:
68810         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
68811         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
68812         in spite of the -P option.
68813         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
68814         New macros.
68815         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
68816         * modules/openat (Files): Add lib/fchownat.c.
68817         * lib/openat.c (fchownat): Don't define here.  Move to...
68818         * lib/fchownat.c: ...this new file.
68819
68820 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68821
68822         Fix bug reported by Bruno Haible in
68823         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
68824         where quotearg.c didn't compile on Mac OS X 10.2 because it
68825         lacks <wchar.h> and wint_t.
68826         * lib/wctype_.h (__wctype_wint_t): New type.
68827         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
68828         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
68829         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
68830         Arg is now of type __wctype_wint_t, not wint_t.
68831         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
68832         substitute HAVE_WINT_T.
68833         * modules/wctype (Files): Add m4/wint_t.m4.
68834         (wctype.h): Substitute HAVE_WINT_T.
68835
68836 2006-12-23  Bruno Haible  <bruno@clisp.org>
68837
68838         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
68839
68840 2006-12-23  Bruno Haible  <bruno@clisp.org>
68841
68842         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
68843         S_ISLNK.
68844         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
68845         mingw.
68846
68847 2006-12-22  Bruno Haible  <bruno@clisp.org>
68848
68849         * lib/copy-file.c: Include acl.h.
68850         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
68851         Close the file descriptors only after being done with copy_acl.
68852         * modules/copy-file (Depends-on): Add acl.
68853
68854 2006-12-22  Bruno Haible  <bruno@clisp.org>
68855
68856         * gnulib-tool (SED): New variable.
68857         Use $SED instead of sed everywhere.
68858
68859 2006-12-22  Bruno Haible  <bruno@clisp.org>
68860
68861         * modules/no-c++: New file.
68862         * m4/no-c++.m4: New file.
68863         * MODULES.html.sh (Support for building libraries and executables):
68864         Add no-c++.
68865
68866 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
68867
68868         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
68869         Include <limits.h>, and use its INT_MAX to rewrite the
68870         j loop so that it does not overflow 'int'.  Problem reported by
68871         Ralf Wildenhues in
68872         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
68873         Play it safe by shifting left by 1 rather than multiplying by 2,
68874         as GCC is less likely to optimize this away when the value
68875         is signed (when it assumes overflow leads to undefined behavior).
68876         Also, don't assume time_t uses two's complement.
68877
68878 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
68879
68880         * MODULES.html.sh: New module wctype.
68881         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
68882         * lib/fnmatch.c: Don't bother to include <wchar.h> before
68883         <wctype.h>, since the new wctype module should fix this.
68884         * lib/quotearg.c: Include <wctype.h> unconditionally, since
68885         the wctype module should arrange for it.
68886         * lib/regex_internal.h: Likewise.
68887         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
68888         since the wctype module should handle this now.
68889         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
68890         * modules/fnmatch (Depends-on): Add wctype.
68891         * modules/quotearg (Depends-on): Likewise.
68892         * modules/regex (Depends-on): Likewise.
68893
68894 2006-12-19  Bruno Haible  <bruno@clisp.org>
68895
68896         * lib/strdup.h [C++]: Wrap definitions in extern "C".
68897         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
68898
68899 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68900
68901         * modules/savewd (Depends-on): Fix dependency on fcntl.
68902
68903 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68904
68905         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
68906         conforms to C99, rather than relying on the user's environment
68907         setting of STDINT_H.
68908
68909 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
68910         and Eric Blake  <ebb9@byu.net>
68911
68912         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
68913         This is more consistent with the other defines here.
68914         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
68915         Port to z/OS.  Problem reported by Paul Gilmartin.
68916         Change local vars to use gl_ prefix rather than ac_.
68917         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
68918         with other defines.
68919         * modules/double-slash-root: New module.
68920         * modules/dirname (Files): Remove m4/double-slash-root.m4.
68921         (Depends-on): Add double-slash-root.
68922         * MODULES.html.sh (File system functions): Mention new module.
68923
68924 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
68925
68926         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
68927         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
68928         This is for the benefit of gzip, which doesn't do i18n.
68929
68930 2006-12-12  Jim Meyering  <jim@meyering.net>
68931
68932         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
68933         Reported by Andreas Schwab <schwab@suse.de>.
68934
68935 2006-12-12  Bruno Haible  <bruno@clisp.org>
68936
68937         Merge these changes.
68938         2006-09-05  Bruno Haible  <bruno@clisp.org>
68939         * lib/iconvme.c (iconv_string): No need to save and restore errno when
68940         iconv_alloc succeeded.
68941         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
68942         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
68943         test for " && dest " at the end - dest is always != NULL there. Call
68944         iconv with 4xNULL arguments initially, to reset the state. Call iconv
68945         with 2xNULL arguments, also to flush the state storage. Handle the
68946         IRIX iconv behaviour. Realloc the final result, to throw away unused
68947         memory.
68948
68949 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
68950
68951         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
68952         and fchmodat unconditionally, since glibc 2.4 has them.
68953         Problem reported by Arkadiusz Miskiewicz.
68954
68955 2006-12-10  Bruno Haible  <bruno@clisp.org>
68956
68957         * gnulib-tool (func_import): Show the include files only for those
68958         modules that are copied and specified.
68959         Reported by Karl Berry.
68960
68961 2006-12-08  Jim Meyering  <jim@meyering.net>
68962
68963         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
68964         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68965
68966         * build-aux/announce-gen: Add two new options, both optional:
68967         --bootstrap-tools=TOOL_LIST
68968               a comma-separated list of tools, e.g.,
68969               autoconf,automake,bison,gnulib
68970         --gnulib-snapshot-date=DATE
68971               if gnulib is in the bootstrap tool list,
68972               then report this as the snapshot date.
68973               If not specified, use the current date/time.
68974               If you specify a date here, be sure it's UTC.
68975
68976 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68977
68978         * tests/test-argp-2.sh: Fix test to match actual output.
68979         (func_compare): Fix sed script to be portable.
68980
68981 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68982
68983         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68984         workaround for this case.  It is not autoconfigured now; offhand
68985         it's hard to see how to autoconfigure it.
68986
68987 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68988
68989         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68990         a directory that is about to be chowned.  Such a directory's
68991         initial file permissions should permit the owner only and this
68992         should not be changed until after the chown, since the group and
68993         other bits would be incorrect if they granted permission before
68994         the chown.
68995
68996         Fix porting problem for iswctype reported by Georg Schwarz in:
68997         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68998         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68999         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69000         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69001         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69002
69003 2006-12-03  Jim Meyering  <jim@meyering.net>
69004
69005         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69006         p->fts_statp may not yet be defined.
69007         (fts_read): Instead, set it in the caller, once p->fts_statp is
69008         sure to be defined, and corresponds to a top-level directory.
69009         This bug made du -x fail.  Here's the coreutils test case:
69010         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69011         Reported by Mike Frysinger.
69012
69013 2006-12-01  Jim Meyering  <jim@meyering.net>
69014
69015         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69016         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69017         Reported by Simon Josefsson.
69018
69019 2006-11-30  Jim Meyering  <jim@meyering.net>
69020
69021         * m4/warning.m4: Use the all-permissive copyright notice
69022         recommended by RMS (rather than LGPL).
69023         * m4/vararrays.m4: Likewise.
69024         * m4/flexmember.m4: Likewise.
69025
69026 2006-11-29  Bruno Haible  <bruno@clisp.org>
69027
69028         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69029         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69030         using +=.
69031         Reported by Simon Josefsson <simon@josefsson.org>.
69032
69033 2006-11-28  James Youngman <jay@gnu.org>
69034
69035         * README: Advise users that they might find the bug-gnulib@gnu.org
69036         and autotools-announce@gnu.org mailing lists useful.
69037
69038 2006-11-28  Bruno Haible  <bruno@clisp.org>
69039
69040         * m4/ptrdiff_max.m4: Remove file.
69041
69042 2006-11-21  Bruno Haible  <bruno@clisp.org>
69043
69044         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69045         _AC_COMPUTE_INT.
69046         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69047         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69048         _AC_COMPUTE_INT.
69049         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69050         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69051         _AC_COMPUTE_INT.
69052         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69053
69054 2006-11-28  Jim Meyering  <jim@meyering.net>
69055
69056         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69057         warning from "gcc -Wshadow" about shadowing the builtin.
69058
69059 2006-11-27  Bruno Haible  <bruno@clisp.org>
69060
69061         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69062         _AC_COMPUTE_INT.
69063         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69064
69065 2006-11-27  Bruno Haible  <bruno@clisp.org>
69066             Paul Eggert  <eggert@cs.ucla.edu>
69067
69068         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69069
69070 2006-11-26  Bruno Haible  <bruno@clisp.org>
69071
69072         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69073         noinst_LTLIBRARIES.
69074
69075 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69076             Bruno Haible  <bruno@clisp.org>
69077
69078         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69079         if compiling with "gcc -ansi".
69080
69081 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69082
69083         Fix some incompatibilities with gcc -ansi -pedantic.
69084         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69085         if compiling pedantically with GCC, unless it's C99 or later.
69086         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69087         it mishandles gcc -ansi -pedantic as well.
69088         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69089         if gcc -pedantic.
69090         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69091         initializers for struct if -pedantic, unless it's C99 or later.
69092
69093 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69094
69095         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69096         Don't close an fd more than once. Identical atimes indicate
69097         success, not failure.
69098
69099 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69100
69101         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69102
69103 2006-11-23  Jim Meyering  <jim@meyering.net>
69104
69105         * build-aux/announce-gen: New file.  From coreutils.
69106
69107 2006-11-22  Jim Meyering  <jim@meyering.net>
69108
69109         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69110         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69111         (fts_read): Use a temporary to narrow the overused st_size member
69112         before using it in a switch statement.  Reported by Matthew Woehlke.
69113
69114         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69115         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69116
69117 2006-11-20  Bruno Haible  <bruno@clisp.org>
69118
69119         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69120         changequote instead of pairs of brackets.
69121         Reported by Andreas Schwab <schwab@suse.de>.
69122
69123 2006-11-21  Jim Meyering  <jim@meyering.net>
69124
69125         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69126         so as to remain compatible with older compilers.
69127         Patch from Michael Deutschmann.
69128
69129 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69130
69131         * MODULES.html.sh (File system functions): Add openat.
69132
69133         * lib/openat.h (rpl_fstatat): New macro, if
69134         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69135         (fstatat): Define to rpl_fstatat under the same conditions,
69136         unless COMPILING_FSTATAT.
69137         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69138         seems to have the bug.
69139         * lib/fstatat.c: New file.
69140         * modules/openat (Files): Add it.
69141
69142 2006-11-20  Bruno Haible  <bruno@clisp.org>
69143
69144         * Makefile: New file.
69145
69146 2006-11-20  Jim Meyering  <jim@meyering.net>
69147
69148         The beginnings of syntax-related checks for gnulib.
69149         * lib/Makefile: New file.
69150         * lib/t-idcache: New script.  Ensure that the two halves of
69151         idcache.c stay in sync.
69152
69153         * lib/idcache.c: Adjust comments in user- and group- portions to
69154         be more accurate, and to be consistent with one another.
69155
69156 2006-11-20  Jim Meyering  <jim@meyering.net>
69157
69158         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69159         continue using the flexible array member (thus, this module performs
69160         half as many malloc calls), with the addition that...
69161         (getgroup, getuser): Consistently record a non-match via an empty
69162         "name" string, and map an empty string match to a NULL return value.
69163         * modules/idcache (Depends-on): Re-add flexmember.
69164
69165         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69166         (getuidbyname, getgroup, getgidbyname): Likewise.
69167
69168         Use cleaner syntax: NULL rather than 0.
69169         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69170
69171 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69172
69173         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69174         It mishandled the case where the group was missing.
69175         Problem reported by Greg Schafer.
69176         * modules/idcache: Likewise.
69177
69178 2006-11-18  Jim Meyering  <jim@meyering.net>
69179
69180         * check-module (%exempt_header): Add exception for some
69181         conditionally-included headers.
69182
69183         * modules/i-ring (Depends-on): Add verify.
69184         (License): Change to LGPL.
69185
69186 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69187
69188         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69189         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69190         and inttostr.h.  Use snprintf rather than uinttostr, so that
69191         LGPLed code doesn't depend on GPLed.
69192
69193 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69194
69195         * modules/inline (License): Change from GPL to LGPL.
69196
69197 2006-11-17  Jim Meyering  <jim@meyering.net>
69198
69199         * modules/d-type (License): Switch to LGPL.
69200
69201 2006-11-15  Bruno Haible  <bruno@clisp.org>
69202
69203         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69204
69205 2006-11-15  Eric Blake  <ebb9@byu.net>
69206
69207         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69208         the module dependency.
69209
69210 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69211             Bruno Haible  <bruno@clisp.org>
69212
69213         * gnulib-tool (func_create_testdir): Add license consistency check.
69214
69215 2006-11-15  Eric Blake  <ebb9@byu.net>
69216
69217         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69218         random "(cached)" in configure output.
69219
69220 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69221
69222         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69223         test for conforming inttypes.h is both announced and cached.
69224
69225         * MODULES.html.sh (seen_modules, seen_files): New variables.
69226         (func_module): Rewrite to use a few less gnulib-tool and sed
69227         invocations.  Avoid a couple of quadratic algorithms for ...
69228         (missed_modules, missed_files): ... these, with ...
69229         (func_append, func_tmpdir): ... these new functions, from
69230         gnulib-tool.  Analogously, install traps for cleanup.
69231
69232         * tests/test-gc.c (main): Remove unused variables.
69233         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69234
69235 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69236
69237         * modules/inttostr (License): Change to LGPL.
69238
69239 2006-11-14  Eric Blake  <ebb9@byu.net>
69240
69241         * modules/tempname (License): Change to LGPL.
69242
69243 2006-11-14  Eric Blake  <ebb9@byu.net>
69244
69245         * doc/functions.texi (Function Portability): *printf functions on
69246         Cygwin now understand all POSIX size specifiers.
69247
69248 2006-11-14  Bruno Haible  <bruno@clisp.org>
69249
69250         * modules/c-ctype (License): Change to LGPL.
69251
69252 2006-11-12  Bruno Haible  <bruno@clisp.org>
69253
69254         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69255         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69256         for GNOME libraries, for which the include files are installed in
69257         subdirectories of $prefix/include.
69258
69259 2006-11-12  Bruno Haible  <bruno@clisp.org>
69260
69261         * m4/lib-link.m4: Require at least autoconf-2.54.
69262         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69263         name to underscores for the --with option.
69264
69265 2006-11-13  Bruno Haible  <bruno@clisp.org>
69266
69267         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69268         the tests directory.
69269         Reported by Ralf Wildenhues.
69270
69271 2006-11-13  Bruno Haible  <bruno@clisp.org>
69272
69273         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69274         (func_emit_initmacro_end): Undo the override here.
69275         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69276         Works around the famous automake error in coreutils.
69277
69278 2006-11-13  Eric Blake  <ebb9@byu.net>
69279
69280         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69281         element, not its node.
69282
69283 2006-11-12  Bruno Haible  <bruno@clisp.org>
69284
69285         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69286         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69287
69288 2006-11-12  Bruno Haible  <bruno@clisp.org>
69289
69290         * gnulib-tool: New option --local-symlink.
69291         (func_usage): Document it.
69292         (lsymbolic): New variable.
69293         (func_import, func_create_testdir): If --symlink was not specified,
69294         test whether --local-symlink was specified and the file comes from
69295         the local_gnulib_dir.
69296
69297 2006-11-12  Bruno Haible  <bruno@clisp.org>
69298
69299         * gnulib-tool (func_ln): New function.
69300         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69301
69302 2006-11-12  Bruno Haible  <bruno@clisp.org>
69303
69304         Finish support for source files in subdirectories.
69305         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69306         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69307         AUTOMAKE_OPTIONS.
69308         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69309
69310 2006-11-12  Bruno Haible  <bruno@clisp.org>
69311
69312         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69313         EXTRA_lib_SOURCES augmentation.
69314         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69315
69316 2006-11-12  Jim Meyering  <jim@meyering.net>
69317
69318         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69319         file descriptors.  This also averts a failure on systems with
69320         native openat support when a traversed directory lacks "x" access.
69321         * lib/fts_.h: Include "i-ring.h"
69322         (struct FTS) [fts_fd_ring]: New member.
69323         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69324         (FCHDIR): Add parentheses.
69325         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69326         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69327         When descending, rather than simply closing the previous
69328         fts_cwd_fd value, push that file descriptor onto the ring.
69329         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69330         (fts_open): Initialize the new fd_ring member.
69331         (fts_close): Clear the ring.
69332         (fts_safe_changedir): When possible, use our new fd_ring to skip
69333         the diropen and fstat and dev/ino comparison that would normally
69334         accompany a virtual `chdir ("..")'.
69335
69336         * modules/fts (Depends-on): Add i-ring.
69337         * modules/i-ring: New module.
69338         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
69339         * m4/i-ring.m4: New file.
69340
69341 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69342
69343         * gnulib-tool (func_create_testdir): Fix replacement of
69344         `build-aux' in configure.ac.  Run autotools in gltests
69345         subdirectory.
69346         (func_create_testdir, func_create_megatestdir, test): There is
69347         no need for '--force' in most autotool invocations in a new
69348         tree.  Actually fail the whole test if any of the tools, or the
69349         configure or make stages fail.
69350
69351         Sync from Automake.
69352         * build-aux/gnupload: Revert last change.  Add pointer to upload
69353         instructions of the GNU Maintenance Instructions.
69354         Suggestion by Karl Berry.
69355
69356 2006-11-10  Jim Meyering  <jim@meyering.net>
69357
69358         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
69359
69360 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69361
69362         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
69363         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
69364         (bind_textdomain_codeset) [! ENABLE_NLS]:
69365         Evaluate all the arguments.  That way, callers get compatible behavior
69366         if the arguments have side effects.  Also, it avoids some GCC
69367         diagnostics in some cases; Joel E. Denny reported problems when Bison
69368         was configured with --enable-gcc-warnigs.
69369
69370 2006-11-10  Jim Meyering  <jim@meyering.net>
69371
69372         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
69373         relevant options in CFLAGS (like -O, -fno-inline) are taken into
69374         account.
69375
69376 2006-11-10  Jim Meyering  <jim@meyering.net>
69377
69378         * modules/inline: New file/module.
69379         * modules/xalloc (Files): Remove m4/inline.m4.
69380         (Depends-on): Add inline, instead.
69381         * modules/oset: Likewise.
69382         * modules/list: Likewise.
69383
69384 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69385
69386         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
69387         Problem reported by Matthew Woehlke.
69388
69389 2006-11-09  Bruno Haible  <bruno@clisp.org>
69390
69391         * lib/tempname.c (gen_tempname): Remove variant that invokes
69392         __gen_tempname.
69393         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
69394         __gen_tempname.
69395
69396 2006-11-08  Bruno Haible  <bruno@clisp.org>
69397
69398         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
69399         to 'yes' instead of 'cross-compiling'.
69400
69401 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
69402
69403         * lib/quotearg.h (quotearg_free): New decl.
69404         * lib/quotearg.c (quotearg_free): New function.
69405         (slot0, nslots, slotvec0, slotvec):
69406         Now file-scope so that quotearg_free can get at them.
69407
69408 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69409
69410         Sync from Automake.
69411         * build-aux/gnupload: Add missing 'gnu' to example URL.
69412         Report by Karl Berry.
69413
69414 2006-11-08  Bruno Haible  <bruno@clisp.org>
69415
69416         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
69417         Suggested by Paul Eggert.
69418
69419 2006-11-08  Jim Meyering  <jim@meyering.net>
69420
69421         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
69422         It's already included if !_LIBC.
69423         (fts_safe_changedir): Add a comment.
69424
69425 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69426
69427         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
69428         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
69429         Matthew Woehlke.
69430
69431         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
69432         definitions up, to avoid colliding with change below.
69433         (static_inline) [HAVE_INLINE]: New macro.
69434         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
69435         Provide extern decls when !HAVE_INLINE.  Do not define unless
69436         static_inline is defined, either by us or by xmalloc.c.  Use
69437         static_inline rather than static inline.
69438         (XCALLOC): Optimize sizeof(T) = 1 case.
69439         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
69440
69441 2006-11-07  Bruno Haible  <bruno@clisp.org>
69442
69443         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
69444         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
69445         AC_C_INLINE.
69446         * modules/xalloc (Files): Add m4/inline.m4.
69447
69448 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69449
69450         * README: Fix typo.
69451         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
69452         (Miscellanous Notes): ...from this.
69453
69454 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
69455
69456         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
69457         Mention that offsetof should be used instead of sizeof.
69458         From Bruno Haible.
69459
69460 2006-11-07  Bruno Haible  <bruno@clisp.org>
69461
69462         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
69463
69464 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69465
69466         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69467         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
69468         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69469         (gl_tree_add_before, gl_tree_add_after):
69470         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
69471         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
69472         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69473         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
69474         (gl_linked_add_after, gl_linked_add_at): Likewise.
69475         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
69476         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
69477         (gl_tree_add_before, gl_tree_add_after): Likewise.
69478         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
69479         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
69480         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
69481
69482 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69483
69484         * lib/gl_oset.h: Use C comment style, not C++ comment style.
69485
69486 2006-11-06  Bruno Haible  <bruno@clisp.org>
69487
69488         * m4/inline.m4: New file.
69489         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
69490         * modules/list (Files): Add m4/inline.m4.
69491         * modules/oset (Files): Likewise.
69492
69493 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
69494
69495         * lib/idcache.c: Include <stddef.h>, for offsetof.
69496         (struct userid.name): Change from char * to a flexible array member.
69497         All uses changed.
69498         * modules/idcache (Depends-on): Add flexmember.
69499
69500         * MODULES.html.sh (Core language properties): New module flexmember.
69501         * modules/flexmember, m4/flexmember.m4: New files.
69502
69503         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
69504         inline functions that are identical with the old xnmalloc_inline,
69505         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
69506         that we can avoid some unnecessary integer multiplications and
69507         divisions in the common case where the element size is known at
69508         compile time.
69509         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
69510         needed.
69511         (xnboundedmalloc): Remove.
69512         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
69513         arguments, for consistency with rest of this header.
69514         (xcharalloc): Rewrite using XNMALLOC.
69515         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
69516         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
69517         versions have been moved to lib/xalloc.h and renamed to be the
69518         non-*_inline versions.
69519         (xmalloc, xrealloc): Implement without reference to the xnmalloc
69520         and xnrealloc functions, since those functions are now inline and
69521         now call us.
69522         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
69523         renaming described above.
69524         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
69525         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
69526         captures the dependency in AC_C_INLINE.
69527
69528         New module canonicalize-lgpl, proposed by Charles Wilson in
69529         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
69530         with a few small changes afterwards.
69531         * MODULES.html.sh (File system functions): New module
69532         canonicalize-lgpl.
69533         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
69534         and canonicalize_file_name.
69535         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
69536         * modules/canonicalize-lgpl: New files.
69537
69538 2006-11-05  Bruno Haible  <bruno@clisp.org>
69539
69540         * gnulib-tool (func_import, func_create_testdir): Create directories
69541         also for files in subdirectories of lib/.
69542
69543 2006-11-05  Bruno Haible  <bruno@clisp.org>
69544
69545         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
69546         ANSI C compliant.
69547
69548 2006-11-03  Bruno Haible  <bruno@clisp.org>
69549
69550         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
69551         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
69552         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
69553         (xnboundedmalloc): New inline function.
69554         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
69555         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
69556         xmalloc.
69557         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
69558         xmalloc.
69559         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
69560         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
69561         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
69562         xmalloc.
69563         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69564         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
69565         xmalloc.
69566         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
69567         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69568         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
69569         xmalloc.
69570         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
69571         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
69572         gl_tree_add_after): Use XMALLOC instead of xmalloc.
69573         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
69574         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
69575         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
69576         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
69577
69578 2006-11-03  Bruno Haible  <bruno@clisp.org>
69579
69580         * lib/c-ctype.h [C++]: Define functions without name mangling.
69581         * lib/fwriteerror.h [C++]: Likewise.
69582         * lib/gcd.h [C++]: Likewise.
69583         * lib/linebreak.h [C++]: Likewise.
69584
69585 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69586
69587         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
69588         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
69589         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
69590         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
69591         Check for functions and headers just once.
69592         Check for declaration of canonicalize_file_name.
69593         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
69594
69595 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69596
69597         * gnulib-tool (func_import): Fix typo in actioncmd.
69598
69599 2006-11-02  Bruno Haible  <bruno@clisp.org>
69600
69601         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
69602         newline sequence in the Makefile.am snippet as a space, like "make"
69603         does.
69604         Reported by Roger Persson <perrog@gmail.com>.
69605
69606 2006-11-01  Bruno Haible  <bruno@clisp.org>
69607
69608         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
69609         already declared in <string.h>.
69610         * lib/strcase.h (strncasecmp): Don't declare it if yes.
69611
69612 2006-11-01  Bruno Haible  <bruno@clisp.org>
69613
69614         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
69615         * lib/strcase.h: Include <string.h>.
69616         (strcasecmp): Define to rpl_strcasecmp here.
69617
69618 2006-11-01  Bruno Haible  <bruno@clisp.org>
69619
69620         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
69621
69622 2006-11-01  Eric Blake  <ebb9@byu.net>
69623
69624         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
69625
69626         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
69627
69628 2006-10-29  Bruno Haible  <bruno@clisp.org>
69629
69630         Make it compile in C++ mode.
69631         * lib/full-write.c (full_rw): Add a cast.
69632
69633 2006-11-01  Bruno Haible  <bruno@clisp.org>
69634
69635         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
69636         be POSIX compliant.
69637         Reported by Roger Persson <perrog@gmail.com>.
69638
69639 2006-11-01  Eric Blake  <ebb9@byu.net>
69640
69641         * lib/getopt_.h: Fix comments.
69642
69643 2006-10-31  Eric Blake  <ebb9@byu.net>
69644
69645         * modules/tmpdir (Depends-on): Add sys_stat.
69646         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
69647         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
69648         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
69649         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
69650         tempname.
69651
69652 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
69653
69654         Avoid some C++ diagnostics reported by Bruno Haible.
69655         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
69656         xmalloc.
69657         (quotearg_alloc): Use xcharalloc rather than xmalloc.
69658         (struct slotvec): Move to top level.
69659         (quotearg_n_options): Rewrite to avoid xmalloc.
69660         * lib/xalloc.h (xcharalloc): New function.
69661         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
69662         [defined __cplusplus]: Add function template that provides result
69663         type propagation.  This part of the change is from Bruno Haible.
69664
69665 2006-10-29  Bruno Haible  <bruno@clisp.org>
69666
69667         Make it compile in C++ mode.
69668         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
69669         * lib/strnlen1.c (strnlen1): Cast memchr result.
69670         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
69671         * lib/clean-temp.c (string_equals, string_hash): Add casts.
69672         (create_temp_dir): Rename local variable 'template'.
69673         (compile_csharp_using_sscli): Add cast.
69674         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
69675         * lib/findprog.c (find_in_path): Likewise.
69676         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
69677         * lib/wait-process.c (register_slave_subprocess): Likewise.
69678
69679 2006-10-22  Bruno Haible  <bruno@clisp.org>
69680
69681         * modules/tsearch: New file.
69682         * lib/tsearch.h: New file.
69683         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
69684         * m4/tsearch.m4: New file.
69685         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
69686
69687 2006-10-29  Eric Blake  <ebb9@byu.net>
69688
69689         * lib/arcfour.c: Assume config.h.
69690         * lib/arctwo.c: Likewise.
69691         * lib/base64.c: Likewise.
69692         * lib/check-version.c: Likewise.
69693         * lib/crc.c: Likewise.
69694         * lib/des.c: Likewise.
69695         * lib/gc-gnulib.c: Likewise.
69696         * lib/gc-libgcrypt.c: Likewise.
69697         * lib/gc-pbkdf2-sha1.c: Likewise.
69698         * lib/getaddrinfo.c: Likewise.
69699         * lib/getdelim.c: Likewise.
69700         * lib/getline.c: Likewise.
69701         * lib/hmac-md5.c: Likewise.
69702         * lib/hmac-sha1.c: Likewise.
69703         * lib/iconvme.c: Likewise.
69704         * lib/md2.c: Likewise.
69705         * lib/md4.c: Likewise.
69706         * lib/memxor.c: Likewise.
69707         * lib/read-file.c: Likewise.
69708         * lib/readline.c: Likewise.
69709         * lib/rijndael-alg-fst.c: Likewise.
69710         * lib/rijndael-api-fst.c: Likewise.
69711         * lib/xgetdomainname.c: Likewise.
69712
69713 2006-10-28  Eric Blake  <ebb9@byu.net>
69714
69715         * lib/xstrndup.c: Assume config.h.
69716
69717 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69718
69719         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
69720         stat-macros.h is now for our own macros, whereas stat_h is for
69721         macros in the <sys/stat.h> name space.
69722         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
69723         (STAT_MACROS_H): Remove.
69724         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
69725         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
69726         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
69727         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
69728         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
69729         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
69730         Move these macros to ...
69731         * lib/stat_.h: here.  Don't include stat-macros.h.
69732         * lib/canonicalize.c: Don't include stat-macros.h.
69733         * lib/chown.c: Likewise.
69734         * lib/euidaccess.c: Likewise.
69735         * lib/file-type.c: Likewise.
69736         * lib/filemode.c: Likewise.
69737         * lib/glob.c: Likewise.
69738         * lib/isapipe.c: Likewise.
69739         * lib/lchown.c: Likewise.
69740         * lib/lstat.c: Likewise.
69741         * lib/mkdir-p.c: Likewise.
69742         * lib/rmdir.c: Likewise.
69743         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
69744         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
69745         unless mkdir isn't declared, to speed up 'configure'.
69746         Always create sys/stat.h, since it's unlikely any real sys/stat.h
69747         would define all the S_* symbols.
69748         * modules/canonicalize (Depends-on):
69749         Depend on sys_stat, not stat-macros.
69750         * modules/chown: Likewise.
69751         * modules/euidaccess: Likewise.
69752         * modules/filemode: Likewise.
69753         * modules/file-type: Likewise.
69754         * modules/glob: Likewise.
69755         * modules/isapipe: Likewise.
69756         * modules/lchown: Likewise.
69757         * modules/lstat: Likewise.
69758         * modules/mkancesdirs: Likewise.
69759         * modules/rmdir: Likewise.
69760         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
69761         * modules/modechange: Likewise.
69762         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
69763         (configure.ac): Remove gl_STAT_MACROS.
69764         * modules/sys_stat (Depends-on): Remove stat-macros.
69765
69766 2006-10-27  Bruno Haible  <bruno@clisp.org>
69767
69768         * m4/signed.m4: Remove file.
69769         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
69770         invocation.
69771         * modules/vasnprintf (Files): Remove m4/signed.m4.
69772
69773 2006-10-27  Bruno Haible  <bruno@clisp.org>
69774
69775         Update to GNU gettext 0.16.
69776         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
69777         m4/inttypes-h.m4, m4/signed.m4.
69778         * m4/gettext.m4: Update to GNU gettext 0.16.
69779         * m4/intl.m4: New file, from GNU gettext.
69780         * m4/intldir.m4: New file, from GNU gettext.
69781         * config/srclist.txt: Update
69782
69783 2006-10-27  Eric Blake  <ebb9@byu.net>
69784
69785         * MODULES.html.sh: Document tempname.
69786         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
69787         dependencies.
69788         (Files): Move lib/tempname.c...
69789         * modules/tempname: ...to this new module.
69790         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
69791         (gl_PREREQ_TEMPNAME): Move...
69792         * m4/tempname.m4: ...to this new file.
69793         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
69794         * modules/sys_stat (Depends-on): Add stat-macros.
69795         * lib/stat_.h (includes): Pick up stat macros.
69796         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
69797         if stat macros are broken.
69798         * lib/tempname.c (includes): No need to include "stat-macros.h".
69799         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
69800         (direxists, __path_search) [!_LIBC]: Don't compile these in
69801         gnulib; the tmpdir module covers that.
69802         * lib/tempname.h: New file.
69803
69804 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
69805
69806         * COPYING: Explain how gnulib-tool converts licence headers.
69807         Almost all wording by Eric Blake.
69808
69809 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
69810
69811         * lib/mbchar.h (is_basic_table): Make read-only.
69812         * lib/mbchar.c (is_basic_table): Likewise.
69813         Reported by John Darrington.
69814
69815 2006-10-25  Bruno Haible  <bruno@clisp.org>
69816
69817         * lib/progname.h (set_program_name): Undefine before defining.
69818
69819 2006-10-25  Bruno Haible  <bruno@clisp.org>
69820
69821         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
69822         false for non-gcc C++ compilers.
69823         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
69824
69825 2006-10-24  Bruno Haible  <bruno@clisp.org>
69826
69827         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
69828         iconv implementations like Irix iconv.
69829
69830 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69831
69832         * modules/vararrays: New file.
69833         * m4/vararrays.m4: New file, taken from diffutils.
69834         * MODULES.html.sh: New module vararrays.
69835
69836 2006-10-24  Karl Berry  <karl@gnu.org>
69837
69838         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
69839         Don't call GNU Unix.
69840
69841 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69842
69843         * users.txt: Add Libtool.
69844
69845         Sync from Libtool:
69846
69847         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69848
69849         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
69850         to gnulib's policy of including config.h unconditionally.
69851
69852 2006-10-24  Bruno Haible  <bruno@clisp.org>
69853
69854         * modules/wcwidth (Files): Add m4/wint_t.m4.
69855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
69856         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
69857
69858 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69859
69860         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
69861         to pacify GCC with some -W flags enabled.  Problem reported by
69862         Bruno Haible.
69863
69864 2006-10-24  Jim Meyering  <jim@meyering.net>
69865
69866         * MODULES.html.sh: Remove uinttostr.  It's not a module.
69867         Reported by Karl Berry.
69868
69869 2006-10-23  Bruno Haible  <bruno@clisp.org>
69870
69871         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
69872
69873 2006-10-24  Bruno Haible  <bruno@clisp.org>
69874
69875         * lib/gl_list.h: Use C comment style, not C++ comment style.
69876
69877 2006-10-23  Eric Blake  <ebb9@byu.net>
69878
69879         * lib/getaddrinfo.c (includes): Add missing include.
69880
69881 2006-10-23  Bruno Haible  <bruno@clisp.org>
69882             Paul Eggert  <eggert@cs.ucla.edu>
69883
69884         Ability to rename obstack_free.
69885         * lib/obstack.h (__obstack_free): New macro. Declare instead of
69886         obstack_free.
69887         (obstack_free): Invoke the __obstack_free macro.
69888         * lib/obstack.c (obstack_free): Use __obstack_free macro.
69889
69890 2006-10-23  Bruno Haible  <bruno@clisp.org>
69891             Paul Eggert  <eggert@cs.ucla.edu>
69892
69893         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
69894         __argc, __argv from the declaration. (They are defined as macros on
69895         mingw.)
69896
69897 2006-10-22  Bruno Haible  <bruno@clisp.org>
69898
69899         * doc/gnulib-intro.texi: New file.
69900         * doc/gnulib.texi: Include it.
69901
69902 2006-10-21  Bruno Haible  <bruno@clisp.org>
69903
69904         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
69905         "Introduction", "Miscellanous Notes", "Particular Modules".
69906
69907 2006-10-21  Bruno Haible  <bruno@clisp.org>
69908
69909         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69910         Change mostlyclean-local rule to avoid sh syntax error from bash
69911         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
69912
69913 2006-10-23  Jim Meyering  <jim@meyering.net>
69914
69915         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
69916         in place of snprintf.
69917
69918         * modules/inttostr (Files): Add lib/uinttostr.c.
69919         * lib/uinttostr.c (inttostr): New file/function.
69920         * lib/inttostr.h (uinttostr): Declare.
69921         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
69922         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
69923         Add uinttostr.
69924         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
69925
69926 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69927
69928         * lib/canonicalize.c (ELOOP): Define if not already defined.
69929         Problem reported by Bruno Haible in
69930         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
69931
69932 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
69933
69934         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
69935         Problem reported by Perry Smith and Ville Laurikari.
69936
69937         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
69938         uses.
69939
69940 2006-10-19  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
69943         for mingw.
69944
69945 2006-10-19  Bruno Haible  <bruno@clisp.org>
69946
69947         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
69948         Needed for mingw.
69949
69950 2006-10-19  Bruno Haible  <bruno@clisp.org>
69951
69952         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
69953
69954 2006-10-19  Bruno Haible  <bruno@clisp.org>
69955
69956         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
69957         it.
69958
69959 2006-10-19  Bruno Haible  <bruno@clisp.org>
69960
69961         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
69962         invocation.
69963
69964 2006-10-19  Bruno Haible  <bruno@clisp.org>
69965
69966         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69967         mountlist by default.
69968
69969 2006-10-16  Bruno Haible  <bruno@clisp.org>
69970
69971         * lib/c-strstr.c: Include c-strstr.h.
69972
69973 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69974
69975         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69976         in a slash.
69977
69978 2006-10-18  Bruno Haible  <bruno@clisp.org>
69979
69980         * lib/lock.h [C++]: Wrap definitions in extern "C".
69981
69982 2006-10-18  Bruno Haible  <bruno@clisp.org>
69983
69984         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69985         gl_LIBOBJS list.
69986
69987 2006-10-18  Bruno Haible  <bruno@clisp.org>
69988
69989         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69990
69991 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69992
69993         * lib/xstrtol.h: Include gettext.h.
69994         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69995         Problem reported by Eric Blake.
69996         * modules/xstrtol (Depends-on): Add gettext-h.
69997
69998 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69999
70000         * lib/strftime.c (advance): New macro.
70001         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70002         incomplete type, so you can't add 0 to it.  Problem and patch
70003         reported by Eelco Dolstra for dietlibc.
70004
70005 2006-10-18  Jim Meyering  <jim@meyering.net>
70006
70007         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70008         type for a local, and rename it: s/up/user_proc/.
70009
70010 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70011
70012         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70013         READ_UTMP_USER_PROCESS.
70014         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70015
70016 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70017
70018         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70019         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70020
70021 2006-10-17  Eric Blake  <ebb9@byu.net>
70022
70023         * lib/sigprocmask.c (sigprocmask): Fix typo.
70024
70025         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70026
70027         * modules/clean-temp (Makefile.am): Don't add to make output...
70028         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70029         config.h.
70030
70031 2006-10-17  Bruno Haible  <bruno@clisp.org>
70032
70033         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70034         differently if DEFAULT_TEXT_DOMAIN is set.
70035
70036 2006-10-16  Bruno Haible  <bruno@clisp.org>
70037
70038         * lib/clean-temp.c: Include fwriteerror.h.
70039
70040 2006-10-16  Bruno Haible  <bruno@clisp.org>
70041
70042         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70043
70044 2006-10-16  Bruno Haible  <bruno@clisp.org>
70045
70046         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70047         * lib/sigprocmask.h: Include <sys/types.h>.
70048         (sigset_t): Use the system's definition if present.
70049
70050 2006-10-17  Eric Blake  <ebb9@byu.net>
70051
70052         * lib/xvasprintf.c (includes): Assume config.h.
70053         * lib/xasprintf.c (includes): Likewise.
70054
70055 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70056
70057         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70058         at least as wide as intmax_t.
70059
70060 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70061
70062         (Imported from Automake.)
70063         * build-aux/gnupload: Update to version 1.1 of directive file.
70064
70065 2006-10-16  Eric Blake  <ebb9@byu.net>
70066
70067         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70068         match Automake 1.10a.
70069
70070 2006-10-14  Bruno Haible  <bruno@clisp.org>
70071
70072         * modules/sigprocmask: New file.
70073         * lib/sigprocmask.h: New file.
70074         * lib/sigprocmask.c: New file.
70075         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70076         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70077         request sigprocmask.o.
70078         (gl_PREREQ_SIGPROCMASK): New macro.
70079         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70080         (Depends-on): Add sigprocmask.
70081         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70082         gt_SIGNALBLOCKING. Test for 'raise' only once.
70083         * lib/fatal-signal.c: Include sigprocmask.h.
70084         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70085         unblock_fatal_signals): Define always.
70086         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70087         sigprocmask.
70088
70089 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70090
70091         Sync from Automake.
70092         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70093         which incorrectly sets the mode of an existing destination
70094         directory.  In some cases the unpatched install-sh could do the
70095         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70096         system.  We hope this is rare in practice, but it's clearly worth
70097         fixing.  Problem reported by Alex Unleashed in
70098         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70099         Also, don't bother to check for -m bugs unless we're using -m;
70100         suggested by Stepan Kasal.
70101
70102 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70103
70104         Sync from Automake.
70105         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70106         `-c' flag, so they appear at the same position as in %FASTDEP%
70107         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70108         which ignores unknown options only after the first non-option.
70109         Bug report against M4 by Nelson H. F. Beebe.
70110
70111 2006-10-13  Jim Meyering  <jim@meyering.net>
70112
70113         Fix a bug in yesterday's change.
70114         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70115         p->fts_statp->st_dev would be used uninitialized.
70116         Ensures that we always call fts_stat on the very first entry.
70117         Miklos Szeredi reported that find -xdev stopped working.
70118
70119 2006-10-12  Bruno Haible  <bruno@clisp.org>
70120
70121         * gnulib-tool (func_get_automake_snippet): Append an automatically
70122         computed EXTRA_DIST augmentation.
70123         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70124         * modules/alloca-opt (Makefile.am): Likewise.
70125         * modules/allocsa (Makefile.am): Likewise.
70126         * modules/arcfour (Makefile.am): Likewise.
70127         * modules/arctwo (Makefile.am): Likewise.
70128         * modules/argmatch (Makefile.am): Likewise.
70129         * modules/argz (Makefile.am): Likewise.
70130         * modules/atexit (Makefile.am): Likewise.
70131         * modules/backupfile (Makefile.am): Likewise.
70132         * modules/byteswap (Makefile.am): Likewise.
70133         * modules/c-strtod (Makefile.am): Likewise.
70134         * modules/c-strtold (Makefile.am): Likewise.
70135         * modules/calloc (Makefile.am): Likewise.
70136         * modules/canon-host (Makefile.am): Likewise.
70137         * modules/canonicalize (Makefile.am): Likewise.
70138         * modules/chdir-long (Makefile.am): Likewise.
70139         * modules/chdir-safer (Makefile.am): Likewise.
70140         * modules/check-version (Makefile.am): Likewise.
70141         * modules/chown (Makefile.am): Likewise.
70142         * modules/cloexec (Makefile.am): Likewise.
70143         * modules/close-stream (Makefile.am): Likewise.
70144         * modules/closeout (Makefile.am): Likewise.
70145         * modules/crc (Makefile.am): Likewise.
70146         * modules/csharpexec (Makefile.am): Likewise.
70147         * modules/cycle-check (Makefile.am): Likewise.
70148         * modules/des (Makefile.am): Likewise.
70149         * modules/dev-ino (Makefile.am): Likewise.
70150         * modules/dirfd (Makefile.am): Likewise.
70151         * modules/dirname (Makefile.am): Likewise.
70152         * modules/dup2 (Makefile.am): Likewise.
70153         * modules/eealloc (Makefile.am): Likewise.
70154         * modules/error (Makefile.am): Likewise.
70155         * modules/euidaccess (Makefile.am): Likewise.
70156         * modules/exclude (Makefile.am): Likewise.
70157         * modules/exitfail (Makefile.am): Likewise.
70158         * modules/fcntl-safer (Makefile.am): Likewise.
70159         * modules/fcntl (Makefile.am): Likewise.
70160         * modules/file-type (Makefile.am): Likewise.
70161         * modules/fileblocks (Makefile.am): Likewise.
70162         * modules/filemode (Makefile.am): Likewise.
70163         * modules/filenamecat (Makefile.am): Likewise.
70164         * modules/fnmatch (Makefile.am): Likewise.
70165         * modules/fopen-safer (Makefile.am): Likewise.
70166         * modules/fpending (Makefile.am): Likewise.
70167         * modules/fprintftime (Makefile.am): Likewise.
70168         * modules/free (Makefile.am): Likewise.
70169         * modules/fsusage (Makefile.am): Likewise.
70170         * modules/ftruncate (Makefile.am): Likewise.
70171         * modules/fts (Makefile.am): Likewise.
70172         * modules/gc-arcfour (Makefile.am): Likewise.
70173         * modules/gc-des (Makefile.am): Likewise.
70174         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70175         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70176         * modules/gc-md4 (Makefile.am): Likewise.
70177         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70178         * modules/gc-sha1 (Makefile.am): Likewise.
70179         * modules/gc (Makefile.am): Likewise.
70180         * modules/getaddrinfo (Makefile.am): Likewise.
70181         * modules/getcwd (Makefile.am): Likewise.
70182         * modules/getdelim (Makefile.am): Likewise.
70183         * modules/getdomainname (Makefile.am): Likewise.
70184         * modules/getgroups (Makefile.am): Likewise.
70185         * modules/gethostname (Makefile.am): Likewise.
70186         * modules/gethrxtime (Makefile.am): Likewise.
70187         * modules/getline (Makefile.am): Likewise.
70188         * modules/getloadavg (Makefile.am): Likewise.
70189         * modules/getlogin_r (Makefile.am): Likewise.
70190         * modules/getndelim2 (Makefile.am): Likewise.
70191         * modules/getopt (Makefile.am): Likewise.
70192         * modules/getpagesize (Makefile.am): Likewise.
70193         * modules/getpass-gnu (Makefile.am): Likewise.
70194         * modules/getpass (Makefile.am): Likewise.
70195         * modules/getsubopt (Makefile.am): Likewise.
70196         * modules/gettime (Makefile.am): Likewise.
70197         * modules/gettimeofday (Makefile.am): Likewise.
70198         * modules/getugroups (Makefile.am): Likewise.
70199         * modules/getusershell (Makefile.am): Likewise.
70200         * modules/glob (Makefile.am): Likewise.
70201         * modules/group-member (Makefile.am): Likewise.
70202         * modules/hard-locale (Makefile.am): Likewise.
70203         * modules/hash (Makefile.am): Likewise.
70204         * modules/hmac-md5 (Makefile.am): Likewise.
70205         * modules/hmac-sha1 (Makefile.am): Likewise.
70206         * modules/human (Makefile.am): Likewise.
70207         * modules/idcache (Makefile.am): Likewise.
70208         * modules/imaxabs (Makefile.am): Likewise.
70209         * modules/imaxdiv (Makefile.am): Likewise.
70210         * modules/inet_ntop (Makefile.am): Likewise.
70211         * modules/inet_pton (Makefile.am): Likewise.
70212         * modules/intprops (Makefile.am): Likewise.
70213         * modules/inttostr (Makefile.am): Likewise.
70214         * modules/inttypes (Makefile.am): Likewise.
70215         * modules/isapipe (Makefile.am): Likewise.
70216         * modules/javaversion (Makefile.am): Likewise.
70217         * modules/lchmod (Makefile.am): Likewise.
70218         * modules/lchown (Makefile.am): Likewise.
70219         * modules/localcharset (Makefile.am): Likewise.
70220         * modules/long-options (Makefile.am): Likewise.
70221         * modules/lstat (Makefile.am): Likewise.
70222         * modules/malloc (Makefile.am): Likewise.
70223         * modules/mathl (Makefile.am): Likewise.
70224         * modules/mbchar (Makefile.am): Likewise.
70225         * modules/md2 (Makefile.am): Likewise.
70226         * modules/md4 (Makefile.am): Likewise.
70227         * modules/md5 (Makefile.am): Likewise.
70228         * modules/memcasecmp (Makefile.am): Likewise.
70229         * modules/memchr (Makefile.am): Likewise.
70230         * modules/memcmp (Makefile.am): Likewise.
70231         * modules/memcoll (Makefile.am): Likewise.
70232         * modules/memcpy (Makefile.am): Likewise.
70233         * modules/memmem (Makefile.am): Likewise.
70234         * modules/memmove (Makefile.am): Likewise.
70235         * modules/mempcpy (Makefile.am): Likewise.
70236         * modules/memrchr (Makefile.am): Likewise.
70237         * modules/memset (Makefile.am): Likewise.
70238         * modules/memxor (Makefile.am): Likewise.
70239         * modules/mkancesdirs (Makefile.am): Likewise.
70240         * modules/mkdir-p (Makefile.am): Likewise.
70241         * modules/mkdir (Makefile.am): Likewise.
70242         * modules/mkdtemp (Makefile.am): Likewise.
70243         * modules/mkstemp (Makefile.am): Likewise.
70244         * modules/mktime (Makefile.am): Likewise.
70245         * modules/modechange (Makefile.am): Likewise.
70246         * modules/mountlist (Makefile.am): Likewise.
70247         * modules/nanosleep (Makefile.am): Likewise.
70248         * modules/obstack (Makefile.am): Likewise.
70249         * modules/openat (Makefile.am): Likewise.
70250         * modules/pagealign_alloc (Makefile.am): Likewise.
70251         * modules/pathmax (Makefile.am): Likewise.
70252         * modules/physmem (Makefile.am): Likewise.
70253         * modules/poll (Makefile.am): Likewise.
70254         * modules/posixtm (Makefile.am): Likewise.
70255         * modules/posixver (Makefile.am): Likewise.
70256         * modules/putenv (Makefile.am): Likewise.
70257         * modules/quote (Makefile.am): Likewise.
70258         * modules/quotearg (Makefile.am): Likewise.
70259         * modules/raise (Makefile.am): Likewise.
70260         * modules/read-file (Makefile.am): Likewise.
70261         * modules/readline (Makefile.am): Likewise.
70262         * modules/readlink (Makefile.am): Likewise.
70263         * modules/readtokens (Makefile.am): Likewise.
70264         * modules/readutmp (Makefile.am): Likewise.
70265         * modules/realloc (Makefile.am): Likewise.
70266         * modules/regex (Makefile.am): Likewise.
70267         * modules/rename-dest-slash (Makefile.am): Likewise.
70268         * modules/rename (Makefile.am): Likewise.
70269         * modules/rijndael (Makefile.am): Likewise.
70270         * modules/rmdir (Makefile.am): Likewise.
70271         * modules/rpmatch (Makefile.am): Likewise.
70272         * modules/safe-read (Makefile.am): Likewise.
70273         * modules/safe-write (Makefile.am): Likewise.
70274         * modules/same-inode (Makefile.am): Likewise.
70275         * modules/same (Makefile.am): Likewise.
70276         * modules/save-cwd (Makefile.am): Likewise.
70277         * modules/savedir (Makefile.am): Likewise.
70278         * modules/setenv (Makefile.am): Likewise.
70279         * modules/settime (Makefile.am): Likewise.
70280         * modules/sha1 (Makefile.am): Likewise.
70281         * modules/sig2str (Makefile.am): Likewise.
70282         * modules/snprintf (Makefile.am): Likewise.
70283         * modules/stat-macros (Makefile.am): Likewise.
70284         * modules/stat-time (Makefile.am): Likewise.
70285         * modules/stdbool (Makefile.am): Likewise.
70286         * modules/stdint (Makefile.am): Likewise.
70287         * modules/stdlib-safer (Makefile.am): Likewise.
70288         * modules/stpcpy (Makefile.am): Likewise.
70289         * modules/stpncpy (Makefile.am): Likewise.
70290         * modules/strcase (Makefile.am): Likewise.
70291         * modules/strcasestr (Makefile.am): Likewise.
70292         * modules/strchrnul (Makefile.am): Likewise.
70293         * modules/strcspn (Makefile.am): Likewise.
70294         * modules/strdup (Makefile.am): Likewise.
70295         * modules/strerror (Makefile.am): Likewise.
70296         * modules/strftime (Makefile.am): Likewise.
70297         * modules/strndup (Makefile.am): Likewise.
70298         * modules/strnlen (Makefile.am): Likewise.
70299         * modules/strpbrk (Makefile.am): Likewise.
70300         * modules/strsep (Makefile.am): Likewise.
70301         * modules/strstr (Makefile.am): Likewise.
70302         * modules/strtod (Makefile.am): Likewise.
70303         * modules/strtoimax (Makefile.am): Likewise.
70304         * modules/strtok_r (Makefile.am): Likewise.
70305         * modules/strtol (Makefile.am): Likewise.
70306         * modules/strtoll (Makefile.am): Likewise.
70307         * modules/strtoul (Makefile.am): Likewise.
70308         * modules/strtoull (Makefile.am): Likewise.
70309         * modules/strtoumax (Makefile.am): Likewise.
70310         * modules/strverscmp (Makefile.am): Likewise.
70311         * modules/sys_socket (Makefile.am): Likewise.
70312         * modules/sys_stat (Makefile.am): Likewise.
70313         * modules/sysexits (Makefile.am): Likewise.
70314         * modules/time_r (Makefile.am): Likewise.
70315         * modules/timegm (Makefile.am): Likewise.
70316         * modules/timespec (Makefile.am): Likewise.
70317         * modules/tmpfile-safer (Makefile.am): Likewise.
70318         * modules/trim (Makefile.am): Likewise.
70319         * modules/unistd-safer (Makefile.am): Likewise.
70320         * modules/unlinkdir (Makefile.am): Likewise.
70321         * modules/unlocked-io (Makefile.am): Likewise.
70322         * modules/userspec (Makefile.am): Likewise.
70323         * modules/utime (Makefile.am): Likewise.
70324         * modules/utimecmp (Makefile.am): Likewise.
70325         * modules/utimens (Makefile.am): Likewise.
70326         * modules/vasnprintf (Makefile.am): Likewise.
70327         * modules/vasprintf (Makefile.am): Likewise.
70328         * modules/vsnprintf (Makefile.am): Likewise.
70329         * modules/xalloc (Makefile.am): Likewise.
70330         * modules/xgetcwd (Makefile.am): Likewise.
70331         * modules/xnanosleep (Makefile.am): Likewise.
70332         * modules/xreadlink (Makefile.am): Likewise.
70333         * modules/xstrtod (Makefile.am): Likewise.
70334         * modules/xstrtol (Makefile.am): Likewise.
70335         * modules/xstrtold (Makefile.am): Likewise.
70336         * modules/yesno (Makefile.am): Likewise.
70337         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
70338
70339 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70340
70341         * modules/error (Makefile.am): Distribute files through
70342         EXTRA_DIST, not lib_SOURCES.
70343
70344 2006-10-12  Eric Blake  <ebb9@byu.net>
70345
70346         * modules/error (Makefile.am): Distribute files in /lib.
70347         * modules/obstack (Makefile.am): Likewise.
70348
70349 2006-10-12  Bruno Haible  <bruno@clisp.org>
70350
70351         * modules/acl (Makefile.am): Distribute all files in lib/ through
70352         EXTRA_DIST.
70353         * modules/arcfour (Makefile.am): Likewise.
70354         * modules/arctwo (Makefile.am): Likewise.
70355         * modules/argmatch (Makefile.am): Likewise.
70356         * modules/argz (Makefile.am): Likewise.
70357         * modules/atexit (Makefile.am): Likewise.
70358         * modules/backupfile (Makefile.am): Likewise.
70359         * modules/c-strtod (Makefile.am): Likewise.
70360         * modules/c-strtold (Makefile.am): Likewise.
70361         * modules/calloc (Makefile.am): Likewise.
70362         * modules/canon-host (Makefile.am): Likewise.
70363         * modules/canonicalize (Makefile.am): Likewise.
70364         * modules/chdir-long (Makefile.am): Likewise.
70365         * modules/chdir-safer (Makefile.am): Likewise.
70366         * modules/check-version (Makefile.am): Likewise.
70367         * modules/chown (Makefile.am): Likewise.
70368         * modules/cloexec (Makefile.am): Likewise.
70369         * modules/close-stream (Makefile.am): Likewise.
70370         * modules/closeout (Makefile.am): Likewise.
70371         * modules/crc (Makefile.am): Likewise.
70372         * modules/cycle-check (Makefile.am): Likewise.
70373         * modules/des (Makefile.am): Likewise.
70374         * modules/dirfd (Makefile.am): Likewise.
70375         * modules/dirname (Makefile.am): Likewise.
70376         * modules/dup2 (Makefile.am): Likewise.
70377         * modules/euidaccess (Makefile.am): Likewise.
70378         * modules/exclude (Makefile.am): Likewise.
70379         * modules/exitfail (Makefile.am): Likewise.
70380         * modules/fcntl-safer (Makefile.am): Likewise.
70381         * modules/file-type (Makefile.am): Likewise.
70382         * modules/fileblocks (Makefile.am): Likewise.
70383         * modules/filemode (Makefile.am): Likewise.
70384         * modules/filenamecat (Makefile.am): Likewise.
70385         * modules/fnmatch (Makefile.am): Likewise.
70386         * modules/fopen-safer (Makefile.am): Likewise.
70387         * modules/fpending (Makefile.am): Likewise.
70388         * modules/fprintftime (Makefile.am): Likewise.
70389         * modules/free (Makefile.am): Likewise.
70390         * modules/fsusage (Makefile.am): Likewise.
70391         * modules/ftruncate (Makefile.am): Likewise.
70392         * modules/fts (Makefile.am): Likewise.
70393         * modules/gc (Makefile.am): Likewise.
70394         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70395         * modules/getaddrinfo (Makefile.am): Likewise.
70396         * modules/getcwd (Makefile.am): Likewise.
70397         * modules/getdelim (Makefile.am): Likewise.
70398         * modules/getdomainname (Makefile.am): Likewise.
70399         * modules/getgroups (Makefile.am): Likewise.
70400         * modules/gethostname (Makefile.am): Likewise.
70401         * modules/gethrxtime (Makefile.am): Likewise.
70402         * modules/getline (Makefile.am): Likewise.
70403         * modules/getloadavg (Makefile.am): Likewise.
70404         * modules/getlogin_r (Makefile.am): Likewise.
70405         * modules/getopt (Makefile.am): Likewise.
70406         * modules/getpass (Makefile.am): Likewise.
70407         * modules/getpass-gnu (Makefile.am): Likewise.
70408         * modules/getsubopt (Makefile.am): Likewise.
70409         * modules/gettime (Makefile.am): Likewise.
70410         * modules/gettimeofday (Makefile.am): Likewise.
70411         * modules/getugroups (Makefile.am): Likewise.
70412         * modules/getusershell (Makefile.am): Likewise.
70413         * modules/glob (Makefile.am): Likewise.
70414         * modules/group-member (Makefile.am): Likewise.
70415         * modules/hard-locale (Makefile.am): Likewise.
70416         * modules/hash (Makefile.am): Likewise.
70417         * modules/hmac-md5 (Makefile.am): Likewise.
70418         * modules/hmac-sha1 (Makefile.am): Likewise.
70419         * modules/human (Makefile.am): Likewise.
70420         * modules/idcache (Makefile.am): Likewise.
70421         * modules/imaxabs (Makefile.am): Likewise.
70422         * modules/imaxdiv (Makefile.am): Likewise.
70423         * modules/inet_ntop (Makefile.am): Likewise.
70424         * modules/inet_pton (Makefile.am): Likewise.
70425         * modules/inttostr (Makefile.am): Likewise.
70426         * modules/isapipe (Makefile.am): Likewise.
70427         * modules/lchown (Makefile.am): Likewise.
70428         * modules/long-options (Makefile.am): Likewise.
70429         * modules/lstat (Makefile.am): Likewise.
70430         * modules/malloc (Makefile.am): Likewise.
70431         * modules/mathl (Makefile.am): Likewise.
70432         * modules/mbchar (Makefile.am): Likewise.
70433         * modules/md2 (Makefile.am): Likewise.
70434         * modules/md4 (Makefile.am): Likewise.
70435         * modules/md5 (Makefile.am): Likewise.
70436         * modules/memcasecmp (Makefile.am): Likewise.
70437         * modules/memchr (Makefile.am): Likewise.
70438         * modules/memcmp (Makefile.am): Likewise.
70439         * modules/memcoll (Makefile.am): Likewise.
70440         * modules/memcpy (Makefile.am): Likewise.
70441         * modules/memmem (Makefile.am): Likewise.
70442         * modules/memmove (Makefile.am): Likewise.
70443         * modules/mempcpy (Makefile.am): Likewise.
70444         * modules/memrchr (Makefile.am): Likewise.
70445         * modules/memset (Makefile.am): Likewise.
70446         * modules/memxor (Makefile.am): Likewise.
70447         * modules/mkancesdirs (Makefile.am): Likewise.
70448         * modules/mkdir (Makefile.am): Likewise.
70449         * modules/mkdir-p (Makefile.am): Likewise.
70450         * modules/mkdtemp (Makefile.am): Likewise.
70451         * modules/mkstemp (Makefile.am): Likewise.
70452         * modules/mktime (Makefile.am): Likewise.
70453         * modules/modechange (Makefile.am): Likewise.
70454         * modules/mountlist (Makefile.am): Likewise.
70455         * modules/nanosleep (Makefile.am): Likewise.
70456         * modules/openat (Makefile.am): Likewise.
70457         * modules/pagealign_alloc (Makefile.am): Likewise.
70458         * modules/physmem (Makefile.am): Likewise.
70459         * modules/poll (Makefile.am): Likewise.
70460         * modules/posixtm (Makefile.am): Likewise.
70461         * modules/posixver (Makefile.am): Likewise.
70462         * modules/putenv (Makefile.am): Likewise.
70463         * modules/quote (Makefile.am): Likewise.
70464         * modules/quotearg (Makefile.am): Likewise.
70465         * modules/raise (Makefile.am): Likewise.
70466         * modules/read-file (Makefile.am): Likewise.
70467         * modules/readline (Makefile.am): Likewise.
70468         * modules/readlink (Makefile.am): Likewise.
70469         * modules/readtokens (Makefile.am): Likewise.
70470         * modules/readutmp (Makefile.am): Likewise.
70471         * modules/realloc (Makefile.am): Likewise.
70472         * modules/regex (Makefile.am): Likewise.
70473         * modules/rename (Makefile.am): Likewise.
70474         * modules/rename-dest-slash (Makefile.am): Likewise.
70475         * modules/rijndael (Makefile.am): Likewise.
70476         * modules/rmdir (Makefile.am): Likewise.
70477         * modules/rpmatch (Makefile.am): Likewise.
70478         * modules/safe-read (Makefile.am): Likewise.
70479         * modules/safe-write (Makefile.am): Likewise.
70480         * modules/same (Makefile.am): Likewise.
70481         * modules/save-cwd (Makefile.am): Likewise.
70482         * modules/savedir (Makefile.am): Likewise.
70483         * modules/setenv (Makefile.am): Likewise.
70484         * modules/settime (Makefile.am): Likewise.
70485         * modules/sha1 (Makefile.am): Likewise.
70486         * modules/sig2str (Makefile.am): Likewise.
70487         * modules/snprintf (Makefile.am): Likewise.
70488         * modules/stdlib-safer (Makefile.am): Likewise.
70489         * modules/stpcpy (Makefile.am): Likewise.
70490         * modules/stpncpy (Makefile.am): Likewise.
70491         * modules/strcase (Makefile.am): Likewise.
70492         * modules/strcasestr (Makefile.am): Likewise.
70493         * modules/strchrnul (Makefile.am): Likewise.
70494         * modules/strcspn (Makefile.am): Likewise.
70495         * modules/strdup (Makefile.am): Likewise.
70496         * modules/strerror (Makefile.am): Likewise.
70497         * modules/strftime (Makefile.am): Likewise.
70498         * modules/strndup (Makefile.am): Likewise.
70499         * modules/strnlen (Makefile.am): Likewise.
70500         * modules/strpbrk (Makefile.am): Likewise.
70501         * modules/strsep (Makefile.am): Likewise.
70502         * modules/strstr (Makefile.am): Likewise.
70503         * modules/strtod (Makefile.am): Likewise.
70504         * modules/strtoimax (Makefile.am): Likewise.
70505         * modules/strtok_r (Makefile.am): Likewise.
70506         * modules/strtol (Makefile.am): Likewise.
70507         * modules/strtoll (Makefile.am): Likewise.
70508         * modules/strtoul (Makefile.am): Likewise.
70509         * modules/strtoull (Makefile.am): Likewise.
70510         * modules/strtoumax (Makefile.am): Likewise.
70511         * modules/strverscmp (Makefile.am): Likewise.
70512         * modules/time_r (Makefile.am): Likewise.
70513         * modules/timegm (Makefile.am): Likewise.
70514         * modules/tmpfile-safer (Makefile.am): Likewise.
70515         * modules/unistd-safer (Makefile.am): Likewise.
70516         * modules/unlinkdir (Makefile.am): Likewise.
70517         * modules/userspec (Makefile.am): Likewise.
70518         * modules/utime (Makefile.am): Likewise.
70519         * modules/utimecmp (Makefile.am): Likewise.
70520         * modules/utimens (Makefile.am): Likewise.
70521         * modules/vasnprintf (Makefile.am): Likewise.
70522         * modules/vasprintf (Makefile.am): Likewise.
70523         * modules/vsnprintf (Makefile.am): Likewise.
70524         * modules/xalloc (Makefile.am): Likewise.
70525         * modules/xgetcwd (Makefile.am): Likewise.
70526         * modules/xnanosleep (Makefile.am): Likewise.
70527         * modules/xreadlink (Makefile.am): Likewise.
70528         * modules/xstrtod (Makefile.am): Likewise.
70529         * modules/xstrtol (Makefile.am): Likewise.
70530         * modules/xstrtold (Makefile.am): Likewise.
70531         * modules/yesno (Makefile.am): Likewise.
70532
70533 2006-10-12  Jim Meyering  <jim@meyering.net>
70534
70535         * m4/getloadavg.m4: Revert the change below.
70536
70537         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
70538         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
70539         fail with a symlink, which is what coreutils' ./bootstrap now
70540         creates by default.
70541
70542 2006-10-12  Bruno Haible  <bruno@clisp.org>
70543
70544         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
70545         mingw.
70546         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
70547         MSVC and mingw explicitly.
70548
70549 2006-10-11  Simon Josefsson  <jas@extundo.com>
70550             Bruno Haible  <bruno@clisp.org>
70551
70552         Add support for multiple gnulib-tool invocations in the scope of a
70553         single configure.ac file.
70554         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
70555         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
70556         with the same contents as the _LIBADD variable.
70557         (func_emit_initmacro_start, func_emit_initmacro_end,
70558         func_emit_initmacro_done): New functions.
70559         (func_import, func_create_testdir): Invoke them. Allow the identifiers
70560         gl_LIBOBJS and gl_LTLIBOBJS.
70561
70562 2006-10-11  Bruno Haible  <bruno@clisp.org>
70563
70564         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
70565         (func_create_testdir): Don't create po/Makefile.am, don't invoke
70566         autoreconf. Instead, invoke autopoint explicitly but move back the
70567         *.m4 files from gnulib.
70568
70569 2006-10-11  Bruno Haible  <bruno@clisp.org>
70570
70571         * gnulib-tool (func_usage): Make module names after --create-testdir
70572         optional.
70573         (func_create_testdir): If no module was specified, use nearly all
70574         modules.
70575
70576 2006-10-12  Jim Meyering  <jim@meyering.net>
70577
70578         Big performance improvement for fts-based tools that use FTS_NOSTAT.
70579         Avoid spurious inode-mismatch problems on non-POSIX file systems.
70580         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
70581         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
70582         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
70583         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
70584         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
70585         (fts_set_stat_required): New function.
70586         (fts_open): Defer the calls to fts_stat, if possible or requested.
70587         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
70588         into fts_stat itself.
70589         (fts_read): Perform any required (deferred) fts_stat call.
70590         (fts_build): Likewise, for the directory we're about to open and read.
70591         In the readdir loop, carefully decide whether each entry will require
70592         an eventual call to fts_stat, using dirent.d_type info if available.
70593         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
70594         a command line argument into this function.  Update all callers.
70595         Map a return value of FTS_DOT to FTS_D for a command line argument.
70596         * modules/fts (Depends-on): Add d-type.  Alphabetize.
70597         Thanks to Miklos Szeredi for his tenacity and for the initial
70598         bug report about "find" failing on a FUSE-based file system.
70599
70600         * lib/fts.c (fts_open): Use consistent indentation.
70601
70602 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
70603
70604         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
70605         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
70606         reported by Jim Meyering.  All uses of cache variables renamed
70607         to match Autoconf's.
70608         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
70609         the other one.
70610
70611         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
70612         Fix misspelling in diagnostic.
70613
70614 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70615
70616         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
70617         defined.  Problem reported by Matthew Woehlke.
70618
70619         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
70620         Add support for Tandem NonStop R series.
70621         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
70622         Use new macro.
70623
70624         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
70625         (has_trailing_slash): Omit size arg; all callers changed.
70626         Omit 'inline', since it doesn't help performance and we'd
70627         need to configure it.
70628         Don't count //, ///, etc. as having a trailing slash.
70629         As a side effect, this removes a C99ism reported by Matthew Woehlke.
70630         (rpl_rename_dest_slash): On failure, use rename's errno rather
70631         than (in some cases) an incorrect or junk errno.
70632         Simplify code by removing need to compute length; this does
70633         cause it to make two passes instead of one over the file name,
70634         but it's worth it.
70635
70636         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
70637         change, since Autoconf's version may no longer be appropriate now
70638         that we are using CVS Autoconf's version.  Add support for Tandem.
70639
70640 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
70641             Bruno Haible  <bruno@clisp.org>
70642
70643         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
70644         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
70645         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
70646         gl_AC_TYPE_LONG_LONG.
70647
70648         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
70649         instead of HAVE_LONG_LONG.
70650         * lib/printf-args.c (printf_fetchargs): Likewise.
70651         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
70652         * lib/vasnprintf.c (VASNPRINTF): Likewise.
70653         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
70654         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
70655         gl_AC_TYPE_LONG_LONG.
70656
70657 2006-10-11  Bruno Haible  <bruno@clisp.org>
70658
70659         * m4/longlong.m4: Add comments.
70660         * m4/ulonglong.m4: Likewise.
70661
70662 2006-10-10  Bruno Haible  <bruno@clisp.org>
70663
70664         Make it possible to #define stpcpy, strdup to aliases.
70665         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
70666         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
70667
70668 2006-10-10  Bruno Haible  <bruno@clisp.org>
70669
70670         Make it possible to #define gcd to an alias.
70671         * lib/gcd.c: Include config.h.
70672
70673 2006-10-10  Bruno Haible  <bruno@clisp.org>
70674
70675         Make it possible to #define c_isascii to an alias.
70676         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
70677         defined. Undefine the macros before defining them, to avoid gcc
70678         warnings.
70679         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
70680         define NO_C_CTYPE_MACROS early.
70681
70682 2006-10-10  Bruno Haible  <bruno@clisp.org>
70683
70684         Make it possible to #define set_program_name to an alias.
70685         * lib/progname.c: Don't undefine set_program_name; instead, undefine
70686         ENABLE_RELOCATABLE early.
70687
70688 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         Port to Tandem NSK OSS, which has 64-bit signed int but at most
70691         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
70692         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
70693         More generally, don't assume that 64-bit signed int is available
70694         if unsigned int is, and vice versa.
70695         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
70696         unsigned symbols, not on their signed counterparts.
70697         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
70698         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
70699         (UINT64_C, UINTMAX_C):
70700         Likewise.
70701         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
70702         unsigned counterparts.
70703         (Have_long_long, Unsigned): New macros.
70704         (Int): Renamed from INT.
70705         (strtoimax): Use the new macros.
70706         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
70707         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
70708         * modules/inttypes (inttypes.h): Substitute
70709         HAVE_UNSIGNED_LONG_LONG_INT.
70710         * modules/stdint (stdint.h): Likewise.
70711         (Files): Add m4/ulonglong.m4.
70712
70713 2006-10-10  Bruno Haible  <bruno@clisp.org>
70714
70715         Fix a gcc -Wshadow warning.
70716         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
70717         to 'bucket'.
70718         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
70719         gl_linked_indexof_from_to): Likewise.
70720         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
70721         Likewise.
70722         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
70723         Likewise.
70724         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
70725         Reported by Eric Blake.
70726
70727 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
70728
70729         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
70730         for NetBSD.  Problem reported by Bruno Haible.
70731
70732 2006-10-09  Jim Meyering  <jim@meyering.net>
70733
70734         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
70735         Patch from Bruno Haible.
70736
70737 2006-10-09  Jim Meyering  <jim@meyering.net>
70738
70739         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
70740         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
70741         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
70742
70743 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70744
70745         Don't include <config.h> twice; this doesn't work in some cases,
70746         e.g., when config.h has "#define intmax_t long long int" and
70747         we include <config.h>, <inttypes.h>, <config.h> in that order.
70748         Problem reported by Matthew Woehlke in:
70749         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
70750         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
70751         * lib/fts-cycle.c: Don't include config.h.
70752         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
70753         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
70754         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
70755         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
70756         inttypes.h.
70757         * lib/xstrtoumax.c: Likewise.
70758         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
70759         __strtol and the like, so that this module is more like its siblings.
70760         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
70761         Remove; no longer needed now that we assume gnulib inttypes.h.
70762
70763 2006-10-08  Bruno Haible  <bruno@clisp.org>
70764
70765         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
70766         option.
70767
70768 2006-10-07  Jim Meyering  <jim@meyering.net>
70769
70770         * modules/inttypes (inttypes.h): Revert what seems to have been
70771         an inadvertent part of today's change: use "|", not "/" in the
70772         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
70773
70774 2006-10-07  Bruno Haible  <bruno@clisp.org>
70775
70776         * modules/sublist: New file.
70777
70778 2006-10-07  Bruno Haible  <bruno@clisp.org>
70779
70780         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
70781         * modules/argz (argz.h): Likewise.
70782         * modules/arpa_inet (arpa/inet.h): Likewise.
70783         * modules/byteswap (byteswap.h): Likewise.
70784         * modules/configmake (configmake.h): Likewise.
70785         * modules/fcntl (fcntl.h): Likewise.
70786         * modules/fnmatch (fnmatch.h): Likewise.
70787         * modules/getopt (getopt.h): Likewise.
70788         * modules/glob (glob.h): Likewise.
70789         * modules/inttypes (inttypes.h): Likewise.
70790         * modules/netinet_in (netinet/in.h): Likewise.
70791         * modules/poll (poll.h): Likewise.
70792         * modules/stdbool (stdbool.h): Likewise.
70793         * modules/stdint (stdint.h): Likewise.
70794         * modules/sys_select (sys/select.h): Likewise.
70795         * modules/sys_socket (sys/socket.h): Likewise.
70796         * modules/sys_stat (sys/stat.h): Likewise.
70797         * modules/sysexits (sysexits.h): Likewise.
70798         * modules/unistd (unistd.h): Likewise.
70799         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70800         Add a "DO NOT EDIT" comment to the generated file.
70801         (func_import): Likewise for gnulib-comp.m4.
70802
70803 2006-10-07  Bruno Haible  <bruno@clisp.org>
70804
70805         * lib/gl_sublist.h: New file.
70806         * lib/gl_sublist.c: New file.
70807
70808 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70809
70810         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
70811         name (relative to the original working directory) and the file
70812         name component (relative to the temporary working directory).  All
70813         callers changed.
70814         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
70815         * lib/mkdir-p.c (make_dir_parents): Likewise.
70816         * lib/mkdir-p.h (make_dir_parents): Likewise.
70817
70818 2006-10-06  Eric Blake  <ebb9@byu.net>
70819
70820         Define several macros for use by the clean-temp module.
70821         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
70822         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
70823         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
70824
70825         * lib/clean-temp.h (close_stream_temp): New declaration.
70826         * lib/clean-temp.c (includes): Pull in headers according to what
70827         other modules are in use.
70828         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
70829
70830 2006-10-06  Bruno Haible  <bruno@clisp.org>
70831
70832         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
70833         instead of fopen, fwriteerror.
70834
70835 2006-10-06  Bruno Haible  <bruno@clisp.org>
70836
70837         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
70838         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
70839         int.
70840         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
70841         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
70842         Return an error indicator.
70843         Suggested by Eric Blake.
70844
70845 2006-10-06  Bruno Haible  <bruno@clisp.org>
70846
70847         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
70848         Reported by Eric Blake.
70849
70850 2006-10-06  Bruno Haible  <bruno@clisp.org>
70851
70852         * modules/closeout (Description): Mention stderr too.
70853
70854 2006-10-06  Bruno Haible  <bruno@clisp.org>
70855         and Paul Eggert  <eggert@cs.ucla.edu>
70856
70857         * lib/closeout.c (close_stdout): Also close stderr.
70858         * lib/closeout.h: Update comment.
70859
70860 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70861
70862         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
70863         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
70864         * lib/dirchownmod.c: Include lchown.h.
70865         * lib/lchown.c: Don't include files that lchown.h now includes.
70866         Don't declare chown, since lchown.h now does that.
70867         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
70868         (lchown): Define to rpl_chown if lchown is declared but
70869         does not exist.  Declare using a prototype if lchown is not
70870         declared.  Add a copyright notice.
70871         * lib/mkstemp.h: Include <unistd.h>.
70872         * lib/openat.c: Include lchown.h.
70873
70874         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
70875         we now test for that separately.
70876         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
70877         rather than O_NOFOLLOW, when testing whether it's possible to
70878         avoid a race condition reliably.
70879         * lib/savewd.c (savewd_chdir): Likewise.
70880
70881         Remove macros that are no longer needed now that stdint.h is
70882         reliable.
70883         * lib/fsusage.c (UINTMAX_MAX): Remove.
70884         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
70885         * lib/utimecmp.c (SIZE_MAX): Remove.
70886
70887         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
70888
70889         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
70890         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
70891         O_NOATIME works.
70892
70893 2006-10-05  Bruno Haible  <bruno@clisp.org>
70894
70895         * lib/gl_list.h (gl_sortedlist_search_from_to,
70896         gl_sortedlist_indexof_from_to): New declarations.
70897         (gl_list_implementation): New fields sortedlist_search_from_to,
70898         sortedlist_indexof_from_to.
70899         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
70900         inline functions.
70901         * lib/gl_list.c (gl_sortedlist_search_from_to,
70902         gl_sortedlist_indexof_from_to): New functions.
70903         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
70904         function.
70905         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
70906         (gl_array_sortedlist_search_from_to): New function.
70907         (gl_array_list_implementation): Update.
70908         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
70909         function.
70910         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
70911         (gl_carray_sortedlist_search_from_to): New function.
70912         (gl_carray_list_implementation): Update.
70913         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
70914         gl_linked_sortedlist_indexof_from_to): New functions.
70915         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70916         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70917         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
70918         gl_tree_sortedlist_indexof_from_to): New functions.
70919         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70920         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70921         Update.
70922         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70923         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
70924         Update.
70925
70926 2006-10-05  Bruno Haible  <bruno@clisp.org>
70927
70928         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
70929         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
70930         (struct gl_list_implementation): Add fields search_from_to,
70931         indexof_from_to. Remove fields search, indexof.
70932         (gl_list_search): Use the search_from_to method.
70933         (gl_list_search_from, gl_list_search_from_to): New functions.
70934         (gl_list_indexof): Use the indexof_from_to method.
70935         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70936         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
70937         (gl_list_search_from, gl_list_search_from_to): New functions.
70938         (gl_list_indexof): Use the indexof_from_to method.
70939         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
70940         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
70941         gl_array_indexof. Add start_index, end_index arguments.
70942         (gl_array_search_from_to): Renamed from gl_array_search. Add
70943         start_index, end_index arguments.
70944         (gl_array_remove, gl_array_list_implementation): Update.
70945         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
70946         gl_carray_indexof. Add start_index, end_index arguments.
70947         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
70948         start_index, end_index arguments.
70949         (gl_carray_remove, gl_carray_list_implementation): Update.
70950         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
70951         gl_linked_search. Add start_index, end_index arguments.
70952         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
70953         start_index, end_index arguments.
70954         (gl_linked_remove): Update.
70955         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
70956         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
70957         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
70958         field to 'size_t'.
70959         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
70960         gl_tree_search. Add start_index, end_index arguments.
70961         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70962         start_index, end_index arguments.
70963         (gl_tree_remove): Update.
70964         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70965         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70966         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70967         function.
70968         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70969         gl_tree_search. Add start_index, end_index arguments.
70970         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70971         start_index, end_index arguments.
70972         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70973         Update.
70974         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70975
70976 2006-10-05  Bruno Haible  <bruno@clisp.org>
70977
70978         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70979
70980         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70981         fwriteerror_temp): New declarations.
70982         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70983         (descriptors): New variable.
70984         (cleanup): First, close the descriptors.
70985         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70986         fclose_temp, fwriteerror_temp): New functions.
70987
70988 2006-10-04  Jim Meyering  <jim@meyering.net>
70989
70990         * lib/fts.c (fts_open): Tiny comment change.
70991
70992 2006-10-04  Bruno Haible  <bruno@clisp.org>
70993
70994         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70995         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70996         gl_LOCK_BODY.
70997         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70998         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70999         gl_LOCK_EARLY_BODY.
71000         (gl_LOCK): Require gl_LOCK_BODY.
71001
71002 2006-10-04  Bruno Haible  <bruno@clisp.org>
71003
71004         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71005         (gl_oset_search_atleast): New declaration.
71006         (struct gl_oset_implementation): Add field 'search_atleast'.
71007         (gl_oset_search_atleast): New inline function.
71008         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71009         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71010         (gl_array_oset_implementation): Update.
71011         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71012         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71013         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71014
71015 2006-10-04  Bruno Haible  <bruno@clisp.org>
71016
71017         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71018
71019 2006-10-03  Bruno Haible  <bruno@clisp.org>
71020
71021         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71022         from gl_avltreehash_list_implementation.
71023
71024 2006-10-03  Bruno Haible  <bruno@clisp.org>
71025
71026         * lib/gl_oset.c (gl_oset_add): Fix return type.
71027
71028 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71029
71030         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71031
71032 2006-10-02  Eric Blake  <ebb9@byu.net>
71033
71034         * modules/strnlen (Depends-on): Add extensions.
71035
71036 2006-10-02  Eric Blake  <ebb9@byu.net>
71037
71038         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71039         definition in 2.60+.
71040
71041 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71042
71043         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71044         checks.
71045
71046 2006-10-02  Bruno Haible  <bruno@clisp.org>
71047
71048         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71049         to the AUTOMAKE_OPTIONS.
71050         Reported by Jim Meyering.
71051
71052 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71053
71054         Work around bug in Solaris 10 /proc file system:
71055         /proc/self/fd/NNN/.. isn't the parent directory of
71056         the directory whose file descriptor is NNN.  This needs to
71057         be worked around at run time, not compile time, since a
71058         program might be built on Solaris 8, where things work, and
71059         run on Solaris 10.
71060         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71061         to use the following interface instead:
71062         (OPENAT_BUFFER_SIZE): New macro.
71063         (openat_proc_name): New function.
71064         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71065         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71066         Likewise.
71067         * lib/openat-proc.c: New file.
71068         * modules/openat (Files): Add lib/openat-proc.c.
71069         (Depends-on): Add same-inode, stdbool.
71070         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71071
71072 2006-09-29  Bruno Haible  <bruno@clisp.org>
71073
71074         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71075         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71076         argument. Set stdout_closed before testing for ferror, not after.
71077         (fwriteerror, fwriteerror_no_ebadf): New functions.
71078
71079 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71080
71081         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71082
71083 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71084
71085         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71086         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71087
71088 2006-09-28  Jim Meyering  <jim@meyering.net>
71089
71090         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71091         Include <unistd.h>.
71092
71093 2006-09-28  Bruno Haible  <bruno@clisp.org>
71094
71095         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71096         * modules/linkedhash-list (Depends-on): Likewise.
71097         * modules/rbtreehash-list (Depends-on): Likewise.
71098
71099 2006-09-28  Bruno Haible  <bruno@clisp.org>
71100
71101         * lib/strndup.h: Simplify the redefinition of strndup.
71102         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71103         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71104
71105 2006-09-28  Bruno Haible  <bruno@clisp.org>
71106
71107         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71108         * lib/gl_linkedhash_list.c: Likewise.
71109         * lib/gl_rbtreehash_list.c: Likewise.
71110
71111 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71112
71113         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71114         getaddrinfo.
71115
71116         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71117         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71118         it causes <stdio_ext.h> to cause a compile-time error.
71119         Problem reported by Nelson H. F. Beebe.
71120         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71121         of HAVE_DECL___PENDING.
71122
71123         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71124         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71125         declaration.
71126
71127 2006-09-27  Jim Meyering  <jim@meyering.net>
71128
71129         This file could end up with a definition for a function
71130         named __strndup, rather than rpl_strndup on a system with
71131         incomplete weak_alias support.
71132         * lib/strndup.c (strndup): Rename from __strndup.
71133         Remove #defines that used to map __strndup to strndup.
71134         Don't use K&R prototypes.
71135         Remove LIBC-related code, since this file is not sync'd with glibc.
71136         * lib/strndup.h: Revamp, accordingly.
71137         * m4/strndup.m4: Modernize.
71138
71139 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71140
71141         * modules/savewd (Depends-on): Add 'raise'.
71142         * lib/savewd.c: Include <signal.h>, for 'raise'.
71143
71144 2006-09-26  Jim Meyering  <jim@meyering.net>
71145
71146         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71147         when we detect Darwin 8.7.0's acl_get_file bug.
71148         Rearrange to perform the new (below) run-test while $LIBS
71149         contains any acl-related library.  Set USE_ACL at the end.
71150         (gl_ACL_GET_FILE): New function.
71151
71152 2006-09-26  Eric Blake  <ebb9@byu.net>
71153
71154         * lib/verror.c: Include <config.h> unconditionally.
71155
71156 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71157
71158         * modules/clock-time (Maintainer): Add self.
71159         * modules/getlogin_r (Depends-on): Add extensions.
71160
71161 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71162
71163         * modules/clock-time: New module.
71164         * modules/nanosleep (Depends-on): Add clock-time.
71165         * modules/gethrxtime (Depends-on): Likewise.
71166         * modules/gettime (Depends-on): Likewise.
71167         * modules/settime (Depends-on): Likewise.
71168
71169         * modules/fts-lgpl: Depend on openat.
71170         * modules/mkancesdirs: Depend on savewd.
71171         * modules/mkdir-p: Likewise.
71172
71173 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71174
71175         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71176
71177         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71178         `gl_have_arbitrary_file_name_length_limit' to
71179         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71180         actually works between configure runs.
71181
71182 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71183             Bruno Haible  <bruno@clisp.org>
71184
71185         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71186
71187 2006-09-25  Jim Meyering  <jim@meyering.net>
71188
71189         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71190         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71191
71192 2006-09-25  Eric Blake  <ebb9@byu.net>
71193
71194         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71195         exec's in 2006-09-18 patch when shuffling fds.
71196
71197 2006-09-25  Bruno Haible  <bruno@clisp.org>
71198
71199         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71200         Reported by Jim Meyering.
71201
71202 2006-09-24  Jim Meyering  <jim@meyering.net>
71203
71204         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71205         compare a pointer against a literal "0".  That caused failures with
71206         at least HP-UX's hpcc.
71207
71208 2006-09-22  Simon Josefsson  <jas@extundo.com>
71209
71210         * modules/gc-sha1:
71211         * modules/gc-md4:
71212         * modules/gc-hmac-sha1:
71213         * modules/gc-hmac-md5:
71214         * modules/gc-des:
71215         * modules/gc-arcfour: Distribute more files.
71216
71217 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71218
71219         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71220         (gl_linked_iterator_from_to): Initialize struct completely.
71221         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71222         (gl_tree_iterator_from_to): Likewise
71223         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71224         * lib/gl_array_list.c [lint] (gl_array_iterator)
71225         (gl_array_iterator_from_to): Likewise.
71226         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71227         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71228         (gl_carray_iterator_from_to): Likewise.
71229
71230         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71231         * lib/md4.c (md4_process_block): Remove unused variable.
71232         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71233         parentheses for clarity.
71234
71235 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71236
71237         * modules/bison-i18n (Depends-on): Add gettext.
71238
71239 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71240
71241         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71242         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71243         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71244         also add missing comma that caused broken test.
71245         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71246         stdlib.h, for `abort'.
71247         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71248         variables.
71249         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71250         include unistd.h if present, for `rmdir'.
71251         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71252         variables.
71253         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71254         in the process include standard headers for prototypes.
71255         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71256         gets declared on GNU/Linux.
71257         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71258         unistd.h, for `rmdir'.
71259         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71260
71261         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71262         always true.
71263         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71264
71265         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71266
71267 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71268
71269         * gnulib-tool (func_version): Create output all at once.  This
71270         may help avoid triggering unnecessary SIGPIPEs, and at any
71271         rate it doesn't hurt.
71272
71273 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71274             Bruno Haible  <bruno@clisp.org>
71275
71276         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71277         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71278         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71279
71280         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71281         (gl_FUNC_VASPRINTF): Invoke it.
71282
71283 2006-09-22  Bruno Haible  <bruno@clisp.org>
71284
71285         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71286         getloadavg.c as first argument.
71287
71288 2006-09-22  Bruno Haible  <bruno@clisp.org>
71289
71290         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71291         at the beginning of the gl_INIT macro.
71292         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71293         gl_GETLOADAVG.
71294
71295 2006-09-22  Bruno Haible  <bruno@clisp.org>
71296
71297         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71298         module.
71299         Suggested by Ralf Wildenhues.
71300
71301 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71302
71303         Import this patch from libc:
71304
71305         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71306
71307         * lib/regex_internal.c (re_string_reconstruct): Handle
71308         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71309         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71310         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71311         re_string_context_at.
71312
71313         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71314         now requires it.
71315         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71316         gl_REGEX now does it for us.
71317         (gl_REGEX): Add test taken from
71318         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71319
71320         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71321         Check that large offsets work.  Modernize Autoconf usages.
71322         Prefer "yes" to mean a good thing rather than a bad.
71323         Don't put "#define mkstemp" in config.h, as this might interfere
71324         with standard system headers that "#define mkstemp mkstemp64".
71325
71326         * modules/mkstemp (Depends-on): Add extensions, so that
71327         mkstemp is visible on some platforms.
71328         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71329         (Include): Change to "mkstemp.h" from <stdlib.h>.
71330         (Files): Add mkstemp.h.
71331
71332         * lib/mkstemp.h: New file, since some standard headers
71333         #define mkstemp.
71334         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
71335         Include "mkstemp.h".
71336         Make the _LIBC code resemble glibc original more,
71337         e.g., use K&R style.
71338         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
71339         (mkstemp): Remove, since mkstemp.h does this for us.
71340         * lib/stdlib--.h: Include mkstemp.h.
71341
71342         Import this patch from libc:
71343
71344         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71345
71346         * lib/tempname.c (__gen_tempname): Change attempts_min
71347         into a macro.  Use preprocessor to decide how to initialize
71348         attempts [Coverity CID 67].
71349
71350 2006-09-20  Bruno Haible  <bruno@clisp.org>
71351
71352         * lib/mkdtemp.c: Import from libc.
71353         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
71354                 * sysdeps/posix/tempname.c (__gen_tempname): Change
71355                 attempts_min into a macro.  Use preprocessor to decide how to
71356                 initialize attempts [Coverity CID 67].
71357         2001-11-27  Paul Eggert  <eggert@twinsun.com>
71358                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
71359                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
71360
71361 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71362
71363         * gnulib-tool (func_exit): New function, to allow to pass the
71364         exit status portably through the trap.  Use everywhere.
71365         (--help, --version): Signal a write error.
71366         (trap): catch SIGPIPE, for write errors.
71367         Exit at the end of the trap, with the correct exit status.
71368
71369 2006-09-19  Karl Berry  <karl@gnu.org>
71370
71371         * doc/gnulib.texi: note about the license texinfo files.
71372
71373 2006-09-19  Eric Blake  <ebb9@byu.net>
71374
71375         * gnulib-tool: Avoid space-tab.
71376
71377 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71378
71379         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
71380         that prevented coreutils 6.1 from building.  Problem reported
71381         by Petter Reinholdtsen.
71382
71383 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
71384
71385         * gnulib-tool (avoidlist): Fix typo that broke options like
71386         --avoid=lock that are used by coreutils bootstrap.
71387
71388 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
71389
71390         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
71391         more systematically.
71392
71393 2006-09-18  Jim Meyering  <jim@meyering.net>
71394
71395         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
71396
71397 2006-09-18  Bruno Haible  <bruno@clisp.org>
71398
71399         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
71400
71401 2006-09-18  Bruno Haible  <bruno@clisp.org>
71402
71403         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
71404         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
71405         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
71406         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
71407         * m4/gettext.m4: Require autoconf >= 2.52.
71408         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
71409         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
71410         of gl_cv_header_inttypes_h.
71411
71412 2006-09-18  Bruno Haible  <bruno@clisp.org>
71413
71414         * lib/javaversion.c: Include configmake.h.
71415
71416 2006-09-18  Bruno Haible  <bruno@clisp.org>
71417
71418         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
71419         avoid that the while loops be executed in a subshell.
71420
71421 2006-09-18  Bruno Haible  <bruno@clisp.org>
71422
71423         * MODULES.html.sh (func_module): Break long lines.
71424         Suggested by Bruce Korb <bkorb@gnu.org>.
71425
71426 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71427
71428         Speed up by a factor of 1.12.
71429         * gnulib-tool (nl): New variable.
71430         (func_import): Rewrite include directive extraction to only read each
71431         directive once.
71432
71433 2006-09-17  Bruno Haible  <bruno@clisp.org>
71434
71435         * modules/javaversion (Makefile.am): Remove DEFS setting.
71436         (Depends-on): Add configmake, for PKGDATADIR definition.
71437
71438 2006-09-17  Bruno Haible  <bruno@clisp.org>
71439
71440         * gnulib-tool (func_create_testdir): Rewrite all files at once.
71441
71442 2006-09-17  Bruno Haible  <bruno@clisp.org>
71443
71444         * gnulib-tool (func_append): New function, stolen from libtool.m4.
71445         (func_modules_transitive_closure, func_modules_add_dummy,
71446         func_modules_to_filelist, func_import, func_create_testdir,
71447         func_create_megatestdir, ...): Use it wherever possible.
71448         Suggested by Ralf Wildenhues.
71449
71450 2006-09-16  Karl Berry  <karl@gnu.org>
71451
71452         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
71453         to avoid sectioning errors.
71454         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
71455         [ifinfo]: blank line after @center-ed titles.
71456         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
71457         Spell FSF address consistently with others.
71458         (These changes approved by rms.)
71459
71460 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71461
71462         Speed up by a factor of 1.61.
71463         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
71464         already checked module names again.
71465
71466 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71467
71468         Speed up by a factor of 1.13.
71469         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
71470         for new_files, and the input to func_add_or_update.
71471
71472 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71473
71474         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
71475         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
71476
71477 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71478
71479         * modules/mkancesdirs (Depends-on): Add fcntl.
71480         * modules/savewd: New file.
71481         * MODULES.html.sh (File system functions): Add savewd.
71482
71483         * modules/configmake (Makefile.am): Add support for the
71484         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
71485
71486 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71487
71488         * m4/savewd.m4: New file.
71489
71490 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71491
71492         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
71493         (dirchownmod): New arg FD.  All callers changed.
71494         Use FD rather than opening the directory ourself, as opening is
71495         now the caller's responsibility.
71496         * lib/dirchownmod.h: Likewise.
71497         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
71498         hosts that require <sys/types.h> before <sys/stat.h>.  Include
71499         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
71500         (test_dir): Remove.
71501         (mkancesdirs): Return length of prefix of FILE that has already
71502         been made, or -2 if there is a child doing the work.  Redo
71503         algorithm so that it is O(N) rather than O(N**2).  Optimize away
71504         ".", and treat ".." specially since it might stray back into
71505         already-created areas.  Use a subprocess if necessary.  New arg
71506         WD; all users changed.  MAKE_DIR function should now return 1
71507         if it creates a directory that is not readable.  Return -2 if
71508         a child process is spun off.
71509         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
71510         Adjust signature to match code.
71511         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
71512         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
71513         all users changed.
71514         * lib/savewd.c, lib/savewd.h: New files.
71515
71516 2006-09-15  Jim Meyering  <jim@meyering.net>
71517
71518         * modules/rename-dest-slash: New module.
71519         * MODULES.html.sh (posix_compat): Add it here.
71520
71521         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
71522
71523 2006-09-15  Jim Meyering  <jim@meyering.net>
71524
71525         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
71526         file.
71527
71528         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
71529
71530 2006-09-15  Jim Meyering  <jim@meyering.net>
71531
71532         * lib/rename-dest-slash.c (has_trailing_slash): Use
71533         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
71534         (rpl_rename_dest_slash): Perform the cheaper trailing slash
71535         test before testing whether SRC is a directory.
71536         Suggestions from Bruno Haible.
71537
71538         Avoid a warning about an unused variable.
71539         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
71540         into the #ifdef block where it's used.
71541
71542         * lib/rename-dest-slash.c: New file.
71543
71544 2006-09-14  Bruno Haible  <bruno@clisp.org>
71545
71546         * lib/allocsa.c: Include <config.h> unconditionally.
71547         * lib/asnprintf.c: Likewise.
71548         * lib/asprintf.c: Likewise.
71549         * lib/c-strcasecmp.c: Likewise.
71550         * lib/c-strcasestr.c: Likewise.
71551         * lib/c-strncasecmp.c: Likewise.
71552         * lib/c-strstr.c: Likewise.
71553         * lib/classpath.c: Likewise.
71554         * lib/clean-temp.c: Likewise.
71555         * lib/concatpath.c: Likewise.
71556         * lib/copy-file.c: Likewise.
71557         * lib/csharpcomp.c: Likewise.
71558         * lib/csharpexec.c: Likewise.
71559         * lib/execute.c: Likewise.
71560         * lib/fatal-signal.c: Likewise.
71561         * lib/findprog.c: Likewise.
71562         * lib/fwriteerror.c: Likewise.
71563         * lib/gl_array_list.c: Likewise.
71564         * lib/gl_array_oset.c: Likewise.
71565         * lib/gl_avltree_list.c: Likewise.
71566         * lib/gl_avltree_oset.c: Likewise.
71567         * lib/gl_avltreehash_list.c: Likewise.
71568         * lib/gl_carray_list.c: Likewise.
71569         * lib/gl_linked_list.c: Likewise.
71570         * lib/gl_linkedhash_list.c: Likewise.
71571         * lib/gl_list.c: Likewise.
71572         * lib/gl_oset.c: Likewise.
71573         * lib/gl_rbtree_list.c: Likewise.
71574         * lib/gl_rbtree_oset.c: Likewise.
71575         * lib/gl_rbtreehash_list.c: Likewise.
71576         * lib/imaxabs.c: Likewise.
71577         * lib/imaxdiv.c: Likewise.
71578         * lib/javacomp.c: Likewise.
71579         * lib/javaexec.c: Likewise.
71580         * lib/javaversion.c: Likewise.
71581         * lib/linebreak.c: Likewise.
71582         * lib/localcharset.c: Likewise.
71583         * lib/lock.c: Likewise.
71584         * lib/mbchar.c: Likewise.
71585         * lib/mbswidth.c: Likewise.
71586         * lib/mkdtemp.c: Likewise.
71587         * lib/pipe.c: Likewise.
71588         * lib/printf-args.c: Likewise.
71589         * lib/printf-parse.c: Likewise.
71590         * lib/progname.c: Likewise.
71591         * lib/progreloc.c: Likewise.
71592         * lib/readlink.c: Likewise.
71593         * lib/sh-quote.c: Likewise.
71594         * lib/stpcpy.c: Likewise.
71595         * lib/stpncpy.c: Likewise.
71596         * lib/strcasecmp.c: Likewise.
71597         * lib/strcasestr.c: Likewise.
71598         * lib/strcspn.c: Likewise.
71599         * lib/striconv.c: Likewise.
71600         * lib/strncasecmp.c: Likewise.
71601         * lib/strnlen1.c: Likewise.
71602         * lib/strstr.c: Likewise.
71603         * lib/strtok_r.c: Likewise.
71604         * lib/tls.c: Likewise.
71605         * lib/tmpdir.c: Likewise.
71606         * lib/unicodeio.c: Likewise.
71607         * lib/unsetenv.c: Likewise.
71608         * lib/vasnprintf.c: Likewise.
71609         * lib/vasprintf.c: Likewise.
71610         * lib/wait-process.c: Likewise.
71611         * lib/xallocsa.c: Likewise.
71612         * lib/xsetenv.c: Likewise.
71613         * lib/xstriconv.c: Likewise.
71614
71615 2006-09-13  Simon Josefsson  <jas@extundo.com>
71616
71617         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
71618         that internally, suggested by Ralf Wildenhues
71619         <Ralf.Wildenhues@gmx.de>.
71620
71621 2006-09-13  Simon Josefsson  <jas@extundo.com>
71622
71623         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
71624         @LIBOBJS@.
71625         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71626
71627 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
71628
71629         * lib/_fpending.c: Include <config.h> unconditionally, since we no
71630         longer worry about uses that don't define HAVE_CONFIG_H.
71631         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
71632         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
71633         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
71634         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
71635         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
71636         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
71637         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
71638         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
71639         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
71640         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
71641         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
71642         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
71643         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
71644         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
71645         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
71646         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
71647         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
71648         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
71649         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
71650         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
71651         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
71652         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
71653         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
71654         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
71655         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
71656         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
71657         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
71658         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
71659         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
71660         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
71661         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
71662         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
71663         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
71664         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
71665         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
71666         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
71667         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
71668         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
71669         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
71670         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
71671         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
71672         Likewise.
71673
71674 2006-09-13  Eric Blake  <ebb9@byu.net>
71675
71676         * lib/getopt.c: Fix typo in last commit.
71677
71678 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
71679
71680         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
71681         dgettext.
71682
71683 2006-09-12  Jim Meyering  <jim@meyering.net>
71684
71685         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
71686         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
71687         Reported by Nelson H. F. Beebe.
71688
71689 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71690
71691         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
71692         program_invocation_name and program_invocation_short_name are
71693         initialized.
71694         * lib/argp-namefrob.h: Move declarations of program_invocation_name
71695         and program_invocation_short_name to argp.h, so they are visible
71696         to user programs.
71697         * lib/argp.h: Likewise
71698
71699 2006-09-10  Bruno Haible  <bruno@clisp.org>
71700
71701         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71702         m4/inttypes_h.m4, m4/uintmax_t.m4.
71703
71704 2006-09-10  Bruno Haible  <bruno@clisp.org>
71705
71706         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
71707         gl_AC_TYPE_UINTMAX_T.
71708
71709 2006-09-10  Bruno Haible  <bruno@clisp.org>
71710
71711         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
71712
71713 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71714
71715         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
71716         convention.  Text proposed by Bruno Haible.
71717         (struct argp_option): Document the use of N_() wrappers.
71718
71719         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
71720         '\v', and translate the two parts separately, instead of feeding
71721         the whole string to gettext.  This allows to exclude
71722         '\v' from the strings visible to the translator by writing doc
71723         strings as N_("..") "\v" N_("..").
71724
71725 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
71726
71727         * config/srclist.txt: Undo latest change; the bug was fixed.
71728
71729 2006-09-09  Bruno Haible  <bruno@clisp.org>
71730
71731         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
71732         assignments if building a library without libtool.
71733         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
71734         in func_emit_lib_Makefile_am.
71735         (func_import): When building a static library libfoo.a, arrange to
71736         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
71737         (func_create_testdir): Likewise.
71738         * modules/gc (configure.ac, Makefile.am): If building statically,
71739         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
71740         * modules/iconvme (configure.ac, Makefile.am): Likewise.
71741         * modules/striconv (configure.ac, Makefile.am): Likewise.
71742         Based on a suggestion by Ralf Wildenhues.
71743
71744 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71745
71746         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71747         Check for unistd.h too, since Autoconf doesn't assume POSIX.
71748         Also:
71749
71750         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71751         Add year_2050_test to catch glibc bug 2821
71752         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71753
71754         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71755         Prefer #ifdef to #if.
71756
71757         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
71758         Return from 'main' instead of calling 'exit'.
71759
71760 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71761
71762         * lib/mktime.c (guess_time_tm): Fix bug where mktime
71763         returned the maximum time_t value rather than (time_t) -1.
71764         Problem originally reported by William Bardwell
71765         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
71766
71767         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71768         Moved to here ...
71769         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
71770         ... from here.
71771
71772 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71773
71774         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
71775         2821 is fixed.
71776
71777 2006-09-08  Jim Meyering  <jim@meyering.net>
71778
71779         Don't make generated files read-only.  That would bother too many
71780         people.  However, do retain the ability to work when targets are
71781         read-only: remove the destination and temporary files before writing
71782         them (when generated via sed or echo), or by using the -f option for
71783         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
71784         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71785         * modules/byteswap, modules/configmake, modules/fcntl:
71786         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71787         * modules/localcharset, modules/netinet_in, modules/poll:
71788         * modules/stdbool, modules/stdint, modules/sys_select:
71789         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71790
71791 2006-09-08  Jim Meyering  <jim@meyering.net>
71792
71793         Avoid new build failure on FreeBSD 6.0.
71794         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
71795         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
71796         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
71797
71798 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71799
71800         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
71801
71802 2006-09-07  Jim Meyering  <jim@meyering.net>
71803
71804         Fix global typo in last change: use chmod u-w, not chmod u-x.
71805         Spotted by Paul Eggert and Bruce Korb.
71806         * modules/alloca-opt, modules/argz, modules/arpa_inet:
71807         * modules/byteswap, modules/configmake, modules/fcntl:
71808         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
71809         * modules/localcharset, modules/netinet_in, modules/poll:
71810         * modules/stdbool, modules/stdint, modules/sys_select:
71811         * modules/sys_socket, modules/sys_stat, modules/sysexits:
71812
71813 2006-09-06  Jim Meyering  <jim@meyering.net>
71814
71815         Make generated files be read-only.
71816         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
71817         Ensure that each generated file is now read-only.
71818         * modules/argz: Likewise.
71819         * modules/arpa_inet: Likewise.
71820         * modules/byteswap: Likewise.
71821         * modules/configmake: Likewise.
71822         * modules/fcntl: Likewise.
71823         * modules/fnmatch: Likewise.
71824         * modules/getopt: Likewise.
71825         * modules/glob: Likewise.
71826         * modules/inttypes: Likewise.
71827         * modules/netinet_in: Likewise.
71828         * modules/poll: Likewise.
71829         * modules/stdbool: Likewise.
71830         * modules/stdint: Likewise.
71831         * modules/sys_select: Likewise.
71832         * modules/sys_socket: Likewise.
71833         * modules/sys_stat: Likewise.
71834         * modules/sysexits: Likewise.
71835         * modules/localcharset: Same as above, but continue using temporary
71836         file named "t-$@" (why different?) rather than the "$@-t" used
71837         everywhere else.
71838
71839         * modules/sysexits (Makefile.am): Replace literal occurrences
71840         of "sysexit.h" more readable, and more consistent, "$@".
71841
71842 2006-09-06  Bruno Haible  <bruno@clisp.org>
71843
71844         * modules/striconv: New file.
71845         * modules/xstriconv: New file.
71846         * MODULES.html.sh (Internationalization functions): Add striconv,
71847         xstriconv.
71848
71849 2006-09-06  Bruno Haible  <bruno@clisp.org>
71850
71851         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
71852         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
71853         not using libtool correctly.
71854
71855 2006-09-06  Bruno Haible  <bruno@clisp.org>
71856
71857         * lib/striconv.h: New file.
71858         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
71859         iconvstring.c.
71860         * lib/xstriconv.h: New file.
71861         * lib/xstriconv.c: New file.
71862
71863 2006-09-06  Bruno Haible  <bruno@clisp.org>
71864
71865         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71866         lib_..._LDFLAGS.
71867
71868 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71869
71870         * lib/argz_.h: Sync from Libtool.
71871
71872         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
71873                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71874
71875         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
71876
71877 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71878
71879         * modules/trim: New file.
71880
71881 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
71882
71883         * lib/trim.h: New file.
71884         * lib/trim.c: New file.
71885
71886 2006-09-05  Bruno Haible  <bruno@clisp.org>
71887
71888         * MODULES.html.sh (String handling): Add trim.
71889
71890 2006-09-04  Karl Berry  <karl@gnu.org>
71891
71892         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
71893         until next release.
71894
71895 2006-09-03  Bruno Haible  <bruno@clisp.org>
71896
71897         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
71898         correctly.
71899
71900 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71901
71902         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
71903         not gl_GETLOADAVG.  Omit unneeded semicolons.
71904         Problems reported by Ralf Wildenhues in
71905         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71906         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
71907         at the end, which is the usual gnulib style.
71908
71909         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
71910         of doing all the work ourselves.
71911         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
71912         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
71913
71914 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71915
71916         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
71917         Problem reported by Ralf Wildenhues in
71918         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
71919
71920         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
71921         HAVE_STRUCT_STATFS_F_FSTYPENAME.
71922
71923 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71924
71925         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
71926         yesterday's patch by changing test -n to test -z.
71927
71928 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71929
71930         * modules/getloadavg (Files): Add m4/getloadavg.m4.
71931         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
71932         the former is now obsolescent.
71933
71934         * modules/chdir-long (Depends-on): Add fcntl.
71935
71936 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71937
71938         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
71939         obsolescent, and programs should use gnulib instead.
71940         * m4/getloadavg.m4: New file, with contents taken from Autoconf
71941         but with prefixes changed.
71942
71943 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71944
71945         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
71946         or stdbool.h, because they might not exist while configuring.
71947
71948         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
71949         Don't include unistd.h or limits.h; not needed, since chdir-long.h
71950         does that for us.
71951         (O_DIRECTORY): Remove.
71952
71953 2006-08-31  Eric Blake  <ebb9@byu.net>
71954
71955         * gnulib-tool: Don't let emacs change spaces to TAB.
71956
71957 2006-08-31  Bruno Haible  <bruno@clisp.org>
71958
71959         * gnulib-tool: When calling func_import more than once, do it in a
71960         subshell.
71961         Reported by Eric Blake <ebb9@byu.net>.
71962
71963 2006-08-31  Bruno Haible  <bruno@clisp.org>
71964
71965         * gnulib-tool (nl): Remove variable.
71966         (sed_transform_lib_file): Use more robust test for config-h module.
71967         (func_import): Fix typo in 2006-08-25 patch.
71968
71969 2006-08-31  Bruno Haible  <bruno@clisp.org>
71970
71971         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71972         specified, augment Makefile.am variables instead of assigning them.
71973
71974 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71975
71976         Work around a bug in both the Linux and SunOS 64-bit kernels:
71977         nanosleep mishandles sleeps for longer than 2**31 seconds.
71978         Problem reported by Frank v Waveren in
71979         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71980         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71981         Check for nanosleep bug.
71982         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71983
71984 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71985
71986         Work around a bug in both the Linux and SunOS 64-bit kernels:
71987         nanosleep mishandles sleeps for longer than 2**31 seconds.
71988         Problem reported by Frank v Waveren in
71989         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71990         * lib/nanosleep.c (BILLION): New constant.
71991         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71992         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71993         implementation.
71994
71995 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71996
71997         * modules/nanosleep (Depends-on): Add gettime.
71998
71999 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72000         and Simon Josefsson  <jas@extundo.com>
72001         and Oskar Liljeblad  <oskar@osk.mine.nu>
72002
72003         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72004         * gnulib-tool (func_import): New license type 'unmodifiable license
72005         text'.
72006         * modules/fdl: Use it.  Longer description.
72007         * module/gpl, module/lgpl: New files.
72008
72009 2006-08-30  Jim Meyering  <jim@meyering.net>
72010
72011         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72012         shadowing the parameter.
72013
72014 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72015
72016         Sync from Libtool:
72017
72018         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72019
72020         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72021         sharing with gnulib.  Report by Eric Blake.
72022
72023 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72024
72025         * modules/isapipe: New file.
72026         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72027
72028 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72029
72030         * modules/configmake (Makefile.am): Add a comment, and omit
72031         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72032         by Bruno Haible.
72033
72034 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72035
72036         * m4/isapipe.m4: New file.
72037
72038 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         * lib/isapipe.c, lib/isapipe.h: New files.
72041
72042 2006-08-29  Jim Meyering  <jim@meyering.net>
72043
72044         * modules/configmake (Makefile.am): Make configmake.h depend on
72045         Makefile.  Otherwise, a stale configmake.h could hang around.
72046
72047 2006-08-29  Eric Blake  <ebb9@byu.net>
72048
72049         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72050         resolution of upstream bug 3044.
72051
72052 2006-08-29  Bruno Haible  <bruno@clisp.org>
72053
72054         * modules/localcharset (Depends-on): Add configmake.
72055         (Makefile.am): Remove setting of LIBDIR through DEFS.
72056
72057 2006-08-29  Bruno Haible  <bruno@clisp.org>
72058
72059         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72060         defined.
72061
72062 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72063
72064         * modules/fcntl: New file.
72065         * modules/chdir-safer (Depends-on): Add fcntl.
72066         * modules/fts: Likewise.
72067         * modules/mkdir-p: Likewise.
72068
72069         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72070         This undoes the most recent change, since we're now addressing the
72071         problem in a different way.
72072
72073         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72074         into output, since the output might be called Makefile.am even
72075         if $makefile_name is something different.
72076         (func_import): Use $makefile_am rather than
72077         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72078         empty.
72079
72080         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72081
72082 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72083
72084         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72085         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72086         recent change to stdint.m4, since we're now addressing the problem in a
72087         different way.
72088
72089 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72090
72091         * m4/fcntl_h.m4: New file.
72092
72093 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72094
72095         * lib/fcntl_.h: New file.
72096         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72097         the fcntl module.
72098         * lib/dirchownmod.c: Likewise.
72099         * lib/fts.c: Likewise.
72100
72101         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72102         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72103         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72104         just before including <inttypes.h>, to avoid circular inclusion.
72105
72106 2006-08-28  Jim Meyering  <jim@meyering.net>
72107
72108         * doc/visibility.texi: Actually read and correct the grammar of the
72109         sentence affected by yesterday's change.
72110
72111 2006-08-28  Eric Blake  <ebb9@byu.net>
72112
72113         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72114         needs wrapper.
72115
72116 2006-08-28  Eric Blake  <ebb9@byu.net>
72117
72118         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72119
72120 2006-08-28  Eric Blake  <ebb9@byu.net>
72121
72122         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72123
72124 2006-08-28  Bruno Haible  <bruno@clisp.org>
72125
72126         * modules/c-strstr: New file, from GNU gettext.
72127         * MODULES.html.sh (String handling): Add c-strstr.
72128
72129 2006-08-28  Bruno Haible  <bruno@clisp.org>
72130
72131         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72132         macros.
72133         Reported by Eric Blake.
72134
72135 2006-08-28  Bruno Haible  <bruno@clisp.org>
72136
72137         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72138         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72139         * lib/vasprintf.c: Include errno.h, limits.h.
72140         (EOVERFLOW): New fallback definition.
72141         (vasprintf): Test here whether the string length is > INT_MAX.
72142         * lib/vsnprintf.c: Include errno.h, limits.h.
72143         (EOVERFLOW): New fallback definition.
72144         (vsnprintf): Fix bug when generated string was too long for the buffer.
72145         Test here whether the string length is > INT_MAX.
72146
72147 2006-08-28  Bruno Haible  <bruno@clisp.org>
72148
72149         * lib/inttypes_.h (SCNX*): Remove definitions.
72150         Reported by Eric Blake.
72151
72152 2006-08-28  Bruno Haible  <bruno@clisp.org>
72153
72154         * lib/c-strstr.h: New file, from GNU gettext.
72155         * lib/c-strstr.c: New file, from GNU gettext.
72156
72157 2006-08-28  Bruno Haible  <bruno@clisp.org>
72158
72159         * gnulib-tool: Reorder some statements.
72160
72161 2006-08-28  Bruno Haible  <bruno@clisp.org>
72162
72163         * gnulib-tool: New option --makefile-name.
72164         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72165         $makefile_name.
72166         (func_import): Write $makefile_name to the cache file, and read it from
72167         there unless explicitly specified. Use $makefile_name as file name
72168         instead of Makefile.am. Adjust the recommendations accordingly.
72169
72170 2006-08-28  Bruno Haible  <bruno@clisp.org>
72171
72172         * gnulib-tool (func_verify_module): Check against misapplying patch.
72173
72174 2006-08-28  Bruno Haible  <bruno@clisp.org>
72175
72176         * gnulib-tool (func_relativize, func_relconcat): New functions.
72177         Give an error if --local-dir is given with --update.
72178         Remove trailing slashes from $local_gnulib_dir.
72179         (func_import): Store the relativized $local_gnulib_dir in
72180         gnulib-cache.m4, and read it from there if not specified explicitly.
72181
72182 2006-08-28  Bruno Haible  <bruno@clisp.org>
72183
72184         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72185         is the current directory. Respect also $local_gnulib_dir.
72186
72187 2006-08-28  Bruno Haible  <bruno@clisp.org>
72188             Simon Josefsson  <jas@extundo.com>
72189
72190         BeOS portability.
72191         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72192
72193 2006-08-27  Jim Meyering  <jim@meyering.net>
72194
72195         * doc/visibility.texi: Remove duplicate word: "pointer".
72196
72197 2006-08-26  Bruno Haible  <bruno@clisp.org>
72198
72199         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72200         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72201         (Makefile.am): Create inttypes.h from inttypes_.h.
72202         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72203
72204         * modules/imaxabs: New file.
72205
72206         * modules/imaxdiv: New file.
72207
72208 2006-08-26  Bruno Haible  <bruno@clisp.org>
72209
72210         * m4/inttypes.m4: New file.
72211         * m4/_inttypes_h.m4: Remove file.
72212         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72213         PRI_MACROS_BROKEN.
72214         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72215
72216         * m4/imaxabs.m4: New file.
72217
72218         * m4/imaxdiv.m4: New file.
72219
72220 2006-08-26  Bruno Haible  <bruno@clisp.org>
72221
72222         * lib/inttypes_.h: New file.
72223         * lib/inttypes.h: Remove file.
72224         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72225
72226         * lib/imaxabs.c: New file.
72227
72228         * lib/imaxdiv.c: New file.
72229
72230 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72231
72232         New config-h module, so that "make" output needn't be cluttered
72233         by -DHAVE_CONFIG_H.
72234         * MODULES.html.sh (Support for building libraries and executables):
72235         Add config-h.
72236         * modules/config-h: New file.
72237         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72238         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72239         the config-h module is used.
72240
72241         New configmake module, so that "make" output needn't be cluttered
72242         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72243         * MODULES.html.sh (Support for building libraries and executables):
72244         Add configmake.
72245         * modules/configmake: New file.
72246
72247 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72248
72249         * m4/config-h.m4: New file.
72250
72251 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72252
72253         * config/srclist.txt: Add elisp-comp.
72254
72255 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72256
72257         * MODULES.html.sh (Support for building libraries and executables):
72258         Add elisp-comp.
72259         * build-aux/elisp-comp: New file.
72260         * modules/elisp-comp: New file.
72261
72262 2006-08-24  Bruno Haible  <bruno@clisp.org>
72263
72264         * gnulib-tool (func_create_testdir): Use non-default values of
72265         sourcebase and m4base.
72266
72267 2006-08-24  Bruno Haible  <bruno@clisp.org>
72268
72269         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72270         HTML structure.
72271
72272 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72273
72274         * modules/openat (Depends-on): Add lchown.
72275
72276 2006-08-23  Bruno Haible  <bruno@clisp.org>
72277
72278         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72279         of gl_LOCK_EARLY instead of gl_LOCK.
72280
72281 2006-08-23  Bruno Haible  <bruno@clisp.org>
72282
72283         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72284         on OSF/1 to no.
72285         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72286
72287 2006-08-23  Bruno Haible  <bruno@clisp.org>
72288
72289         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72290         as unusable.
72291
72292         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72293         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72294         (gl_LOCK): New macro.
72295
72296 2006-08-22  Simon Josefsson  <jas@extundo.com>
72297
72298         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72299         to md5 module.
72300
72301 2006-08-22  Simon Josefsson  <jas@extundo.com>
72302
72303         * MODULES.html.sh: Add "Support for maintaining and release
72304         projects".
72305
72306         * build-aux/gnupload: New file, from coreutils.
72307
72308 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72309
72310         Avoid the need for AC_LIBSOURCES in m4 macros.
72311         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72312         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72313         * modules/check-version (EXTRA_DIST): Add check-version.h.
72314         * modules/crc (EXTRA_DIST): Add crc.h.
72315         * modules/des (EXTRA_DIST): Add des.h.
72316         * modules/gc (EXTRA_DIST): Add gc.h.
72317         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72318         * modules/getline (EXTRA_DIST): Add getline.h.
72319         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72320         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72321         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72322         * modules/md2 (EXTRA_DIST): Add md2.h.
72323         * modules/md4 (EXTRA_DIST): Add md4.h.
72324         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72325         * modules/read-file (EXTRA_DIST): Add read-file.h.
72326         * modules/readline (EXTRA_DIST): Add readline.h.
72327         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72328         rijndael-api-fst.h.
72329
72330 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72331
72332         * m4/rijndael.m4 (gl_ARCFOUR):
72333         * m4/arctwo.m4 (gl_ARCTWO):
72334         * m4/check-version.m4 (gl_CHECK_VERSION):
72335         * m4/crc.m4 (gl_CRC):
72336         * m4/des.m4 (gl_DES):
72337         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
72338         * m4/gc.m4 (gl_GC):
72339         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
72340         * m4/getline.m4 (gl_FUNC_GETLINE):
72341         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
72342         * m4/hmac-md5.m4 (gl_HMAC_MD5):
72343         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
72344         * m4/md2.m4 (gl_MD2):
72345         * m4/md4.m4 (gl_MD4):
72346         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
72347         * m4/read-file.m4 (gl_FUNC_READ_FILE):
72348         * m4/readline.m4 (gl_FUNC_READLINE):
72349         * m4/rijndael.m4 (gl_RIJNDAEL):
72350         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72351         to get the necessary .h files and whatnot.
72352
72353 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72354
72355         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
72356         gnulib rather than the other way around.
72357         * config/srclistvars.sh (COREUTILS): Remove.
72358
72359 2006-08-22  Jim Meyering  <jim@meyering.net>
72360
72361         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
72362
72363         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
72364
72365 2006-08-22  Eric Blake  <ebb9@byu.net>
72366
72367         * modules/regexprops-generic: New file.
72368         * MODULES.html.sh (Support for building documentation): List it.
72369
72370 2006-08-22  Eric Blake  <ebb9@byu.net>
72371
72372         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
72373         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
72374         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
72375         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
72376
72377 2006-08-22  Bruno Haible  <bruno@clisp.org>
72378
72379         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
72380         and lib_LTLIBRARIES like the other lib_* variables.
72381
72382 2006-08-22  Bruno Haible  <bruno@clisp.org>
72383
72384         * build-aux/x-to-1.in: New file, from GNU gettext.
72385
72386 2006-08-22  Bruno Haible  <bruno@clisp.org>
72387
72388         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
72389         <utmpx.h> exists.
72390
72391 2006-08-22  Bruno Haible  <bruno@clisp.org>
72392
72393         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
72394         <utmpx.h> exists.
72395
72396 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         BeOS portability.
72399         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
72400         exist.
72401         Problem reported by Bruno Haible.
72402
72403 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72404
72405         Avoid the need for AC_LIBSOURCES in m4 macros.
72406         * modules/acl (EXTRA_DIST): Add acl.h.
72407         * modules/argmatch (Files): Add m4/argmatch.m4.
72408         (configure.ac): Add gl_ARGMATCH.
72409         (EXTRA_DIST): Renamed from lib_SOURCES, for
72410         consistency with the other modules.  Remove argmatch.c.
72411         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
72412         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
72413         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
72414         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
72415         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
72416         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
72417         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
72418         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
72419         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
72420         * modules/closeout (EXTRA_DIST): Add closeout.h.
72421         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
72422         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
72423         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
72424         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
72425         dirname.h; remove basename.c and stripslash.c.
72426         * modules/exclude (EXTRA_DIST): Add exclude.h.
72427         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
72428         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
72429         * modules/file-type (EXTRA_DIST): Add file-type.h.
72430         * modules/filemode (EXTRA_DIST): Add filemode.h.
72431         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
72432         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72433         * modules/fpending (EXTRA_DIST): Add __fpending.h.
72434         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
72435         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
72436         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
72437         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
72438         * modules/getdate (EXTRA_DIST): Add getdate.c.
72439         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
72440         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
72441         * modules/getpass (EXTRA_DIST): Add getpass.h.
72442         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
72443         * modules/group-member (EXTRA_DIST): Add group-member.h.
72444         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
72445         * modules/hash (EXTRA_DIST): Add hash.h.
72446         * modules/human (EXTRA_DIST): Add human.h.
72447         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
72448         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
72449         * modules/lchown (EXTRA_DIST): Add lchown.h.
72450         * modules/long-options (EXTRA_DIST): Add long-options.h.
72451         * modules/lstat (EXTRA_DIST): Add lstat.h.
72452         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
72453         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
72454         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
72455         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
72456         * modules/memxor (EXTRA_DIST): Add memxor.h.
72457         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
72458         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
72459         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
72460         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
72461         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
72462         * modules/physmem (EXTRA_DIST): Add physmem.h.
72463         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
72464         * modules/posixver (EXTRA_DIST): Add posixver.h.
72465         * modules/quote (EXTRA_DIST): Add quote.h.
72466         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
72467         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
72468         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
72469         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
72470         regex_internal.h regexec.c.
72471         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
72472         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
72473         * modules/same (EXTRA_DIST): Add same.h.
72474         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
72475         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
72476         * modules/savedir (EXTRA_DIST): Add savedir.h.
72477         * modules/sha1 (EXTRA_DIST): Add sha1.h.
72478         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
72479         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
72480         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
72481         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
72482         * modules/strdup (EXTRA_DIST): Add strdup.h.
72483         * modules/strftime (EXTRA_DIST): Add strftime.h.
72484         * modules/strndup (EXTRA_DIST): Add strndup.h.
72485         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
72486         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
72487         * modules/time_r (EXTRA_DIST): Add time_r.h.
72488         * modules/timespec (EXTRA_DIST): Add timespec.h.
72489         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
72490         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
72491         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
72492         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
72493         * modules/userspec (EXTRA_DIST): Add userspec.h.
72494         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
72495         * modules/utimens (EXTRA_DIST): Add utimens.h.
72496         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
72497         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
72498         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
72499         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
72500         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
72501         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
72502         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
72503         * modules/yesno (EXTRA_DIST): Add yesno.h.
72504
72505 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
72506
72507         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
72508
72509         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
72510         * m4/dev-ino.m4, same-inode.m4: Remove.
72511
72512         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
72513         * m4/acl.m4 (AC_FUNC_ACL):
72514         * m4/backupfile.m4 (gl_BACKUPFILE):
72515         * m4/c-strtod.m4 (gl_C99_STRTOLD):
72516         * m4/canon-host.m4 (gl_CANON_HOST):
72517         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72518         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
72519         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
72520         * m4/cloexec.m4 (gl_CLOEXEC):
72521         * m4/close-stream.m4 (gl_CLOSE_STREAM):
72522         * m4/closeout.m4 (gl_CLOSEOUT):
72523         * m4/dirfd.m4 (gl_FUNC_DIRFD):
72524         * m4/dirname.m4 (gl_DIRNAME):
72525         * m4/exclude.m4 (gl_EXCLUDE):
72526         * m4/exitfail.m4 (gl_EXITFAIL):
72527         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
72528         * m4/file-type.m4 (gl_FILE_TYPE):
72529         * m4/filemode.m4 (gl_FILEMODE):
72530         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
72531         * m4/fpending.m4 (gl_FUNC_FPENDING):
72532         * m4/fprintftime.m4 (gl_FPRINTFTIME):
72533         * m4/fts.m4 (gl_FUNC_FTS):
72534         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
72535         * m4/getdate.m4 (gl_GETDATE):
72536         * m4/gethrxtime.m4 (gl_GETHRXTIME):
72537         * m4/getpagesize.m4 (gl_GETPAGESIZE):
72538         * m4/getpass.m4 (gl_FUNC_GETPASS):
72539         * m4/gettime.m4 (gl_GETTIME):
72540         * m4/getugroups.m4 (gl_GETUGROUPS):
72541         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
72542         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
72543         * m4/hard-locale.m4 (gl_HARD_LOCALE):
72544         * m4/hash.m4 (gl_HASH):
72545         * m4/idcache.m4 (gl_IDCACHE):
72546         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
72547         * m4/lchown.m4 (gl_FUNC_LCHOWN):
72548         * m4/long-options.m4 (gl_LONG_OPTIONS):
72549         * m4/lstat.m4 (gl_FUNC_LSTAT):
72550         * m4/md5.m4 (gl_MD5):
72551         * m4/memcasecmp.m4 (gl_MEMCASECMP):
72552         * m4/memcoll.m4 (gl_MEMCOLL):
72553         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
72554         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
72555         * m4/memxor.m4 (gl_MEMXOR):
72556         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
72557         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
72558         * m4/modechange.m4 (gl_MODECHANGE):
72559         * m4/mountlist.m4 (gl_MOUNTLIST):
72560         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72561         * m4/openat.m4 (gl_FUNC_OPENAT):
72562         * m4/pathmax.m4 (gl_PATHMAX):
72563         * m4/physmem.m4 (gl_PHYSMEM):
72564         * m4/posixtm.m4 (gl_POSIXTM):
72565         * m4/posixver.m4 (gl_POSIXVER):
72566         * m4/quote.m4 (gl_QUOTE):
72567         * m4/quotearg.m4 (gl_QUOTEARG):
72568         * m4/readtokens.m4 (gl_READTOKENS):
72569         * m4/readutmp.m4 (gl_READUTMP):
72570         * m4/regex.m4 (gl_REGEX):
72571         * m4/safe-read.m4 (gl_SAFE_READ):
72572         * m4/safe-write.m4 (gl_SAFE_WRITE):
72573         * m4/same.m4 (gl_SAME):
72574         * m4/save-cwd.m4 (gl_SAVE_CWD):
72575         * m4/savedir.m4 (gl_SAVEDIR):
72576         * m4/settime.m4 (gl_SETTIME):
72577         * m4/sha1.m4 (gl_SHA1):
72578         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
72579         * m4/stat-macros.m4 (gl_STAT_MACROS):
72580         * m4/stat-time.m4 (gl_STAT_TIME):
72581         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
72582         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
72583         * m4/strdup.m4 (gl_FUNC_STRDUP):
72584         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
72585         * m4/strndup.m4 (gl_FUNC_STRNDUP):
72586         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
72587         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
72588         * m4/time_r.m4 (gl_TIME_R):
72589         * m4/timespec.m4 (gl_TIMESPEC):
72590         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
72591         * m4/unlinkdir.m4 (gl_UNLINKDIR):
72592         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
72593         * m4/userspec.m4 (gl_USERSPEC):
72594         * m4/utimecmp.m4 (gl_UTIMECMP):
72595         * m4/utimens.m4 (gl_UTIMENS):
72596         * m4/xalloc.m4 (gl_XALLOC):
72597         * m4/xgetcwd.m4 (gl_XGETCWD):
72598         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
72599         * m4/xreadlink.m4 (gl_XREADLINK):
72600         * m4/xstrtod.m4 (gl_XSTRTOD):
72601         * m4/yesno.m4 (gl_YESNO):
72602         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
72603         to get the necessary .h files and whatnot.
72604
72605 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
72606             Bruno Haible  <bruno@clisp.org>
72607
72608         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
72609         /bin/sh understanding of '!' conditional negation.
72610
72611 2006-08-21  Jim Meyering  <jim@meyering.net>
72612
72613         * modules/openat (Depends-on): Really alphabetize.
72614
72615         * modules/acl (Depends-on): Add error and quote.
72616
72617         * check-module (find_included_lib_files): Add at-func.c to the
72618         ok-to-include-more-than-once white list.
72619
72620         * modules/openat (Depends-on): Add lstat.  Alphabetize.
72621
72622 2006-08-21  Bruno Haible  <bruno@clisp.org>
72623
72624         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72625         Emit a pkgdata_DATA variable only if some snippets add contents to it.
72626         Reported by Martin Lambers <marlam@marlam.de>.
72627
72628 2006-08-21  Bruno Haible  <bruno@clisp.org>
72629
72630         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
72631         specify an installation location, don't emit a noinst_LIBRARIES or
72632         noinst_LTLIBRARIES assignment.
72633
72634 2006-08-21  Bruno Haible  <bruno@clisp.org>
72635
72636         BeOS portability.
72637         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
72638         BeOS has mbrtowc() but no <wctype.h>.
72639
72640 2006-08-21  Bruno Haible  <bruno@clisp.org>
72641
72642         BeOS portability.
72643         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
72644         exist.
72645
72646 2006-08-21  Bruno Haible  <bruno@clisp.org>
72647
72648         BeOS portability.
72649         * lib/mbchar.h: Include <wctype.h> only if it exists.
72650
72651 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72652
72653         Remove files that are no longer needed by their respective modules.
72654         * m4/obstack.m4: Remove.
72655         * m4/strerror_r.m4: Remove.
72656         * m4/uint32_t.m4: Remove.
72657         * m4/uintptr_t.m4: Remove.
72658         * m4/ullong_max.m4: Remove.
72659         * m4/xstrtoimax.m4: Remove.
72660         * m4/xstrtoumax.m4: Remove.
72661
72662         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
72663         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
72664         dependencies now capture this.
72665
72666         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
72667         Do not use AC_LIBSOURCES, since gnulib modules now do this.
72668         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
72669         * m4/human.m4 (gl_HUMAN): Likewise.
72670         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
72671         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
72672
72673         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
72674
72675         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
72676         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
72677         stdint.
72678         * m4/human.m4 (gl_HUMAN): Likewise.
72679         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
72680         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
72681         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72682         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72683         * m4/xstrtol (gl_XSTRTOL): Likewise.
72684
72685         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
72686         AC_TYPE_LONG_LONG_INT.
72687         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
72688         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
72689         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
72690         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
72691
72692         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
72693         on stdbool.
72694
72695         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
72696         (gl_PREREQ_XSTRTOUL): Remove.
72697
72698         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
72699
72700         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
72701         mode.
72702
72703 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72704
72705         Add and change modules to make it easier for coreutils to use
72706         gnulib-tool.
72707         * modules/backupfile (Files): Remove m4/d-ino.m4.
72708         (Depends-on): Add d-ino.
72709         * modules/cycle-check (Depends-on): Add stdint.
72710         (lib_SOURCES): Add cycle-check.h.
72711         * modules/d-ino: New module.
72712         * modules/d-type: New module.
72713         * modules/error (Files): Remove m4/strerror_r.m4.
72714         * modules/filemode (Files): Add m4/st_dm_mode.m4.
72715         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72716         m4/inttypes_h.m4, m4/uintmax_t.m4.
72717         (Depends-on): Add stdint.
72718         (lib_SOURCES): Add fsusage.h.
72719         * modules/getcwd (Files): Remove d-ino.m4.
72720         (Depends-on): Add d-ino.
72721         * modules/getndelim2 (Depends-on): Add stdint.
72722         * modules/glob (Files): Remove m4/d-type.m4.
72723         (Depends-on): Add d-type.
72724         * modules/host-os: New module.
72725         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
72726         m4/inttypes_h.m4, m4/uintmax_t.m4.
72727         * Depends-on: Add stdint.
72728         (lib_SOURCES): Add human.h.
72729         * modules/inttostr (Files): Remove m4/intmax_t.m4,
72730         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
72731         m4/uintmax_t.m4, m4/ulonglong.m4.
72732         (Depends-on): Add stdint.
72733         (EXTRA_DIST): Add inttostr.h.
72734         * modules/lchmod: New module.
72735         * modules/link-follow: New module.
72736         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
72737         (Depends-on): Add lchmod.
72738         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
72739         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
72740         (Depends-on): Add stdint.
72741         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
72742         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
72743         (Depends-on): Add stdint.
72744         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
72745         * modules/perl: New module.
72746         * modules/regex (Depends-on): Add stdint.
72747         * modules/rmdir-errno: New module.
72748         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72749         m4/intmax_t.m4.
72750         (Depends-on): Add stdint.
72751         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
72752         m4/uintmax_t.m4.
72753         (Depends-on): Add stdint.
72754         * modules/unlink-busy: New module.
72755         * modules/utimecmp (Depends-on): Add stdint.
72756         * modules/uptime: New module.
72757         * modules/winsz-ioctl: New module.
72758         * modules/winsz-termios: New module.
72759         * modules/xnanosleep (Depends-on): Add nanosleep.
72760         * modules/ullong_max: Remove.
72761         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
72762         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
72763         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
72764         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
72765         (Depends-on): Add inttypes.
72766         (lib_SOURCES): Add xstrtol.h.
72767         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
72768         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
72769         * MODULES.html.sh: Move 'assert' into the assert section.
72770         Move 'dummy' into the linking section.
72771         Remove ullong_max.
72772         Add section for compatibility checks for POSIX:2001 functions,
72773         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
72774         winsz-ioctl, and winsz-termios into it.
72775         Add lchmod.
72776         Add top-level Misc section and put host-os, perl, and uptime
72777         into it.
72778
72779 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72780
72781         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
72782         now assume the stdint module.  Do not include inttypes.h.
72783         * lib/fsusage.h: Likewise.
72784         * lib/getndelim2.c: Likewise.
72785         * lib/human.h: Likewise.
72786         * lib/inttostr.h: Likewise.
72787         * lib/obstack.c: Likewise.
72788         * lib/regex_internal.h: Likewise.
72789         * lib/tempname.c: Likewise.
72790         * lib/utimecmp.c: Likewise.
72791         * lib/xstrtol.h: Likewise.
72792
72793         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
72794
72795         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
72796         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
72797         * lib/xtime.h: Likewise.
72798
72799 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72800
72801         * modules/openat (Files): Add lib/fchmodat.c.
72802         Fixes problem reported by Jay Youngman.
72803
72804 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72805
72806         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
72807         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
72808
72809 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
72810             Bruno Haible  <bruno@clisp.org>
72811
72812         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
72813         and is a script that invokes bison. Tighten the code. Add comments.
72814
72815 2006-08-18  Jim Meyering  <jim@meyering.net>
72816
72817         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
72818         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
72819         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
72820         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
72821
72822 2006-08-18  Bruno Haible  <bruno@clisp.org>
72823
72824         * modules/bison-i18n: New file.
72825         * MODULES.html.sh (Internationalization functions): Add it.
72826
72827 2006-08-18  Bruno Haible  <bruno@clisp.org>
72828
72829         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
72830         sys/statvfs.h. When getmntinfo was found, check its declaration and
72831         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
72832
72833 2006-08-18  Bruno Haible  <bruno@clisp.org>
72834
72835         * m4/bison-i18n.m4: New file, from bison.
72836
72837 2006-08-18  Bruno Haible  <bruno@clisp.org>
72838
72839         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
72840         (ME_DUMMY): Treat "kernfs" as a dummy.
72841         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
72842
72843 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72844
72845         Update from coreutils.
72846
72847         2006-08-15  Jim Meyering  <jim@meyering.net>
72848
72849         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
72850
72851         2006-01-17  Jim Meyering  <jim@meyering.net>
72852
72853         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
72854
72855         2006-01-11  Jim Meyering  <jim@meyering.net>
72856
72857         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
72858         Check for the lchmod function.
72859
72860 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72861
72862         Update from coreutils.
72863
72864         * lib/__fpending.h: Add copyright notice.
72865         * lib/fprintftime.h: Likewise.
72866         * lib/savedir.c: Use (C) in copyright notice.
72867         * lib/savedir.h: Likewise.
72868
72869         2006-08-15  Jim Meyering  <jim@meyering.net>
72870
72871         * lib/at-func.c: New file, with the logic of all emulated at-functions.
72872         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
72873         in support of the EXPECTED_ERRNO macro.
72874         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
72875         definitions.  Instead, define the appropriate symbols and include
72876         "at-func.c".
72877         * lib/mkdirat.c (mkdirat): Likewise.
72878         * lib/fchmodat.c (fchmodat): Likewise.
72879         (ENOSYS): Remove definition.
72880         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
72881         it.  Don't include "unistd--.h" -- it wasn't ever used.
72882
72883         2006-01-17  Jim Meyering  <jim@meyering.net>
72884
72885         Rewrite fts.c not to change the current working directory,
72886         by using openat, fstatat, fdopendir, etc..
72887
72888         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
72889         (HAVE_OPENAT_SUPPORT): Define.
72890         [_LIBC] (fchdir): Don't undef or define; no longer used.
72891         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
72892         Now, this `function' always succeeds, and consumes its file descriptor
72893         parameter -- so callers must not close such FDs.  Update callers.
72894         (diropen_fd, opendirat, cwd_advance_fd): New functions.
72895         (diropen): Add parameter, SP.  Adjust all callers.
72896         Implement using diropen_fd, rather than open.
72897         (fts_open): Initialize new member, fts_cwd_fd.
72898         Remove fts_rft-setting code.
72899         (fts_close): Close fts_cwd_fd, if necessary.
72900         (__opendir2): Define in terms of opendir or opendirat,
72901         depending on whether the FST_NOCHDIR flag is set.
72902         (fts_build): Since fts_safe_changedir consumes its FD, and since
72903         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
72904         and close the dup'd file descriptor upon failure.
72905         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
72906         (fts_safe_changedir): Tweak semantics to reflect that this function
72907         now calls cwd_advance_fd and hence consumes its FD argument.
72908         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
72909         [struct FTS] (fts_rft): Remove now-unused member.
72910         [struct FTS] (fts_cycle.state): Improve comment.
72911
72912         * lib/openat.c (openat_needs_fchdir): New function.
72913         * lib/openat.h (openat_needs_fchdir): Declare it.
72914
72915 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72916
72917         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
72918         Problem and fix reported by Pádraig Brady in
72919         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
72920
72921 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72922
72923         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
72924
72925 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72926
72927         * lib/memcoll.c (memcoll): Optimize for the common case where the
72928         arguments are bytewise equal.
72929
72930 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * doc/regexprops-generic.texi: Add a copyright notice.
72933
72934 2006-08-15  Bruno Haible  <bruno@clisp.org>
72935
72936         * modules/tmpdir (License): Change to LGPL.
72937
72938 2006-08-15  Bruno Haible  <bruno@clisp.org>
72939
72940         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
72941         module.
72942
72943 2006-08-14  Simon Josefsson  <jas@extundo.com>
72944
72945         * config/srclist.txt: Add gnupload.
72946
72947 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72948
72949         Change copyright notice from LGPL 2 to GPL 2, since that's the
72950         standard form used in the gnulib repository.
72951         * tests/test-lock.c: Likewise.
72952         * tests/test-stdint.c: Likewise.
72953         * tests/test-tls.c: Likewise.
72954
72955         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
72956         prelude-manager.  User shorter URLs for GNU projects, without '?'.
72957         Add copyright notice.
72958
72959         * check-module: Add copyright notice.  Output a copyright
72960         notice if "--version" is specified.
72961         * modules/COPYING: New file.
72962         * tests/test-getaddrinfo.c: Add copyright notice.
72963         * tests/test-verify.c: Likewise.
72964
72965 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72966
72967         Change copyright notice from LGPL 2 to GPL 2, since that's the
72968         standard form used in the gnulib repository.
72969         * lib/lock.c: LGPL -> GPL.
72970         * lib/lock.h: Likewise.
72971         * lib/strnlen1.c: Likewise.
72972         * lib/strnlen1.h: Likewise.
72973         * lib/tls.c: Likewise.
72974         * lib/tls.h: Likewise.
72975         * lib/tmpdir.c: Likewise.
72976
72977         * lib/TODO: Remove; this belongs only in coreutils.
72978
72979 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72980
72981         Add copyright notices to long-enough files that lack them, since
72982         otherwise the files aren't clearly free.  Use the same notice that
72983         getdate.texi already uses.
72984         * doc/alloca-opt.texi: Add copyright notice.
72985         * doc/alloca.texi: Likewise.
72986         * doc/ctime.texi: Likewise.
72987         * doc/functions.texi: Likewise.
72988         * doc/gcd.texi: Likewise.
72989         * doc/gnulib-tool.texi: Likewise.
72990         * doc/inet_ntoa.texi: Likewise.
72991         * doc/visibility.texi: Likewise.
72992
72993         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72994         * doc/quote.texi: Add copyright notice.
72995
72996         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72997         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72998         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72999         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73000         is now obsolete, and give a pointer to the Sun list.
73001         Add copyright notice.
73002
73003 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73004
73005         * config/srclistvars.sh: Add copyright notice.
73006
73007 2006-08-14  Eric Blake  <ebb9@byu.net>
73008
73009         Import the following change from libc:
73010
73011         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73012
73013         Upstream bug 2997.
73014         * lib/misc/error.c: Add space between program name and message if file
73015         name is missing.
73016
73017 2006-08-12  Karl Berry  <karl@gnu.org>
73018
73019         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73020         remove, these originate in gnulib now.
73021
73022 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73023
73024         * doc/Makefile (standards.info standards.html standards.dvi):
73025         Also depend on make-stds.texi.
73026
73027 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73028
73029         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73030         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73031
73032         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73033         in wchar_t.  Problem reported by Eric Blake.
73034
73035         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73036         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73037         Also, help the compiler to keep LEN in a register.
73038
73039 2006-08-11  Eric Blake  <ebb9@byu.net>
73040
73041         * users.txt: Sort.  Add tar.
73042
73043 2006-08-11  Bruno Haible  <bruno@clisp.org>
73044
73045         * users.txt: New file.
73046
73047 2006-08-11  Bruno Haible  <bruno@clisp.org>
73048
73049         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73050         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73051
73052 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73053
73054         * modules/snprintf (Depends-on): Remove minmax.
73055         (Maintainer): Add self and Bruno.
73056
73057 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73058
73059         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73060         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73061         (EOVERFLOW): Define if the system does not.
73062         Do not include "minmax.h"; it wasn't used.
73063         (snprintf): Don't assume size_t promotes to an unsigned type.
73064         Fix bug when generated string was too long for the buffer: the
73065         buffer's contents are supposed to be the initial prefix of the
73066         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73067         exceeds INT_MAX; do the check ourselves.
73068
73069         Import the following changes from libc:
73070
73071         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73072
73073         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73074         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73075         set wc to the byte which couldn't be converted.
73076         (re_string_reconstruct): Don't clear valid_raw_len before calling
73077         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73078         tip_context using re_string_context_at.
73079
73080         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73081
73082         * lib/posix/regex.h: g++ still cannot handled [restrict].
73083
73084         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73085
73086         * lib/posix/regex.h: Remove special handling for VMS.
73087
73088 2006-08-10  Jim Meyering  <jim@meyering.net>
73089
73090         * modules/same-inode: New module.
73091         * modules/dev-ino: New module.
73092         * modules/cycle-check: Depend on these modules, rather than simply
73093         including their .h files.
73094         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73095         required via m4/cycle-check.m4.
73096         * modules/same: Depend on new same-inode module, rather than
73097         including same-inode.h.
73098         * modules/chdir-safer: New file.
73099
73100         * modules/chown (Depends-on): Add stat-macros.
73101
73102 2006-08-10  Jim Meyering  <jim@meyering.net>
73103
73104         * m4/cycle-check.m4: New file.
73105         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73106         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73107
73108 2006-08-10  Eric Blake  <ebb9@byu.net>
73109
73110         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73111         in from original proposal.
73112
73113 2006-08-10  Eric Blake  <ebb9@byu.net>
73114         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73115
73116         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73117         namespace.
73118
73119 2006-08-10  Bruno Haible  <bruno@clisp.org>
73120
73121         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73122         as well.
73123
73124 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73125
73126         Sync from coreutils.
73127
73128         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73129
73130         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73131         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73132
73133 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73134
73135         * modules/restrict: Remove; no longer needed now that we assume
73136         Autoconf 2.59 or later.
73137         * MODULES.html.sh: Remove 'restrict'.
73138         * modules/argp (Depends-on): Remove 'restrict'.
73139         * modules/base64 (Depends-on): Likewise.
73140         * modules/gc (Depends-on): Likewise.
73141         * modules/getaddrinfo (Depends-on): Likewise.
73142         * modules/glob (Depends-on): Likewise.
73143         * modules/inet_ntop (Depends-on): Likewise.
73144         * modules/inet_pton (Depends-on): Likewise.
73145         * modules/memxor (Depends-on): Likewise.
73146         * modules/regex (Depends-on): Likewise.
73147         * modules/strtok_r (Depends-on): Likewise.
73148         * modules/time_r (Depends-on): Likewise.
73149
73150 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73151
73152         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73153         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73154         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73155         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73156         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73157         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73158         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73159         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73160
73161         Merge from coreutils.
73162         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73163         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73164         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73165         * m4/time_r.m4 (gl_TIME_R): Likewise.
73166
73167 2006-08-09  Karl Berry  <karl@gnu.org>
73168
73169         * config/srclist.txt: no more gettext-tools, per Bruno.
73170
73171 2006-08-08  Eric Blake  <ebb9@byu.net>
73172
73173         * modules/verror: New module.
73174         * MODULES.html.sh: Document it.
73175
73176 2006-08-08  Eric Blake  <ebb9@byu.net>
73177
73178         * lib/verror.h, lib/verror.c: New files.
73179
73180 2006-08-08  Eric Blake  <ebb9@byu.net>
73181
73182         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73183         verror_at_line output complies with GNU Coding Standards even when
73184         file is NULL.
73185
73186 2006-08-07  Bruno Haible  <bruno@clisp.org>
73187
73188         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73189         versions of AIX.
73190         Reported by Ralf Wildenhues.
73191
73192 2006-08-07  Bruno Haible  <bruno@clisp.org>
73193
73194         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73195         in an AC_DEFUN. Needed so that the autoconf snippets can use
73196         AC_REQUIRE.
73197
73198 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73199
73200         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73201         Initialize pkgdata_DATA.
73202         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73203         overriding it.
73204
73205 2006-08-06  Eric Blake  <ebb9@byu.net>
73206
73207         * lib/error.h: Fold in some upstream changes from glibc.
73208         * lib/error.c: Likewise.
73209
73210 2006-08-04  Bruno Haible  <bruno@clisp.org>
73211
73212         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73213         Make the mostlyclean-local rule depend on mostlyclean-generic.
73214         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73215
73216 2006-07-31  Bruno Haible  <bruno@clisp.org>
73217
73218         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73219         <stdlib.h>, <string.h>.
73220
73221 2006-07-30  Bruno Haible  <bruno@clisp.org>
73222
73223         * modules/readlink (License): Change to LGPL.
73224
73225 2006-07-30  Bruno Haible  <bruno@clisp.org>
73226
73227         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73228         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73229         set PKGDATADIR to point to it.
73230
73231 2006-07-30  Bruno Haible  <bruno@clisp.org>
73232
73233         * modules/csharpexec (configure.ac): Comment out macro invocation.
73234         * modules/javaexec (configure.ac): Likewise.
73235         * modules/javacomp-script (configure.ac): Likewise.
73236
73237         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73238
73239 2006-07-30  Bruno Haible  <bruno@clisp.org>
73240
73241         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73242         linked-list.
73243
73244 2006-07-30  Bruno Haible  <bruno@clisp.org>
73245
73246         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73247
73248 2006-07-30  Bruno Haible  <bruno@clisp.org>
73249
73250         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73251         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73252         get removed.
73253
73254 2006-07-29  Bruno Haible  <bruno@clisp.org>
73255
73256         Make it possible for gnulib-tool to work with locally modified or
73257         augmented gnulib repositories.
73258         * gnulib-tool (func_usage): Document --local-dir option.
73259         (local_gnulib_dir): New variable.
73260         Handle --local-dir option.
73261         (func_lookup_file): New function.
73262         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73263         (func_get_description, func_get_filelist, func_get_description,
73264         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73265         func_get_automake_snippet, func_get_include_directive,
73266         func_get_license, func_get_maintainer): Use func_lookup_file.
73267         (func_import, func_create_testdir): Use func_lookup_file.
73268
73269 2006-07-29  Bruno Haible  <bruno@clisp.org>
73270
73271         * modules/setenv (Depends-on): Add unistd.
73272
73273 2006-07-29  Bruno Haible  <bruno@clisp.org>
73274
73275         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73276
73277 2006-07-29  Bruno Haible  <bruno@clisp.org>
73278
73279         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73280
73281 2006-07-29  Bruno Haible  <bruno@clisp.org>
73282
73283         * gnulib-tool (import, update): If there is no Makefile.am, look at
73284         aclocal.m4, instead of bailing out.
73285
73286 2006-07-29  Bruno Haible  <bruno@clisp.org>
73287
73288         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73289         Categorize the options by when they are useful.
73290
73291 2006-07-29  Bruno Haible  <bruno@clisp.org>
73292
73293         * gnulib-tool (func_usage): Document option --no-libtool.
73294         Handle option --no-libtool.
73295         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73296         for changed semantics of $libtool variable.
73297         (func_import): Likewise. If libtool is not used, show this through
73298         an option --no-libtool.
73299         (func_create_testdir): Update.
73300
73301 2006-07-29  Bruno Haible  <bruno@clisp.org>
73302
73303         * gnulib-tool (func_import): Extend error message about missing
73304         --doc-base.
73305
73306 2006-07-29  Bruno Haible  <bruno@clisp.org>
73307
73308         * gnulib-tool (func_import): Don't create the $docbase directory if
73309         there is no file to store there.
73310
73311 2006-07-29  Bruno Haible  <bruno@clisp.org>
73312
73313         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73314         relevant, look for configure.ac there, not in the current directory.
73315         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73316
73317 2006-07-29  Bruno Haible  <bruno@clisp.org>
73318
73319         * gnulib-tool (SORT): New variable.
73320         (func_usage): Undocument --assume-autoconf option.
73321         Remove --assume-autoconf option handling.
73322         (autoconf_minversion): Determine from the contents of configure.ac.
73323         (func_import): Remove autoconf_minversion handling.
73324         Suggested by Eric Blake.
73325
73326 2006-07-29  Bruno Haible  <bruno@clisp.org>
73327
73328         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73329
73330 2006-07-29  Bruno Haible  <bruno@clisp.org>
73331
73332         * config/srclist.txt (*setenv.[ch]): Remove rules.
73333
73334 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73335
73336         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
73337
73338 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73339
73340         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
73341         arpa/inet.h.
73342
73343 2006-07-28  Simon Josefsson  <jas@extundo.com>
73344
73345         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
73346         * modules/inet_pton (Depends-on): Likewise.
73347
73348 2006-07-28  Simon Josefsson  <jas@extundo.com>
73349
73350         * m4/netinet_in_h.m4: New file.
73351
73352 2006-07-28  Simon Josefsson  <jas@extundo.com>
73353
73354         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
73355         #include's.
73356
73357 2006-07-28  Simon Josefsson  <jas@extundo.com>
73358
73359         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
73360         #include's.
73361
73362 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
73363
73364         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
73365         setgid on directories only if they set these bits.
73366         * lib/modechange.h: Remove obsolete comment about masks.
73367
73368 2006-07-28  Eric Blake  <ebb9@byu.net>
73369
73370         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
73371         macro expansion.
73372
73373 2006-07-28  Bruno Haible  <bruno@clisp.org>
73374
73375         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
73376
73377 2006-07-28  Bruno Haible  <bruno@clisp.org>
73378
73379         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
73380
73381 2006-07-28  Bruno Haible  <bruno@clisp.org>
73382
73383         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
73384         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
73385         Define fallbacks.
73386         Avoids link error on FreeBSD 4.x.
73387         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73388
73389         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
73390         encoding.
73391         * lib/mbswidth.c (iswcntrl): Likewise.
73392
73393 2006-07-27  Bruno Haible  <bruno@clisp.org>
73394
73395         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
73396         test.
73397
73398 2006-07-27  Bruno Haible  <bruno@clisp.org>
73399
73400         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
73401         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
73402         defined.
73403
73404 2006-07-26  Eric Blake  <ebb9@byu.net>
73405
73406         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
73407
73408 2006-07-26  Eric Blake  <ebb9@byu.net>
73409
73410         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
73411         like mingw that lack mkstemp.
73412         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
73413         avoid compilation warning on mingw.
73414
73415 2006-07-26  Bruno Haible  <bruno@clisp.org>
73416
73417         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
73418         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
73419         INT_FAST*_MIN, INTPTR_MIN.
73420
73421 2006-07-25  Bruno Haible  <bruno@clisp.org>
73422
73423         * modules/version-etc (Depends-on): Add stdarg.
73424
73425 2006-07-25  Bruno Haible  <bruno@clisp.org>
73426
73427         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
73428         complex commands.
73429
73430 2006-07-25  Bruno Haible  <bruno@clisp.org>
73431
73432         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
73433         defined in <stdarg.h> or config.h.
73434
73435 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73436
73437         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
73438         (gl_STDIO_SAFER): Remove.
73439
73440 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
73441
73442         * MODULES.html.sh (File stream based Input/Output):
73443         Add fopen-safer, tmpfile-safer; remove stdio-safer.
73444         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
73445         * modules/fopen-safer, modules/tmpfile-safer: New files.
73446         * modules/stdio-safer: Remove.
73447
73448 2006-07-24  Bruno Haible  <bruno@clisp.org>
73449
73450         * modules/tmpdir: New file.
73451         * MODULES.html.sh (File system functions): Add it.
73452
73453 2006-07-24  Bruno Haible  <bruno@clisp.org>
73454
73455         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
73456         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
73457
73458 2006-07-24  Bruno Haible  <bruno@clisp.org>
73459
73460         * modules/clean-temp: New file.
73461
73462 2006-07-24  Bruno Haible  <bruno@clisp.org>
73463
73464         * m4/tmpdir.m4: New file, from GNU gettext.
73465
73466 2006-07-24  Bruno Haible  <bruno@clisp.org>
73467
73468         * lib/tmpdir.h: New file, from GNU gettext.
73469         * lib/tmpdir.c: New file, from GNU gettext.
73470
73471 2006-07-24  Bruno Haible  <bruno@clisp.org>
73472
73473         * lib/clean-temp.h: New file, from GNU gettext.
73474         * lib/clean-temp.c: New file, from GNU gettext.
73475
73476 2006-07-23  Eric Blake  <ebb9@byu.net>
73477
73478         * modules/stdio-safer (Files): Add tmpfile-safer.c.
73479         (Depends-on): Add binary-io.
73480
73481 2006-07-23  Eric Blake  <ebb9@byu.net>
73482
73483         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
73484
73485 2006-07-23  Eric Blake  <ebb9@byu.net>
73486
73487         * lib/tmpfile-safer.c: New file.
73488         * lib/stdio-safer.h (fopen_safer): Add prototype.
73489         * lib/stdio--.h (tmpfile): Make safer.
73490
73491 2006-07-23  Bruno Haible  <bruno@clisp.org>
73492
73493         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
73494         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
73495         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
73496         gl_linked_remove_at): Use it.
73497
73498 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73499         and Simon Josefsson <jas@extundo.com>
73500
73501         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
73502
73503         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
73504
73505 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73506
73507         * modules/close-stream: New file.
73508         * modules/closeout (Description): Make it clear that it exits
73509         with a diagnostic on error.
73510         (Depends-on): Add close-stream.  Remove fpending, stdbool.
73511         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
73512
73513 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73514
73515         * m4/close-stream.m4: New file.
73516
73517 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
73518
73519         * lib/close-stream.c, lib/close-stream.h: New files.
73520
73521 2006-07-22  Bruno Haible  <bruno@clisp.org>
73522
73523         Merge from GNU gettext 0.15.
73524
73525         2006-05-01  Bruno Haible  <bruno@clisp.org>
73526
73527                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
73528
73529         2006-07-22  Bruno Haible  <bruno@clisp.org>
73530
73531                 * modules/javaversion: New file.
73532                 * MODULES.html.sh (Java): Add javaversion.
73533
73534         2006-03-12  Bruno Haible  <bruno@clisp.org>
73535
73536                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
73537
73538         2005-12-04  Bruno Haible  <bruno@clisp.org>
73539
73540                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
73541                 (untested).
73542
73543         2006-06-21  Bruno Haible  <bruno@clisp.org>
73544
73545                 Avoid warnings from recent versions of mcs.
73546                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
73547                 -o, -L, -r any more. Use options documented since mcs-1.0
73548                 instead. Similarly for -g.
73549
73550         2005-12-04  Bruno Haible  <bruno@clisp.org>
73551
73552                 * build-aux/csharpcomp.sh.in: Suffix for resources is
73553                 .resources, not .resource.
73554
73555         2005-07-09  Bruno Haible  <bruno@clisp.org>
73556
73557                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
73558                 add a .dll suffix.
73559                 Reported by Mark Junker <mjscod@gmx.de>.
73560
73561         2006-07-22  Bruno Haible  <bruno@clisp.org>
73562
73563                 * modules/gettext: Upgrade to gettext-0.15.
73564                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
73565                 m4/visibility.m4.
73566                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
73567
73568 2006-07-22  Bruno Haible  <bruno@clisp.org>
73569
73570         Merge from GNU gettext 0.15.
73571
73572         2006-03-25  Bruno Haible  <bruno@clisp.org>
73573
73574                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
73575
73576         2006-07-21  Bruno Haible  <bruno@clisp.org>
73577
73578                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
73579                 "1.1".
73580
73581         2006-05-09  Bruno Haible  <bruno@clisp.org>
73582
73583                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
73584                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
73585                 for the conftestver execution.
73586
73587         2006-05-01  Bruno Haible  <bruno@clisp.org>
73588
73589                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
73590                 optional target-version argument. Verify that the compiler
73591                 groks source of the specified source-version, or add -source
73592                 option as necessary. Verify that the compiler produces
73593                 bytecode in the specified target-version, or add -target and
73594                 -source options as necessary. Make the result of the test
73595                 available as variable CONF_JAVAC. Also log error output in
73596                 config.log.
73597
73598         2006-03-11  Bruno Haible  <bruno@clisp.org>
73599
73600                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
73601
73602         2006-05-09  Bruno Haible  <bruno@clisp.org>
73603
73604                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
73605                 CLASSPATH_SEPARATOR to a semicolon.
73606
73607         2006-03-12  Bruno Haible  <bruno@clisp.org>
73608
73609                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
73610                 available as variable CONF_JAVA, for subsequent autoconf
73611                 tests. Also log error output in config.log.
73612
73613         2006-07-19  Bruno Haible  <bruno@clisp.org>
73614
73615                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
73616                 that getline works on glibc2 systems. Needed to avoid trouble
73617                 in relocatable.c.
73618                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
73619
73620         2005-12-04  Bruno Haible  <bruno@clisp.org>
73621
73622                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
73623                 launcher (untested).
73624
73625         2005-12-04  Bruno Haible  <bruno@clisp.org>
73626
73627                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
73628
73629         2006-07-22  Bruno Haible  <bruno@clisp.org>
73630
73631                 * gettext.m4: Update from GNU gettext-0.15.
73632                 * nls.m4: Likewise.
73633                 * po.m4: Likewise.
73634                 * inttypes-pri.m4: Likewise.
73635                 * inttypes-h.m4: Renamed from inttypes.m4.
73636                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
73637
73638 2006-07-22  Bruno Haible  <bruno@clisp.org>
73639
73640         Merge from GNU gettext 0.15.
73641
73642         2005-07-05  Bruno Haible  <bruno@clisp.org>
73643
73644                 * printf-args.c (printf_fetchargs): Work around broken
73645                 definition of wint_t on mingw.
73646
73647         2005-02-12  Bruno Haible  <bruno@clisp.org>
73648
73649                 * xallocsa.h: Add extern "C" for C++.
73650
73651         2006-05-17  Bruno Haible  <bruno@clisp.org>
73652
73653                 Cygwin portability.
73654                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
73655
73656         2006-04-30  Bruno Haible  <bruno@clisp.org>
73657
73658                 * progreloc.c: Include <mach-o/dyld.h> if available.
73659                 (find_executable): Use _NSGetExecutablePath when possible.
73660
73661         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73662
73663                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
73664                 function.
73665
73666         2005-12-29  Bruno Haible  <bruno@clisp.org>
73667
73668                 * progreloc.c (set_program_name_and_installdir): Fix
73669                 compilation error.
73670
73671         2005-12-04  Bruno Haible  <bruno@clisp.org>
73672
73673                 Cygwin portability.
73674                 * progreloc.c: Include <windows.h> also on Cygwin.
73675                 (find_executable): Add support for Cygwin.
73676                 (set_program_name_and_installdir): Handle also platforms with
73677                 nonempty EXEEXT.
73678
73679         2006-07-11  Bruno Haible  <bruno@clisp.org>
73680
73681                 * javacomp.c: Fix a comment.
73682                 Reported by Jim Meyering.
73683
73684         2006-04-30  Bruno Haible  <bruno@clisp.org>
73685
73686                 * javacomp.h (compile_java_class): Add source_version,
73687                 target_version arguments.
73688                 * javacomp.c: Rewritten to choose only a compiler that
73689                 respects the specified source_version and target_version.
73690
73691         2006-06-27  Bruno Haible  <bruno@clisp.org>
73692
73693                 Assume correct S_ISDIR macro.
73694                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
73695
73696         2006-07-22  Bruno Haible  <bruno@clisp.org>
73697
73698                 * javaversion.h: New file, from GNU gettext.
73699                 * javaversion.c: New file, from GNU gettext.
73700                 * javaversion.java: New file, from GNU gettext.
73701                 * javaversion.class: New file, from GNU gettext.
73702
73703         2006-05-17  Bruno Haible  <bruno@clisp.org>
73704
73705                 Cygwin portability.
73706                 * javaexec.c (execute_java_class): Test for jview program
73707                 also on Cygwin.
73708
73709         2006-04-09  Bruno Haible  <bruno@clisp.org>
73710
73711                 * fatal-signal.c: Don't include string.h.
73712                 (at_fatal_signal): Use a copying loop instead of memcpy.
73713
73714         2005-12-04  Bruno Haible  <bruno@clisp.org>
73715
73716                 * csharpexec.c: Add support for 'clix' launcher (untested).
73717                 (execute_csharp_using_sscli): New function.
73718                 (execute_csharp_program): Call it.
73719
73720         2006-06-21  Bruno Haible  <bruno@clisp.org>
73721
73722                 Avoid warnings from recent versions of mcs.
73723                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
73724                 -o, -L, -r any more. Use options documented since mcs-1.0
73725                 instead. Similarly for -g.
73726
73727         2005-07-09  Bruno Haible  <bruno@clisp.org>
73728
73729                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
73730                 add a .dll suffix.
73731                 Reported by Mark Junker <mjscod@gmx.de>.
73732
73733         2006-06-17  Bruno Haible  <bruno@clisp.org>
73734
73735                 * config.charset: Update for NetBSD 3.0.
73736
73737         2006-05-17  Bruno Haible  <bruno@clisp.org>
73738
73739                 Cygwin portability.
73740                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
73741
73742         2006-05-16  Bruno Haible  <bruno@clisp.org>
73743
73744                 * localcharset.c [CYGWIN]: Include <windows.h>.
73745                 (get_charset_aliases): For Cygwin, return the same CPxxx
73746                 aliases list as under WIN32.
73747                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
73748                 the environment variables. Fall back to GetACP().
73749
73750         2006-04-05  Bruno Haible  <bruno@clisp.org>
73751
73752                 * config.charset: Update Juan Manuel Guerrero's address.
73753
73754         2005-02-12  Bruno Haible  <bruno@clisp.org>
73755
73756                 * allocsa.h: Add extern "C" for C++.
73757
73758         2005-02-10  Bruno Haible  <bruno@clisp.org>
73759
73760                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
73761                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
73762
73763         2006-07-22  Bruno Haible  <bruno@clisp.org>
73764
73765                 * gettext.h: Update to GNU gettext-0.15.
73766
73767 2006-07-22  Bruno Haible  <bruno@clisp.org>
73768
73769         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
73770         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
73771         lib-prefix.m4, longdouble.m4, ssize_t.m4.
73772
73773 2006-07-21  Eric Blake  <ebb9@byu.net>
73774
73775         * modules/stdlib-safer: New file.
73776         * MODULES.html.sh (File stream based Input/Output): Add
73777         stdlib-safer.
73778
73779 2006-07-21  Eric Blake  <ebb9@byu.net>
73780
73781         * lib/stdlib-safer.h: New file from coreutils, required by
73782         stdlib--.h.
73783
73784 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
73785
73786         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
73787
73788 2006-07-20  Bruno Haible  <bruno@clisp.org>
73789
73790         * gnulib-tool: Recognize new option --assume-autoconf.
73791         (autoconf_minversion): New variable.
73792         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
73793
73794 2006-07-20  Bruno Haible  <bruno@clisp.org>
73795
73796         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
73797
73798 2006-07-19  Derek R. Price  <derek@ximbiot.com>
73799
73800         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
73801         Reindent and repaginate.
73802
73803 2006-07-19  Derek Price  <derek@ximbiot.com>
73804
73805         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
73806         Correct grammar.
73807
73808 2006-07-17  Bruno Haible  <bruno@clisp.org>
73809
73810         * modules/list: New file.
73811         * modules/array-list: New file.
73812         * modules/carray-list, modules/carray-list-tests: New files.
73813         * modules/linked-list, modules/linked-list-tests: New files.
73814         * modules/avltree-list, modules/avltree-list-tests: New files.
73815         * modules/rbtree-list, modules/rbtree-list-tests: New files.
73816         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
73817         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
73818         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
73819         * modules/oset: New file.
73820         * modules/array-oset: New file.
73821         * modules/avltree-oset, modules/avltree-oset-tests: New files.
73822         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
73823         * tests/test-carray_list.c: New file.
73824         * tests/test-linked_list.c: New file.
73825         * tests/test-avltree_list.c: New file.
73826         * tests/test-rbtree_list.c: New file.
73827         * tests/test-linkedhash_list.c: New file.
73828         * tests/test-avltreehash_list.c: New file.
73829         * tests/test-rbtreehash_list.c: New file.
73830         * tests/test-avltree_oset.c: New file.
73831         * tests/test-rbtree_oset.c: New file.
73832         * MODULES.html.sh (Container data structures): New section.
73833
73834 2006-07-17  Bruno Haible  <bruno@clisp.org>
73835
73836         * m4/gl_list.m4: New file.
73837
73838 2006-07-17  Bruno Haible  <bruno@clisp.org>
73839
73840         * lib/gl_list.h: New file.
73841         * lib/gl_list.c: New file.
73842         * lib/gl_array_list.h: New file.
73843         * lib/gl_array_list.c: New file.
73844         * lib/gl_carray_list.h: New file.
73845         * lib/gl_carray_list.c: New file.
73846         * lib/gl_linked_list.h: New file.
73847         * lib/gl_linked_list.c: New file.
73848         * lib/gl_anylinked_list1.h: New file.
73849         * lib/gl_anylinked_list2.h: New file.
73850         * lib/gl_avltree_list.h: New file.
73851         * lib/gl_avltree_list.c: New file.
73852         * lib/gl_anyavltree_list1.h: New file.
73853         * lib/gl_anyavltree_list2.h: New file.
73854         * lib/gl_rbtree_list.h: New file.
73855         * lib/gl_rbtree_list.c: New file.
73856         * lib/gl_anyrbtree_list1.h: New file.
73857         * lib/gl_anyrbtree_list2.h: New file.
73858         * lib/gl_anytree_list1.h: New file.
73859         * lib/gl_anytree_list2.h: New file.
73860         * lib/gl_linkedhash_list.h: New file.
73861         * lib/gl_linkedhash_list.c: New file.
73862         * lib/gl_anyhash_list1.h: New file.
73863         * lib/gl_anyhash_list2.h: New file.
73864         * lib/gl_avltreehash_list.h: New file.
73865         * lib/gl_avltreehash_list.c: New file.
73866         * lib/gl_rbtreehash_list.h: New file.
73867         * lib/gl_rbtreehash_list.c: New file.
73868         * lib/gl_anytreehash_list1.h: New file.
73869         * lib/gl_anytreehash_list2.h: New file.
73870
73871         * lib/gl_oset.h: New file.
73872         * lib/gl_oset.c: New file.
73873         * lib/gl_array_oset.h: New file.
73874         * lib/gl_array_oset.c: New file.
73875         * lib/gl_avltree_oset.h: New file.
73876         * lib/gl_avltree_oset.c: New file.
73877         * lib/gl_rbtree_oset.h: New file.
73878         * lib/gl_rbtree_oset.c: New file.
73879         * lib/gl_anytree_oset.h: New file.
73880
73881 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73882
73883         * m4/mkancesdirs.m4: New file.
73884         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
73885         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
73886         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
73887         it.
73888
73889 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73890
73891         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
73892         * lib/mkancesdirs.h: New files.
73893         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
73894         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
73895         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
73896         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
73897         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
73898         callers changed.  Revamp internals significantly, by not
73899         attempting to create directories that are temporarily more
73900         permissive than the final results.  Do not attempt to use
73901         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
73902         This removes some race conditions, fixes some bugs, and simplifies
73903         things.  Use new dirchownmod function to do owner and mode changes.
73904         * lib/mkdir-p.h: Likewise.
73905         * lib/modechange.c (octal_to_mode): New function.
73906         (struct mode_change): New member mentioned.
73907         (make_node_op_equals): New arg mentioned.  All callers changed.
73908         (mode_compile): Keep track of which mode bits the user has explicitly
73909         mentioned.
73910         (mode_adjust): New arg DIR, so that we implement the X op correctly.
73911         New arg PMODE_BITS, to keep track of which mode bits the user
73912         mentioned; it treats S_ISUID and S_ISGID speciall.
73913         All callers changed.
73914         * lib/modechange.h: Likewise.
73915
73916 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
73917
73918         * MODULES.html.sh: Add mkancestors.
73919         * modules/mkancesdirs: New module.
73920         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
73921         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
73922         The chdir-safer and afs files are now orphans; I'll remove them
73923         unless someone speaks up.
73924         Add lib/dirchownmod.c, lib/dirchownmod.h.
73925         (Depends-on): Remove alloca, chown, save-cwd, dirname.
73926         Add lchown, mkancesdirs.
73927         (Maintainer): Add self.
73928
73929 2006-07-15  Karl Berry  <karl@gnu.org>
73930
73931         * gnulib-tool: help message wording/arrangement.
73932
73933 2006-07-14  Simon Josefsson  <jas@extundo.com>
73934
73935         * doc/gnulib.texi (Libtool and Windows): New section.
73936
73937 2006-07-12  Simon Josefsson  <jas@extundo.com>
73938
73939         * modules/gendocs (License): Fix license, approved by Karl.
73940
73941 2006-07-12  Eric Blake  <ebb9@byu.net>
73942
73943         * MODULES.html.sh: Add gendocs.
73944
73945 2006-07-11  Eric Blake  <ebb9@byu.net>
73946
73947         * modules/fdl: New module, to install doc/fdl.texi.
73948         * MODULES.html.sh: Add new section for documentation modules.
73949         * gnulib-tool: Avoid space-tab.
73950         (--doc-base): New option, to manage files from doc.
73951
73952 2006-07-11  Eric Blake  <ebb9@byu.net>
73953
73954         * m4/absolute-header.m4: Fix comments to match recent change.
73955
73956 2006-07-11  Eric Blake  <ebb9@byu.net>
73957
73958         * gnulib-tool: List --doc-base before --tests-base.
73959
73960 2006-07-11  Derek R. Price  <derek@ximbiot.com>
73961
73962         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
73963
73964 2006-07-11  Bruno Haible  <bruno@clisp.org>
73965
73966         * README: Mention where to put documentation.
73967
73968 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73969
73970         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73971
73972 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73973
73974         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73975         to stdint.m4.
73976
73977 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73978
73979         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73980         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73981         "no/such/file/stdint.h" when there is no such file, so that
73982         the resulting C code can be parsed by dodgy compilers.
73983         Problems reported by Bob Proulx.
73984
73985 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73986
73987         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73988         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73989         macros into the GNU _D_EXACT_NAMLEN.
73990         * lib/savedir.c:  Likewise.
73991         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73992
73993 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73994         and Paul Eggert  <eggert@cs.ucla.edu>
73995
73996         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73997         * m4/savedir.m4:
73998         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73999         macros into the GNU _D_EXACT_NAMLEN.
74000
74001 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74004         around the absolute name, to work around a problem with the HP-UX
74005         11.23 native C compiler, reported by Bob Proulx.
74006
74007 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74008
74009         * doc/maintain.texi, make-stds.texi: Sync from
74010         <http://savannah.gnu.org/projects/gnustandards>.
74011
74012 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74013
74014         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74015
74016 2006-07-09  Jim Meyering  <jim@meyering.net>
74017
74018         * m4/glob.m4: Remove a doubled word in a comment.
74019
74020 2006-07-09  Jim Meyering  <jim@meyering.net>
74021
74022         * lib/argp-pv.c: Remove a doubled word in a comment.
74023         * lib/check-version.c (check_version): Likewise.
74024         * lib/javacomp.c (compile_java_class): Likewise.
74025
74026 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74027
74028         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74029         for the benefit of people using Autoconf 2.60.  If you want to
74030         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74031         (or m4/onceonly.m4, if pre-2.57) manually.
74032
74033 2006-07-08  Jim Meyering  <jim@meyering.net>
74034
74035         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74036         comment.
74037         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74038         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74039         comment.
74040
74041 2006-07-08  Jim Meyering  <jim@meyering.net>
74042
74043         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74044
74045 2006-07-07  Simon Josefsson  <jas@extundo.com>
74046
74047         * tests/test-crc.c: Change expected crc value, the test vector
74048         were probably computed using the old broken crc.c?
74049
74050 2006-07-06  Simon Josefsson  <jas@extundo.com>
74051
74052         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74053         now the canonical place for the M4 file).
74054
74055         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74056         from the sys_socket dependency now.
74057
74058         * modules/inet_pton (Files): Ditto.
74059
74060         * modules/inet_ntop (Files): Ditto.
74061
74062 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74063
74064         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74065         not gl_PREREQ_GETUSERSHELL.
74066
74067 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74068
74069         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74070         with only one argument, for Autoconf 2.60.
74071         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74072         expand to nothing, so add a shell command to avoid syntax error.
74073         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74074
74075 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74076
74077         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74078
74079 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74080
74081         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74082         no longer needed.  Check for isblank decl.
74083         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74084         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74085         of existence.
74086
74087 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74088
74089         * lib/getloadavg.c: Use __VMS, not VMS.
74090         * lib/getopt.c: Likewise.
74091         * lib/getpagesize.h: Likewise.
74092         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74093         and probably does not work.
74094
74095 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74096
74097         * lib/.cppi-disable: Add wcwidth.
74098         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74099         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74100         (ISGRAPH): Remove.  All uses changed to isgraph.
74101         (FOLD) [!defined _LIBC]: Remove special case.
74102         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74103         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74104         HAVE_ISBLANK.
74105         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74106         case.
74107
74108 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74109
74110         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74111         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74112         brackets.  Other minor changes to suppress some compiler
74113         warnings.
74114
74115 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74116         and Paul Eggert  <eggert@cs.ucla.edu>
74117
74118         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74119         of invoking obsolescent AC_HEADER_DIRENT macro.
74120         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74121         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74122         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74123         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74124         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74125         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74126         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74127         * m4/readdir.m4: Remove; no longer needed.
74128
74129 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74130         and Paul Eggert  <eggert@cs.ucla.edu>
74131
74132         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74133         Don't worry about this obsolete case any more.
74134         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74135         directories.
74136         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74137         worry about this obsolete case any more.
74138         * lib/fts.c: Likewise.
74139         * lib/getcwd.c: Likewise.
74140         * lib/glob.h: Likewise.
74141         * lib/savedir.c: Likewise.
74142
74143 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74144
74145         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74146         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74147         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74148         needed.
74149         All uses removed.
74150         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74151         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74152         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74153         needed.
74154         * m4/getdate.m4 (gl_GETDATE): Likewise.
74155         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74156         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74157         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74158         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74159         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74160         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74161         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74162         needed.
74163
74164 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * lib/memcasecmp.c: Include <limits.h>.
74167         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74168         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74169         Don't assume isdigit succeeds only on '0' through '9'.
74170
74171 2006-07-05  Eric Blake  <ebb9@byu.net>
74172
74173         * modules/getaddrinfo (Depends-on): Add snprintf.
74174
74175 2006-07-05  Eric Blake  <ebb9@byu.net>
74176
74177         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74178         to avoid 'header present but could not be compiled' on cygwin.
74179
74180 2006-07-05  Eric Blake  <ebb9@byu.net>
74181
74182         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74183         missing from netdb.h.
74184         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74185
74186 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74187
74188         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74189         no longer needed.
74190         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74191         * m4/getdate.m4 (gl_GETDATE): Likewise.
74192         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74193         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74194         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74195         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74196         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74197
74198 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74199
74200         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74201         All uses of is_space replaced by isspace.
74202         * lib/exit.h: Don't talk about STDC_HEADERS.
74203         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74204         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74205         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74206         replaced by isprint etc.
74207         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74208         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74209         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74210         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74211         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74212         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74213
74214 2006-07-05  Bruno Haible  <bruno@clisp.org>
74215
74216         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74217         the function exists, before testing against AIX.
74218         Reported by Martin Lambers <marlam@marlam.de>.
74219
74220 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74221
74222         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74223         From Mark D. Baushke.
74224
74225 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74226
74227         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74228         to the absolute name, not just one, to bypass Sun C 5.8's
74229         "warning: #include of /usr/include/... may be non-portable".
74230
74231 2006-07-04  Eric Blake  <ebb9@byu.net>
74232
74233         * modules/dirname-tests: New test module.
74234         * tests/test-dirname.c: New file, replacing dirname.c
74235         TEST_DIRNAME section that was recently deleted.
74236
74237 2006-07-04  Bruno Haible  <bruno@clisp.org>
74238
74239         Assume ANSI C header files and <ctype.h> functions.
74240         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74241         (mbsnwidth): Use isprint, iscntrl instead.
74242
74243 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74244
74245         Merge from coreutils.
74246         * MODULES.html.sh: Add xstrtold.
74247         * modules/xstrtold: New file.
74248         * modules/cycle-check (Files): Add lib/same-inode.h.
74249         * modules/dirname (Files): Add m4/double-slash-root.m4.
74250         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74251         * modules/mkdir-p (Files): Add lib/same-inode.h.
74252         * modules/same (Files): Add lib/same-inode.h.
74253
74254 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74255
74256         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74257         This is to keep the terminology clean; POSIX talks about
74258         "absolute pathnames", not "full pathnames", but the GNU
74259         Coding Standards say to use "path" for something else;
74260         so use "absolute" to keep both sides happy.
74261         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74262         Set gl_absolute_header, not gl_full_header_path.
74263         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74264         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74265         All uses changed.
74266
74267         Merge from coreutils.
74268
74269         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74270
74271         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74272         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74273         want to require the building of c-strtod.o.
74274         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74275         needs -lm directly.
74276         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74277
74278         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74279
74280         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74281         --as-needed option if available.  Problem reported by Albert Chin in
74282         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74283         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74284         cc merely issues a bunch of annoying warnings for --as-needed
74285         (this problem was reported by Bob Proulx).  Also, try linking with
74286         -lm to detect a bug in binutils 2.16 (this problem was reported
74287         by Ralf Wildenhues).
74288
74289         2006-06-18  Jim Meyering  <jim@meyering.net>
74290
74291         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74292         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74293         macro.
74294         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74295         also check for glibc-2.4's abort-inducing bug.
74296
74297         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74298         Low-probability clean-up should be to use rmdir to get rid of
74299         the just-created directory, not unlink.
74300
74301         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74302         configure fail, and request a bug report to inform us about it.
74303         Add a comment that, barring reports to the contrary, in 2007 we'll
74304         assume ftruncate is universally available.
74305
74306         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74307
74308         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74309
74310         2006-03-12  Jim Meyering  <jim@meyering.net>
74311
74312         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74313         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74314         * m4/same.m4 (gl_SAME): Likewise.
74315         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74316
74317         2006-03-11  Eric Blake  <ebb9@byu.net>
74318
74319         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74320         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74321         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74322         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74323
74324 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74325
74326         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74327         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74328         reported by Mark D. Baushke, one in
74329         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74330
74331         Merge from coreutils.
74332
74333         * lib/.cppi-disable: Add stdint_.h.
74334         * lib/.cvsignore: Add stdint.h.
74335
74336         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74337
74338         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
74339         both double and long double versions.
74340         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
74341         * lib/xstrtold.c: New file.
74342         * lib/xstrtod.h (xstrtold): New decl.
74343
74344         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74345
74346         * lib/filemode.c (setst): Remove.
74347         (strmode): Rewrite to avoid setst.  This makes the code shorter,
74348         (arguably) clearer, and the generated code is a bit smaller on my
74349         Debian GNU/Linux stable x86 host.
74350
74351         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * lib/filemode.c: Include "filemode.h" first, to test the interface.
74354         Assume that filemode.h includes sys/types.h and sys/stat.h.
74355         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
74356         (ftypelet): Reorder to put common cases first, for efficiency.
74357         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
74358         to do 'M'.
74359         (strmode): Renamed from mode_string, and now stores 12 bytes instead
74360         of 10, for compatibility with FreeBSD.  All callers changed.
74361         (filemodestring): Now stores 12 bytes instead of 10, and sets file
74362         types that can't be deduced solely from st_mode.  First arg is now a
74363         const pointer.
74364         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
74365         (strmode): Renamed from mode_string.
74366         (filemodestring): New decl.
74367         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
74368         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
74369         needed.
74370         (S_ISPORT, S_ISWHT): New macros, if not already defined.
74371
74372         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
74373
74374         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
74375         fsusage.h now does that.  Include fsusage.h first, to test interface.
74376         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
74377         at most one method (the old code could have generated decls that
74378         didn't conform to C89, not that this was ever exercised).
74379         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
74380
74381         2006-03-19  Jim Meyering  <jim@meyering.net>
74382
74383         Work even in a chroot where d_ino values for entries in "/"
74384         don't match the stat.st_ino values for the same names.
74385         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
74386         number, iterate through all entries again, using lstat instead.
74387         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
74388         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
74389
74390         * lib/getcwd.c (__getcwd): Clarify a comment.
74391         Use memcpy in place of a call to strcpy.
74392
74393         2006-03-12  Jim Meyering  <jim@meyering.net>
74394
74395         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
74396         matches that of the current directory (which we're about to chdir ".."
74397         out of), then save the dev-ino of the parent, instead.
74398
74399         * lib/same-inode.h (SAME_INODE): New file/macro.
74400         * lib/chdir-safer.c (SAME_INODE): Remove definition.
74401         Include "same-inode.h", instead.
74402         * lib/same.c: Likewise.
74403         * lib/cycle-check.h: Include "same-inode.h".
74404         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
74405         * lib/cycle-check.c (SAME_INODE): Remove definition.
74406         * lib/root-dev-ino.h: Include "same-inode.h".
74407
74408         2006-03-11  Eric Blake  <ebb9@byu.net>
74409
74410         * lib/same.c (same_name): s/base_name/last_component/
74411         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
74412         * lib/filenamecat.c (file_name_concat): Likewise.
74413
74414         2006-03-11  Eric Blake  <ebb9@byu.net>,
74415                     Paul Eggert  <eggert@cs.ucla.edu>
74416
74417         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
74418         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
74419         drive prefix.
74420         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
74421         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
74422         (last_component): New method.
74423         * lib/dirname.c (dir_len): Determine when drive letters need a
74424         subsequent slash.  Preserve // when it is special.
74425         (dir_name): Don't append dot when drive letter is absolute.
74426         [TEST_DIRNAME]: Move into a full-blown gnulib test.
74427         * lib/basename.c (base_name): New semantics - malloc the result.
74428         Preserve // when it is special.  Preserve relative files that look
74429         like drive letters.
74430         (base_len): Preserve // when it is special.
74431         (last_component): New method, similar to old base_name semantics.
74432         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
74433         base_name.  Strip redundant slashes from ///.
74434
74435 2006-07-03  Jim Meyering  <jim@meyering.net>
74436
74437         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
74438         macro is used before the first cycle_check call.
74439
74440 2006-07-03  Eric Blake  <ebb9@byu.net>
74441
74442         * modules/dirname (Depends-on): Add xstrndup.
74443
74444 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74445
74446         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
74447         test cases, so that config.log is a bit easier to follow.
74448
74449 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
74450
74451         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
74452         both are 64 bits, since this seems to be the tradition, and this
74453         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
74454         we ever run into a host that prefers long long to long in this
74455         case, we'll need another configure-time test.  Problem reported by
74456         Jim Meyering.
74457
74458 2006-07-02  Eric Blake  <ebb9@byu.net>
74459
74460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
74461
74462 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74463
74464         * modules/inttypes (Depends-on): No longer depends on stdint.
74465         * modules/stdint (Description): Say more about assumptions.
74466         Say that the fast types might differ.  Say macros are used.
74467         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
74468         (Makefile.am): Revise list of substituted symbols to match
74469         new stdint.m4.
74470         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
74471         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
74472         * tests/test-stdint.c (verify_same_types)
74473         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
74474         the code conforms to C99/C89.
74475         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
74476         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
74477
74478 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74479
74480         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
74481         but fix a bug, by requiring at least 64 bits.
74482         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
74483         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
74484         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
74485         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74486
74487         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
74488         changes.  Make 2.59 a prerequisite.  Check and substitute for
74489         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
74490         inttypes.h.  Do not use special include files; just use the
74491         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
74492         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
74493         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
74494         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
74495         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
74496         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
74497         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
74498         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
74499         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
74500         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
74501         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
74502         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
74503         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
74504         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
74505         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
74506         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
74507         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
74508         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
74509         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
74510         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
74511         WINT_MAX.  Check for C99 conformance more strictly, by detecting
74512         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
74513         not check for things that C99 does not require, e.g., int8_t.  If
74514         a test isn't needed unless <stdint.h> isn't working, and is
74515         unlikely to be needed for any other reason, then don't do it
74516         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
74517         size_t, since we assume C89 freestanding at least.  Do not check
74518         for sig_atomic_t, wchar_t, or wint_t, since the code now does
74519         the right thing even if the types are not defined.  Instead use:
74520         (gl_STDINT_TYPE_PROPERTIES): New macro.
74521         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
74522         testing whether <sys/types.h> clashes, as Autoconf does this for
74523         us now.  All uses removed.
74524         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
74525         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
74526         (gl_CHECK_TYPE_SAME):
74527         Remove; no longer needed.
74528         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
74529         exists, since we'll return 0 anyway in that case.
74530         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
74531
74532 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74533
74534         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
74535         possible collision with system files.
74536         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
74537         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
74538         WCHAR_MIN and WCHAR_MAX in this case.
74539         (<stddef.h>): Do not include; no longer needed.
74540         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
74541         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
74542         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
74543         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
74544         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
74545         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
74546         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
74547         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
74548         !defined(__c99))]: Include in this case too, since it's harmless
74549         now.
74550         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
74551         dangerous to do so.
74552         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
74553         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
74554         (_STDINT_MIN, _STDINT_MAX): New macros.
74555         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
74556         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
74557         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
74558         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
74559         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
74560         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
74561         macros, not typedefs; this simplifies things quite a bit.
74562         Use long int for all types narrower than int64_t.
74563         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
74564         Define in terms of long long int or int64_t or long int,
74565         not int64_t or int32_t.  This saves some compile-time testing.
74566         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
74567         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
74568         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
74569         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
74570         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
74571         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
74572         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
74573         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
74574         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
74575         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
74576         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74577         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74578         undef any previous version and define our own version, for
74579         simplicity and consistency with the new macros for types.
74580         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
74581         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
74582         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
74583         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
74584         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
74585         @WINT_T_SUFFIX@ to keep things simple here.
74586         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
74587         Simplify by assuming typical 8/16/32/64 host, since we're
74588         already doing that elsewhere anyway.
74589         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
74590         and assume long long int is 64 bits if available.  This
74591         speeds up 'configure'.
74592
74593 2006-07-01  Eric Blake  <ebb9@byu.net>
74594
74595         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
74596         Reported by Andreas Buening.
74597
74598 2006-07-01  Eric Blake  <ebb9@byu.net>
74599
74600         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
74601
74602 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74603
74604         * lib/getaddrinfo.c: fixed typo
74605
74606 2006-06-29  Jim Meyering  <jim@meyering.net>
74607
74608         * modules/strftime (Maintainer): Add my name, since with the
74609         FPRINTFTIME changes strftime.c has forked from glibc.
74610
74611 2006-06-29  Eric Blake  <ebb9@byu.net>
74612
74613         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
74614
74615 2006-06-29  Eric Blake  <ebb9@byu.net>
74616
74617         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
74618
74619 2006-06-29  Eric Blake  <ebb9@byu.net>
74620
74621         * lib/stat_.h: New file.
74622
74623 2006-06-29  Eric Blake  <ebb9@byu.net>
74624
74625         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
74626         unused static function.
74627
74628 2006-06-29  Eric Blake  <ebb9@byu.net>
74629
74630         * doc/functions.texi (Function Portability): Document missing lstat
74631         on mingw.
74632
74633 2006-06-29  Eric Blake  <ebb9@byu.net>
74634
74635         * MODULES.html.sh: Add sys_stat.
74636         * modules/sys_stat: New module.
74637         * modules/mkstemp (Depends-on): Add sys_stat.
74638
74639 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74640
74641         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
74642
74643 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74644
74645         * m4/c-bs-a.m4: Removed.
74646
74647 2006-06-29  Derek R. Price  <derek@ximbiot.com>
74648
74649         * lib/strftime.c: Assume strftime() exists.
74650
74651 2006-06-29  Derek Price  <derek@ximbiot.com>
74652
74653         * modules/c-bs-a: Removed - \a is C89.
74654         * MODULES.html.sh: Remove c-bs-a.
74655
74656 2006-06-29  Bruno Haible  <bruno@clisp.org>
74657
74658         * modules/wcwidth (License): Change to LGPL.
74659
74660 2006-06-28  Simon Josefsson  <jas@extundo.com>
74661
74662         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
74663         on _WIN32.
74664
74665         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
74666         getnameinfo.
74667
74668 2006-06-28  Simon Josefsson  <jas@extundo.com>
74669
74670         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
74671
74672 2006-06-28  Simon Josefsson  <jas@extundo.com>
74673
74674         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
74675         functions there.  It will succeed on Windows XP, but on Windows
74676         2000 and (presumably) earlier, it will fail, and use the internal
74677         re-implementation.
74678         (use_win32_p): New function.
74679         (getaddrinfo): Use strtoul on servname, to support numeric ports.
74680         Support AI_NUMERICSERV to disable getservbyname.
74681         (getnameinfo): New function, only supports
74682         NI_NUMERICHOST|NI_NUMERICSERV for now.
74683
74684         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
74685         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
74686         getnameinfo.
74687
74688 2006-06-28  Eric Blake  <ebb9@byu.net>
74689
74690         * modules/wcwidth: New file.
74691         * modules/mbchar (Depends-on): Add wcwidth.
74692         * modules/mbswidth (Depends-on): Add wcwidth.
74693         * MODULES.html.sh: Add wcwidth.
74694
74695 2006-06-28  Eric Blake  <ebb9@byu.net>
74696
74697         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
74698         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
74699
74700 2006-06-28  Eric Blake  <ebb9@byu.net>
74701
74702         * lib/xvasprintf.h: Fix comments.
74703
74704 2006-06-28  Eric Blake  <ebb9@byu.net>
74705
74706         * lib/mbchar.h (wcwidth): Include wcwidth.h.
74707         * lib/mbswidth.c (wcwidth): Move from here...
74708         * lib/wcwidth.h: ...to this new file.
74709
74710 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74711
74712         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
74713
74714         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
74715         it's obsolete.
74716         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
74717
74718 2006-06-28  Derek R. Price  <derek@ximbiot.com>
74719
74720         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
74721         Autoconf 2.60 says this stuff was obsolete.
74722
74723 2006-06-28  Bruno Haible  <bruno@clisp.org>
74724
74725         * modules/wcwidth (Files): Add m4/wchar_t.m4.
74726
74727 2006-06-28  Bruno Haible  <bruno@clisp.org>
74728
74729         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
74730         gt_TYPE_WCHAR_T.
74731
74732 2006-06-28  Bruno Haible  <bruno@clisp.org>
74733
74734         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
74735         declaration for wcwidth.
74736         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
74737
74738 2006-06-28  Bruno Haible  <bruno@clisp.org>
74739
74740         * lib/mkdtemp.c [MINGW]: Include <io.h>.
74741         (mkdir): Define using _mkdir.
74742
74743 2006-06-28  Bruno Haible  <bruno@clisp.org>
74744
74745         * lib/getaddrinfo.h: Fix POSIX URL.
74746         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
74747         _WIN32.
74748         (use_win32_p): Make static.
74749         (getaddrinfo): Reject service name if it is empty or does not consist
74750         solely of decimal digits, or if its value is > 65535.
74751         (getnameinfo): Remove useless casts.
74752
74753 2006-06-27  Simon Josefsson  <jas@extundo.com>
74754
74755         * modules/sys_select: New file, suggested by Bruno Haible, Paul
74756         Eggert and Martin Lambers.
74757
74758 2006-06-27  Simon Josefsson  <jas@extundo.com>
74759
74760         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
74761         Eggert and Martin Lambers.
74762
74763 2006-06-27  Bruno Haible  <bruno@clisp.org>
74764
74765         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
74766         result to 0, not to empty.
74767         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
74768
74769 2006-06-27  Bruno Haible  <bruno@clisp.org>
74770
74771         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
74772
74773 2006-06-26  Simon Josefsson  <jas@extundo.com>
74774
74775         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
74776         present.
74777
74778 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
74779
74780         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
74781         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
74782         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
74783
74784 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
74785
74786         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
74787
74788 2006-06-26  Bruno Haible  <bruno@clisp.org>
74789
74790         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
74791
74792 2006-06-26  Bruno Haible  <bruno@clisp.org>
74793
74794         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
74795
74796 2006-06-26  Bruno Haible  <bruno@clisp.org>
74797
74798         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
74799         SGI C compiler in pre-C99 mode.
74800         Suggested by Mark D. Baushke and Larry Jones.
74801
74802 2006-06-26  Bruno Haible  <bruno@clisp.org>
74803
74804         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
74805         WCHAR_MAX.
74806         Reported by Mark D. Baushke and Larry Jones.
74807
74808 2006-06-26  Bruno Haible  <bruno@clisp.org>
74809
74810         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
74811         in pre-C99 mode.
74812         Suggested by Mark D. Baushke and Larry Jones.
74813
74814 2006-06-23  Simon Josefsson  <jas@extundo.com>
74815             Bruno Haible  <bruno@clisp.org>
74816
74817         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
74818         Emit mostlyclean-local rule.
74819         (func_emit_tests_Makefile_am): Likewise.
74820         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
74821
74822 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
74823
74824         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
74825
74826 2006-06-23  Bruno Haible  <bruno@clisp.org>
74827
74828         * tests/test-stdint.c: Update to match ISO C 99 Technical
74829         Corrigendum 1.
74830
74831 2006-06-23  Bruno Haible  <bruno@clisp.org>
74832
74833         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
74834
74835 2006-06-23  Bruno Haible  <bruno@clisp.org>
74836
74837         * lib/stdint_.h: Treat IRIX like OpenBSD.
74838
74839 2006-06-23  Bruno Haible  <bruno@clisp.org>
74840
74841         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
74842         ISO C 99 Technical Corrigendum 1.
74843
74844 2006-06-22  Simon Josefsson  <jas@extundo.com>
74845
74846         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
74847         MinGW.
74848
74849 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74850
74851         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
74852         needed.  Some compiler complained about some of them.  Problem reported
74853         by Larry Jones in
74854         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
74855
74856 2006-06-21  Simon Josefsson  <jas@extundo.com>
74857
74858         * tests/test-getaddrinfo.c: New file.
74859
74860         * modules/getaddrinfo-tests: New file.
74861
74862         * MODULES.html.sh: Add inet_pton.
74863
74864         * modules/inet_pton: New file.
74865
74866 2006-06-21  Simon Josefsson  <jas@extundo.com>
74867
74868         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
74869         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
74870         of using the (limited) gnulib implementation on Windows XP.
74871
74872         * m4/inet_pton.m4: New file.
74873
74874 2006-06-21  Simon Josefsson  <jas@extundo.com>
74875
74876         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
74877         variable.
74878
74879         * lib/socket_.h: Don't define WINVER.
74880
74881         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
74882         slightly modified to work in gnulib.
74883
74884 2006-06-21  Simon Josefsson  <jas@extundo.com>
74885
74886         * doc/gnulib.texi (Windows sockets): Add.
74887
74888 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
74889
74890         * lib/read-file.c (fread_file): Start with buffer allocation of
74891         0 bytes rather than 1 byte; this simplifies the code.
74892         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
74893         code to free buffer and save/restore errno.
74894         (internal_read_file): Remove unused local.
74895
74896 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
74897
74898         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
74899         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
74900         Problem reported by Denis Excoffier in
74901         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
74902
74903 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74904
74905         * modules/sys_socket, modules/socklen: Include sys/types since
74906         FreeBSD 4.x's sys/socket.h needs it.
74907
74908 2006-06-19  Simon Josefsson  <jas@extundo.com>
74909
74910         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
74911
74912 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
74915
74916 2006-06-19  Bruno Haible  <bruno@clisp.org>
74917
74918         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
74919         and FULL_PATH_INTTYPES_H in angle brackets.
74920         Reported by Mark D. Baushke <mdb@gnu.org>.
74921
74922 2006-06-17  Eric Blake  <ebb9@byu.net>
74923
74924         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
74925         errno.
74926
74927 2006-06-17  Bruno Haible  <bruno@clisp.org>
74928
74929         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
74930         <sys/inttypes.h>.
74931
74932 2006-06-17  Bruno Haible  <bruno@clisp.org>
74933
74934         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
74935         whether errno is declared. Assume <errno.h> declares errno.
74936
74937 2006-06-17  Bruno Haible  <bruno@clisp.org>
74938
74939         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
74940
74941 2006-06-17  Bruno Haible  <bruno@clisp.org>
74942
74943         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
74944         problem on Solaris 2.5.1.
74945
74946 2006-06-16  Eric Blake  <ebb9@byu.net>
74947
74948         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
74949         * lib/unicodeio.c [!defined errno]: Likewise.
74950         * lib/strtol.c [!defined errno]: Likewise.
74951         * lib/strtod.c [!defined errno]: Likewise.
74952
74953 2006-06-15  Eric Blake  <ebb9@byu.net>
74954
74955         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
74956
74957 2006-06-15  Eric Blake  <ebb9@byu.net>
74958
74959         * config/srclist.txt (ssize_t.m4): Lose sync.
74960
74961 2006-06-15  Bruno Haible  <bruno@clisp.org>
74962
74963         * modules/stdint (Files): Include m4/full-header-path.m4,
74964         m4/size_max.m4, m4/wchar_t.m4.
74965         (Makefile.am): Many more substitutions.
74966         * modules/stdint-tests: New file.
74967         * tests/test-stdint.c: New file.
74968
74969 2006-06-15  Bruno Haible  <bruno@clisp.org>
74970
74971         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74972         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74973         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74974         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74975         gl_CHECK_TYPE_SAME): New macros.
74976
74977 2006-06-15  Bruno Haible  <bruno@clisp.org>
74978
74979         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74980
74981 2006-06-15  Bruno Haible  <bruno@clisp.org>
74982
74983         * lib/stdint_.h: Rewritten to be fully auto-configured.
74984         Fixes bug on HP-UX/IA64.
74985
74986 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74987
74988         * lib/getdate.y (__attribute__): Don't define if already defined.
74989         Problem reported by Larry Jones.
74990         * lib/utimens.c (__attribute__): Likewise.
74991
74992 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74993
74994         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74995         reported by Andreas Schwab.
74996
74997 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74998             Bruno Haible  <bruno@clisp.org>
74999
75000         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75001         check for the declaration of strnlen and a run test that exposes the
75002         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75003         rpl_strndup.
75004
75005 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75006             Bruno Haible  <bruno@clisp.org>
75007
75008         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75009
75010 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75011
75012         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75013         compile test, for Tru64 4.0D.
75014
75015 2006-05-28  Karl Berry  <karl@gnu.org>
75016
75017         * config/srclist.txt (printf-args.c): lose sync.
75018
75019 2006-05-26  Martin Lambers  <marlam@marlam.de>
75020
75021         * lib/getpass.c: Updates the test for the native W32 API, and adds
75022         missing includes, thus fixing compilation warnings.
75023
75024 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75025
75026         * lib/exclude.c (exclude_fnmatch): New function.
75027         (excluded_file_name): Call exclude_fnmatch.
75028         * lib/exclude.h (excluded_file_name): New prototype
75029
75030 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75031
75032         * lib/tempname.c (small_open, large_open): New macros.
75033         (__open, __open64) [!_LIBC]: Remove.
75034         (__gen_tempname): Use small_open and large_open instead of __open
75035         and __open64.  This fixes a portability bug on HP-UX 11.11i
75036         reported by Simon Wing-Tang in
75037         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75038
75039 2006-05-24  Bruno Haible  <bruno@clisp.org>
75040
75041         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75042         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75043         Reported by Thorsten Maerz <torte@netztorte.de> via
75044         Aaron Stone <aaron@serendipity.cx>.
75045
75046 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75047
75048         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75049         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75050         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75051         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75052         not really conditional on the cache.
75053         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75054
75055 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75056
75057         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75058         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75059         (my_usleep): Don't mishandle maximum value.
75060
75061 2006-05-19  Jim Meyering  <jim@meyering.net>
75062
75063         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75064
75065 2006-05-17  Bruno Haible  <bruno@clisp.org>
75066
75067         Cygwin portability.
75068         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75069
75070 2006-05-17  Bruno Haible  <bruno@clisp.org>
75071
75072         * lib/stdint_.h: Fix recognition of Cygwin.
75073
75074 2006-05-15  Bruno Haible  <bruno@clisp.org>
75075
75076         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75077         on libtool patch by Ralf Wildenhues.
75078
75079 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75080
75081         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75082         test for C99 conformance; (bool) 0.5 is an integer constant
75083         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75084         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75085
75086 2006-05-11  Simon Josefsson  <jas@extundo.com>
75087
75088         * m4/xvasprintf.m4: Fix obvious typo.
75089
75090 2006-05-11  Jim Meyering  <jim@meyering.net>
75091
75092         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75093         James Lemley.
75094
75095 2006-05-10  Simon Josefsson  <jas@extundo.com>
75096
75097         * lib/md4.c: Typo fix, update copyright years.
75098         (K1, K2): Don't use L because it turn computations into 64-bit on
75099         64-bit platforms.
75100
75101 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75102
75103         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75104         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75105         unwanted sign propagation, e.g., on hosts with 64-bit int.
75106         There still are some problems with reeelly weird theoretical hosts
75107         (e.g., 33-bit int) but it's not worth worrying about now.
75108         * lib/sha1.c (rol): Likewise.
75109         (K1, K2, K3, K4): Remove unnecessary L suffix.
75110
75111 2006-05-10  Bruno Haible  <bruno@clisp.org>
75112
75113         * lib/des.c: Cast to avoid warnings.
75114
75115 2006-05-09  Bruno Haible  <bruno@clisp.org>
75116
75117         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75118         (Depends-on): Depend also on xsize, stdarg.
75119         (configure.ac): Add gl_XVASPRINTF.
75120
75121 2006-05-09  Bruno Haible  <bruno@clisp.org>
75122
75123         * m4/xvasprintf.m4: New file.
75124
75125 2006-05-09  Bruno Haible  <bruno@clisp.org>
75126
75127         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75128         (EOVERFLOW): Define fallback value.
75129         (xstrcat): New function.
75130         (xvasprintf): Recognize the special case of a string concatenation.
75131
75132 2006-05-08  Eric Blake  <ebb9@byu.net>
75133
75134         * gnulib-tool (func_version): Base copyright year on CVS date.
75135         (func_emit_copyright_notice): New function.
75136         (func_emit_lib_Makefile_am): Use it.
75137         (func_emit_tests_Makefile_am): Likewise.
75138         (func_import): Likewise.
75139
75140 2006-05-08  Bruno Haible  <bruno@clisp.org>
75141
75142         * modules/stdarg: New file.
75143         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75144
75145 2006-05-08  Bruno Haible  <bruno@clisp.org>
75146
75147         * m4/stdarg.m4: New file, from GNU gettext.
75148
75149 2006-05-08  Bruno Haible  <bruno@clisp.org>
75150
75151         * config/srclist.txt (build-aux/config.rpath): different from latest
75152         release.
75153
75154 2006-05-08  Bruno Haible  <bruno@clisp.org>
75155
75156         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75157
75158 2006-05-05  Jim Meyering  <jim@meyering.net>
75159
75160         * m4/warning.m4: New file, derived from bison's file by the same name.
75161
75162 2006-05-03  Bruno Haible  <bruno@clisp.org>
75163
75164         * lib/stdint_.h: Shorter URL.
75165         * lib/inttypes.h: Likewise.
75166
75167 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75168
75169         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75170
75171 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75172
75173         * lib/verify.h: Document the internals better.  Most of this change
75174         was written by Bruno Haible.
75175
75176 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75177
75178         * doc/verify.texi: New file, partly based on a proposal by
75179         Bruno Haible.
75180
75181 2006-05-02  Bruno Haible  <bruno@clisp.org>
75182
75183         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75184         test from here...
75185         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75186
75187 2006-04-29  Bruno Haible  <bruno@clisp.org>
75188
75189         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75190         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75191
75192 2006-04-29  Bruno Haible  <bruno@clisp.org>
75193
75194         * gnulib-tool: Make --update option actually work.
75195
75196 2006-04-29  Bruno Haible  <bruno@clisp.org>
75197
75198         * doc/gcd.texi: New file.
75199         * doc/gnulib.texi: Include it.
75200
75201 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75202
75203         * lib/getdate.y (get_date): When adding relative date, start with the
75204         initial time, not with the result of the first mktime call.
75205
75206 2006-04-25  Bruno Haible  <bruno@clisp.org>
75207
75208         * gnulib-tool (func_import): Output the include directives in three
75209         blocks, sorted separately.
75210         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75211
75212 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75215         to define main with arguments, for C++.  Reported by Eric Blake.
75216         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75217         Prefer 'int main ()' to 'int main (void)', for C++.
75218         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75219         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75220         for 'main', for C99 and C++.
75221
75222 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75223
75224         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75225         Don't assume that exit status -1 is valid.
75226         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75227         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75228         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75229         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75230         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75231         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75232         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75233         functions can be used without declaring them, or that you can
75234         exit with status -1.
75235         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75236
75237 2006-04-24  Karl Berry  <karl@gnu.org>
75238
75239         * config/srclist.txt (longdouble.m4): sync lost.
75240
75241 2006-04-24  Eric Blake  <ebb9@byu.net>
75242
75243         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75244
75245 2006-04-24  Bruno Haible  <bruno@clisp.org>
75246
75247         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75248         poll() implementation in AIX.
75249         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75250
75251 2006-04-24  Bruno Haible  <bruno@clisp.org>
75252
75253         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75254         assigned exactly once.
75255
75256 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75257             Bruno Haible  <bruno@clisp.org>
75258
75259         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75260         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75261         for AM_CPPFLAGS.
75262
75263 2006-04-23  Bruno Haible  <bruno@clisp.org>
75264
75265         * modules/copy-file: Depend on unistd.
75266         * modules/execute: Likewise.
75267         * modules/fatal-signal: Likewise.
75268         * modules/findprog: Likewise.
75269         * modules/mkdtemp : Likewise.
75270         * modules/pipe: Likewise.
75271         * modules/wait-process: Likewise.
75272
75273 2006-04-23  Bruno Haible  <bruno@clisp.org>
75274
75275         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75276         condition was already detected.
75277         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75278
75279 2006-04-23  Bruno Haible  <bruno@clisp.org>
75280
75281         * lib/copy-file.c: Include <unistd.h> unconditionally.
75282         * lib/execute.c: Likewise.
75283         * lib/fatal-signal.c: Likewise.
75284         * lib/findprog.c: Likewise.
75285         * lib/mkdtemp.c: Likewise.
75286         * lib/pipe.h: Likewise.
75287         * lib/pipe.c: Likewise.
75288         * lib/wait-process.h: Likewise.
75289
75290 2006-04-23  Bruno Haible  <bruno@clisp.org>
75291
75292         * gnulib-tool (func_usage): Fix --import description. Document
75293         --update.
75294         (func_import): Create temporary file in a temporary directory, if
75295         --dry-run is specified. Silence errors from 'grep' when there are no
75296         m4 files in $m4dir.
75297         (func_create_testdir): Silence errors from 'grep' when there are no
75298         m4 files in $m4dir.
75299         Reported by Karl Berry <karl@freefriends.org>.
75300
75301 2006-04-20  Bruno Haible  <bruno@clisp.org>
75302
75303         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75304         one argument, so that the code will be portable to Autoconf 2.60.
75305         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75306         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75307         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75308
75309 2006-04-19  Derek Price  <derek@ximbiot.com>
75310             Eric Blake  <ebb9@byu.net>
75311
75312         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75313         rather than "/full/path.h".  Update comment to match.  Shorten &
75314         generalize m4_translit call via AS_TR_CPP.
75315
75316 2006-04-19  Derek Price  <derek@ximbiot.com>
75317             Eric Blake  <ebb9@byu.net>
75318
75319         * lib/inttypes.h: Correct grammar in comment.
75320
75321 2006-04-18  Derek Price  <derek@ximbiot.com>
75322             Paul Eggert  <eggert@cs.ucla.edu>
75323
75324         * modules/inttypes: New file.
75325         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75326
75327 2006-04-18  Derek Price  <derek@ximbiot.com>
75328             Paul Eggert  <eggert@cs.ucla.edu>
75329
75330         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
75331         New files.
75332
75333 2006-04-18  Derek Price  <derek@ximbiot.com>
75334             Paul Eggert  <eggert@cs.ucla.edu>
75335
75336         * lib/inttypes.h: New file.
75337         * lib/strtoimax.c: Assume <inttypes.h>.
75338
75339 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
75342         isn't mounted.  Problem reported by Kir Kolyshkin.
75343
75344 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75345
75346         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
75347         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
75348         Derek R. Price.
75349         * lib/regex.h (RE_DUP_MAX): Update comment to match current
75350         implementation.
75351
75352 2006-04-12  Eric Blake  <ebb9@byu.net>
75353
75354         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
75355         is now done automatically by the corresponding Autoconf macro.
75356
75357 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
75358
75359         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
75360         time_r.h.
75361
75362 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75363
75364         Merge regex changes from libc, removing some of our
75365         POSIX-conformance changes that were rejected and redoing them in a
75366         less-intrusive way.
75367
75368         * lib/regcomp.c (re_compile_internal, init_dfa):
75369         Length arg is now size_t, not Idx.  All uses changed.
75370         (peek_token): Forward decl now says internal_function.
75371         (__re_error_msgid, __re_error_msgid_idx):
75372         Now static rather than extern with attribute_hidden.
75373         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
75374         For some reason libc prefers K&R style defns for external functions.
75375         (regerror) [!defined _LIBC]: Likewise.
75376         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
75377         (seek_collating_symbol_entry, lookup_collation_sequence_value):
75378         (build_range_exp, build_collating_symbol):
75379         Use K&R-style defn.
75380         (re_compile_fastmap): Use '\0' to memset, not 0.
75381         (utf8_sb_map): Make the calculations more obvious.
75382         (init_dfa, parse_bracket_exp, build_charclass_op):
75383         Call calloc and cast result, as glibc does.
75384         (init_word_char, fetch_token, peek_token, peek_token_bracket):
75385         (build_range_exp, build_collating_symbol):
75386         Now internal functions.
75387
75388         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
75389
75390         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
75391         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
75392         Don't depend on VMS; depend on __VMS instead, for POSIX
75393         namespace cleanness.
75394         (regoff_t): Define to ssize_t, not long int.
75395
75396         Remove the REG_ macros named below.  Instead, make the old names
75397         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
75398         __USE_GNU_REGEX.
75399         (REG_BACKSLASH_ESCAPE_IN_LISTS):
75400         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
75401         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
75402         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
75403         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
75404         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
75405         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
75406         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
75407         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
75408         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
75409         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
75410         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
75411         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
75412         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
75413         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
75414         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
75415         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
75416         (REG_NREGS):
75417         Remove.  All uses replaced by the old RE_* names.
75418         (RE_BACKSLASH_ESCAPE_IN_LISTS):
75419         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
75420         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
75421         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
75422         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
75423         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
75424         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
75425         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
75426         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
75427         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
75428         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
75429         Don't bother having these macros be independent of each others'
75430         values, since they no longer exist in the POSIX name space.
75431
75432         Rename the following member names back to their old names,
75433         unless !__USE_GNU_REGEX.  All uses changed back.
75434         (buffer): Renamed from re_buffer.
75435         (allocated): Renamed from re_allocated.
75436         (used): Renamed from re_used.
75437         (syntax): Renamed from re_syntax.
75438         (fastmap): Renamed from re_fastmap.
75439         (translate): Renamed from re_translate.
75440         (can_be_null): Renamed from re_can_be_null.
75441         (regs_allocated): Renamed from re_regs_allocated.
75442         (fastmap_accurate): Renamed from re_fastmap_accurate.
75443         (no_sub): Renamed from re_no_sub.
75444         (not_bol): Renamed from re_not_bol.
75445         (not_eol): Renamed from re_not_eol.
75446         (newline_anchor): Renamed from re_newline_anchor.
75447         (num_regs): Renamed from rm_num_regs.
75448         (start): Renamed from rm_start.
75449         (end): Renamed from rm_end.
75450
75451         (free_state): Move up a bit.
75452
75453         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
75454         #define to be empty.
75455         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
75456         when that is what is intended.
75457         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
75458         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
75459         (MAX): New macro.
75460         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
75461         All uses changed back to re_malloc, etc.  It's now the caller's
75462         responsibility to check for overflow; all callers changed.
75463         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
75464         (re_x2nrealloc): Remove.
75465         (free_state): Remove decl.
75466
75467         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
75468         (re_set_registers, re_exec):
75469         Use K&R-style defn.
75470
75471         2006-01-31  Roland McGrath  <roland@redhat.com>
75472
75473         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
75474         Reported by Mike Frysinger <vapier@gentoo.org>.
75475
75476         2006-01-15  Andreas Jaeger  <aj@suse.de>
75477
75478         [BZ #1950]
75479         * lib/regex_internal.c (re_string_reconstruct): Adjust for
75480         build_wcs_upper_buffer change.
75481         (build_wcs_upper_buffer): Change return type.
75482
75483         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
75484
75485         * lib/regex_internal.h: Include <stdint.h> if available.
75486
75487         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
75488
75489         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
75490
75491         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
75492
75493         * lib/regcomp.c: Adjust for changed secondary hash function.
75494
75495         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
75496
75497         * lib/regex.h: Pretty printing.
75498         Clean up namespace a bit.
75499
75500         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
75501
75502         * lib/regexec.c (update_cur_sifted_state, check_arrival,
75503         check_arrival_add_next_nodes): Avoid using uninitialized variable.
75504
75505         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
75506                     Ulrich Drepper  <drepper@redhat.com>
75507
75508         [BZ #1302]
75509         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
75510         changed.
75511         (bitset_word_t): Renamed from bitset_word.  All uses changed.
75512
75513         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
75514
75515         [BZ #281]
75516         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
75517         * lib/regcomp.c: Remove unnecessary uses of
75518         unsigned RE_TRANSLATE_TYPE.
75519         * lib/regex_internal.h: Likewise.
75520         * lib/regex_internal.c: Likewise.
75521         * lib/regexec.c: Likewise.
75522         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
75523
75524         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
75525
75526         * lib/regexec.c (find_recover_state): Remove unnecessary
75527         initialization.
75528         (transit_state_bkref): Make DFA a const pointer.
75529         (get_subexp): Likewise.
75530         (check_arrival): Likewise.
75531         (update_cur_sifted_state): Likewise.
75532         (re_search_internal): Likewise.
75533         (prune_impossible_nodes): Likewise.
75534         (acquire_init_state_context): Likewise.
75535         (proceed_next_node): Likewise.
75536         (set_regs): Likewise.
75537         (free_fail_stack_return): Likewise.
75538         (check_arrival_expand_ecl): Mark DFA parameter as const.
75539         (check_arrival_expand_ecl_sub): Likewise.
75540         (check_subexp_limits): Likewise.
75541         (sub_epsilon_src_nodes):  Likewise.
75542         (add_epsilon_src_nodes):  Likewise.
75543         (merge_state_array): Likewise.
75544         (update_regs): Likewise.
75545         (build_trtable): Likewise.
75546         (sift_states_backward): Mark MCTX parameter as const.
75547         (build_sifted_states): Likewise.
75548         (update_cur_sifted_state): Likewise.
75549         (sift_states_mkref): Likewise.
75550         (check_arrival_expand_ecl): Mark eclosure as const.
75551         (check_dst_limits_calc_pos_1): Likewise.
75552         * lib/regex_internal.h (re_match_context_t): Make dfa a const
75553         pointer.
75554
75555         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
75556
75557         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
75558         (transit_state_sb): Likewise.
75559         (transit_state_mb): Likewise.
75560         (sift_states_iter_mb): Likewise.
75561         (check_arrival_add_next_nodes): Likewise.
75562         (check_node_accept_bytes): Change first parameter to pointer-to-const.
75563         [_LIBC] (re_search_2_stub): Use mempcpy.
75564
75565         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
75566         mbrtowc for very simple UTF-8 case.
75567
75568         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
75569         a pointer-to-const.
75570         (re_acquire_state_context): Likewise.
75571         * lib/regex_internal.h: Adjust prototypes.
75572
75573         * lib/regex.c: Prevent using C++ compilers.
75574
75575         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
75576         (re_acquire_state_context): Likewise.
75577
75578 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75579
75580         * modules/regex (Depends-on): Add ssize_t.
75581
75582 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75583
75584         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
75585         translation table.
75586
75587 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
75588
75589         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
75590
75591 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
75592             Bruno Haible  <bruno@clisp.org>
75593
75594         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
75595         <sys/types.h> and <inttypes.h>.
75596
75597 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75598
75599         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
75600         `__error_t_defined', so argp.h will not typedef the former.
75601
75602 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
75603
75604         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
75605         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
75606         glibc names.  Even if glibc is changed to conform to POSIX, the
75607         traditional names will be available anyway, since regex depends on
75608         the extensions module.  Also, fix a longstanding typo in the
75609         implementation of Spencer ERE test #75 from grep 2.3.  Problems
75610         reported by Emanuele Giaquinta.  Also, change sense of cached
75611         variable, so that the message makes sense.
75612
75613 2006-03-24  Simon Josefsson  <jas@extundo.com>
75614
75615         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
75616         including some doc fixes.
75617         (base64_encode_alloc): Fix +1 bug on allocation failures.
75618
75619 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75620
75621         * lib/base64.c (base64_encode): Do not read past end of array with
75622         unsanitized input on systems with CHAR_BIT > 8.
75623
75624 2006-03-24  Eric Blake  <ebb9@byu.net>
75625
75626         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
75627
75628 2006-03-22  Karl Berry  <karl@gnu.org>
75629
75630         * config/srclist.txt (*setenv.[ch]): get from coreutils.
75631         * config/srclistvars.sh (COREUTILS): new var.
75632
75633 2006-03-17  Jim Meyering  <jim@meyering.net>
75634
75635         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
75636         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
75637
75638 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75639
75640         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
75641         no longer needs it.  Instead, check that regoff_t is as least
75642         as wide as ptrdiff_t.
75643
75644         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
75645         so that our regex.h stays compatible with the installed regex.
75646         This is helpful for installers who configure --without-included-regex.
75647         Problem reported by Emanuele Giaquinta.
75648
75649 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
75652         Typedef to long int, not to off_, as POSIX will likely change
75653         in that direction.
75654
75655 2006-03-15  Eric Blake  <ebb9@byu.net>
75656
75657         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
75658
75659 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75660
75661         * lib/argp-help.c (validate_uparams): Fix typo
75662         * lib/argp-parse.c (argp_default_options): Consistently begin help
75663         messages with a lowercase letter.
75664
75665 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
75666
75667         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
75668         overrun buffers and shouldn't be used (much as gets shouldn't be
75669         used).
75670         * lib/time_r.c (asctime_r, ctime_r): Likewise.
75671
75672 2006-03-08  Simon Josefsson  <jas@extundo.com>
75673
75674         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
75675         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75676
75677 2006-03-08  Simon Josefsson  <jas@extundo.com>
75678
75679         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
75680         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75681
75682 2006-03-08  Simon Josefsson  <jas@extundo.com>
75683
75684         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
75685         signal that configure disabled the device.
75686
75687 2006-03-08  Simon Josefsson  <jas@extundo.com>
75688
75689         * build-aux/maint.mk: Fix refresh-po, to handle no translated
75690         languages.
75691
75692 2006-03-07  Simon Josefsson  <jas@extundo.com>
75693
75694         * modules/getopt (Depends-on): Add unistd.
75695
75696         * modules/unistd: New file.
75697
75698 2006-03-07  Simon Josefsson  <jas@extundo.com>
75699
75700         * modules/gc-random: New file.
75701
75702 2006-03-07  Simon Josefsson  <jas@extundo.com>
75703
75704         * m4/unistd_h.m4: New file.
75705
75706 2006-03-07  Simon Josefsson  <jas@extundo.com>
75707
75708         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
75709         test to be side-effect free by storing the result in the cache
75710         variable gl_cv_lib_readline, and moving the assignment of
75711         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
75712         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75713
75714 2006-03-07  Simon Josefsson  <jas@extundo.com>
75715
75716         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
75717         error on missing devices (the functions will return an error).
75718
75719         * m4/gc.m4: Move random stuff to gc-random.m4
75720
75721 2006-03-07  Simon Josefsson  <jas@extundo.com>
75722
75723         * lib/unistd_.h: New file.
75724
75725 2006-03-07  Simon Josefsson  <jas@extundo.com>
75726
75727         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
75728
75729 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75730
75731         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
75732         Problem reported by Juan Manuel Guerrero.
75733
75734 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75735
75736         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
75737         the unistd module.
75738         * lib/getlogin_r.c: Likewise.
75739         * lib/getlogin_r.h: Likewise.
75740         * lib/glob.c: Likewise.
75741         * lib/pagealign_alloc.c: Likewise.
75742         * lib/unistd_.h: Remove; no longer needed.
75743
75744 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
75745
75746         * MODULES.html.sh (Support for systems lacking POSIX:2001):
75747         Add unistd.
75748         * modules/c-stack (Depends-on): Add unistd.
75749         * modules/getlogin_r: Likewise.
75750         * modules/glob: Likewise.
75751         * modules/pagealign_alloc: Likewise.
75752         * modules/unistd (Files): Remove lib/unistd_.h.
75753         (EXTRA_DIST): Remove.
75754         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
75755         need unistd_.h.
75756         (MOSTLYCLEANFILES): Remove unistd.h-t.
75757
75758 2006-03-03  Simon Josefsson  <jas@extundo.com>
75759
75760         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
75761
75762 2006-03-03  Simon Josefsson  <jas@extundo.com>
75763
75764         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
75765         libidn and bison.
75766
75767 2006-03-03  Simon Josefsson  <jas@extundo.com>
75768
75769         * build-aux/maint.mk: Add indent target.
75770
75771 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
75772
75773         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
75774         our replacement poll.h in any case, to avoid a differing
75775         declaration from a system header.  Seen on AIX.
75776
75777 2006-03-01  Simon Josefsson  <jas@extundo.com>
75778
75779         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
75780         <kasal@ucw.cz>.
75781
75782 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75783
75784         * modules/gettime (Depends-on): Add extensions module.
75785         * modules/nanosleep (Depends-on): Likewise.
75786         * modules/settime (Depends-on): Likewise.
75787
75788 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
75791         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
75792         pedantically.
75793         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75794         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
75795
75796         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
75797         not "==".  Reported by Ralf Wildenhues.
75798
75799 2006-03-01  Karl Berry  <karl@gnu.org>
75800
75801         * doc/Copyright/request-*: new files, synced from gnuorg.
75802
75803 2006-03-01  Karl Berry  <karl@gnu.org>
75804
75805         * config/srclist.txt (Copyright/*): new entries.
75806
75807 2006-02-28  Simon Josefsson  <jas@extundo.com>
75808
75809         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
75810
75811 2006-02-27  Simon Josefsson  <jas@extundo.com>
75812
75813         * lib/base64.h: Indent #define's.  From Jim Meyering
75814         <jim@meyering.net>.
75815
75816 2006-02-27  Jim Meyering  <jim@meyering.net>
75817
75818         Revert the change of 2006-02-24, so these files can continue
75819         to be sync'd from gettext.
75820         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
75821         of `config.h'.
75822
75823 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75824
75825         * modules/intprops: New file.
75826         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75827         Add intprops.
75828         * modules/getloadavg (Files): Remove lib/intprops.h.
75829         (Depends-on): Add intprops.
75830         * modules/human: Likewise.
75831         * modules/inttostr: Likewise.
75832         * modules/openat: Likewise.
75833         * modules/sig2str: Likewise.
75834         * modules/userspec: Likewise.
75835         * modules/utimecmp: Likewise.
75836         * modules/xnanosleep: Likewise.
75837         * modules/xstrtol: Likewise.
75838
75839 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
75840
75841         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
75842         * modules/lock-tests (TESTS): Use $(EXEEXT).
75843         * modules/tls-tests: Likewise.
75844         * modules/argp-tests: Likewise.
75845         (check_PROGRAMS): New var, replacing...
75846         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
75847
75848 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75849
75850         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
75851         `config.h'.
75852
75853 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
75854
75855         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
75856
75857 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75858
75859         Sync from coreutils.
75860         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
75861         gl_CHDIR_SAFER.
75862
75863 2006-02-22  Jim Meyering  <jim@meyering.net>
75864
75865         Sync from coreutils.
75866         * m4/chdir-safer.m4: New file.
75867
75868 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
75869
75870         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
75871         AT_FDCWD exceeds INT_MAX.
75872         * lib/openat.h (AT_FDCWD): Likewise.
75873
75874 2006-02-17  Eric Blake  <address@hidden>
75875
75876         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
75877
75878 2006-02-16  Simon Josefsson  <jas@extundo.com>
75879
75880         * modules/getaddrinfo (Depends-on): Add sys_socket.
75881
75882 2006-02-15  Simon Josefsson  <jas@extundo.com>
75883
75884         * build-aux/maint.mk: Add dsyntax-check rule.
75885
75886 2006-02-15  Eric Blake  <ebb9@byu.net>
75887
75888         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
75889         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
75890         'present but cannot compile' warnings on cygwin.
75891         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
75892         use ws2tcpip.h if sys/socket.h works.
75893         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
75894         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
75895
75896 2006-02-14  Simon Josefsson  <jas@extundo.com>
75897
75898         * modules/maintainer-makefile (Files): Rename.
75899
75900         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
75901         and (the local) Makefile.cfg to maint-cfg.mk.
75902
75903         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
75904         to the latter.
75905
75906         * modules/maintainer-makefile: New module.
75907
75908         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
75909         severaly stripped to make it possible to build it up from scratch
75910         with reliable tests.
75911
75912         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
75913         fixes to permit overriding the default actions when configure and
75914         makefile are not available.
75915
75916 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
75917
75918         Sync from coreutils.
75919         * modules/lstat (Depends-on): Don't depend on xalloc.
75920         (License): Change from GPL to LGPL, since this is now simply a
75921         replacement for a libc function.
75922
75923 2006-02-14  Jim Meyering  <jim@meyering.net>
75924
75925         Sync from coreutils.
75926
75927         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
75928         failure on deficient systems, and simplify gnulib lgpl dependencies.
75929         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
75930         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
75931
75932         * lib/xalloc-die.c: Remove unused definition of N_.
75933
75934 2006-02-14  Jim Meyering  <jim@meyering.net>
75935
75936         Sync from coreutils.
75937         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
75938         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
75939         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
75940         double-quote uses of that variable, to accommodate the rare case in
75941         which getmntent is available in none of the libraries checked.  This
75942         happens at least on FreeBSD 5.0.
75943
75944 2006-02-13  Simon Josefsson  <jas@extundo.com>
75945
75946         * gnulib-tool (Usage): Fix --import, from
75947         karl@freefriends.org (Karl Berry).
75948
75949 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
75950
75951         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
75952
75953 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
75954
75955         * lib/argp-namefrob.h: Restore changes accidentally lost during the
75956         "autoupdate" on 2005-12-12.
75957
75958 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75959
75960         * modules/closeout (Depends-on): Remove atexit.
75961
75962 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
75963
75964         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75965         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75966
75967 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75968
75969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75970         __EXTENSIONS__ if this causes compilation to fail.  Problem
75971         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75972         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75973
75974 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75975
75976         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75977         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75978         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75979         All uses changed.
75980
75981 2006-01-26  Simon Josefsson  <jas@extundo.com>
75982
75983         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75984         prototype is visible on mingw32.
75985
75986         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75987         for mingw32.
75988
75989         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75990         mingw32).
75991
75992 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75993
75994         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75995         attempt to open for write; this always fails, at least on POSIX
75996         hosts.  This reinstates the 2006-01-09 change, which was
75997         inadvertently removed.
75998
75999 2006-01-26  Bruno Haible  <bruno@clisp.org>
76000
76001         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76002         Reported by Paul Eggert.
76003
76004 2006-01-26  Bruno Haible  <bruno@clisp.org>
76005             Paul Eggert  <eggert@cs.ucla.edu>
76006
76007         * lib/stdbool_.h (_Bool)
76008         [(! (defined __cplusplus || defined __BEOS__)
76009           && !defined __GNUC__
76010           && !(defined __HP_cc || defined __xlc__
76011                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76012                || defined __sgi))]:
76013         #define to signed char in these cases too; this simplifies
76014         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76015         etc., separately) and makes it more conservative.
76016
76017 2006-01-25  Simon Josefsson  <jas@extundo.com>
76018
76019         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76020         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76021         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76022
76023 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76024
76025         * lib/argp-namefrob.h: Bugfix. Remove stray #
76026
76027 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76028
76029         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76030         so that we test the test.
76031         Check for yet another HP-UX cc bug involving *bool |= bool.
76032
76033 2006-01-25  Karl Berry  <karl@gnu.org>
76034
76035         * config/srclist.txt (vasnprintf.c): sync lost.
76036
76037 2006-01-25  Jim Meyering  <jim@meyering.net>
76038
76039         Sync from the stable (b5) branch of coreutils:
76040
76041         * lib/fts.c (fts_children): Don't let close() clobber errno from
76042         failed fchdir().
76043
76044         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76045         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76046         a dangling symlink.  That can also happen at least for ELOOP.
76047         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76048         FYI, this bug predates the inclusion of fts.c in coreutils.
76049
76050         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76051         in their own block, so pre-c99 compilers don't object.
76052
76053         Avoid the double-free (first in fts_read, second in fts_close) that
76054         would occur when an `active' directory is made inaccessible (e.g.,
76055         via chmod a-x) during a traversal.
76056         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76057         before returning.  Reproduce this failure by
76058         mkdir -p a/b; cd a; chmod a-x . b
76059         Reported by Stavros Passas.
76060
76061 2006-01-25  Jim Meyering  <jim@meyering.net>
76062
76063         * lib/fileblocks.c: Remove more useless parentheses.
76064         * lib/readutmp.h: Likewise.
76065
76066 2006-01-25  Bruno Haible  <bruno@clisp.org>
76067
76068         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76069         warnings.
76070         Reported by Paul Eggert.
76071
76072 2006-01-25  Bruno Haible  <bruno@clisp.org>
76073
76074         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76075         rid of a trap command. For Solaris sh.
76076         Reported by Mark D. Baushke <mdb@gnu.org>.
76077
76078 2006-01-24  Simon Josefsson  <jas@extundo.com>
76079
76080         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76081         Bruno.
76082
76083 2006-01-24  Karl Berry  <karl@gnu.org>
76084
76085         * config/srclist.txt (argp-namefrob.h): sync lost.
76086
76087 2006-01-24  Jim Meyering  <jim@meyering.net>
76088
76089         * modules/openat (Files): Add lib/intprops.h.
76090         From Mark D. Baushke.
76091
76092 2006-01-24  Jim Meyering  <jim@meyering.net>
76093
76094         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76095         Reported by Mark D. Baushke.
76096
76097 2006-01-24  Jim Meyering  <jim@meyering.net>
76098
76099         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76100
76101 2006-01-24  Bruno Haible  <bruno@clisp.org>
76102
76103         * modules/strnlen (Maintainer): Change from glibc to all.
76104
76105 2006-01-24  Bruno Haible  <bruno@clisp.org>
76106
76107         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76108         Patch by Paul Eggert.
76109
76110 2006-01-24  Bruno Haible  <bruno@clisp.org>
76111
76112         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76113         already has it.
76114         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76115         2005-11-26.
76116
76117         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76118         'signed char' to avoid problems with the built-in _Bool type.
76119         Reported by Paul Eggert on 2005-11-26.
76120
76121 2006-01-24  Bruno Haible  <bruno@clisp.org>
76122
76123         * gnulib-tool (func_import): Avoid constructing complicated sed
76124         expressions inside backquote.
76125         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76126
76127 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76128
76129         These changes imported from libc.
76130         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76131         test and two separate function calls.
76132         * lib/strndup.c (__strndup): Add libc_hidden_def.
76133
76134 2006-01-23  Simon Josefsson  <jas@extundo.com>
76135
76136         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76137         Remove the test_*_SOURCES variable: automake infers it by default.
76138         * modules/tls-tests: Likewise.
76139
76140 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         Work around porting bugs reported by Dieter in
76143         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76144         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76145         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76146         Include "getopt.h" first, to check interface.
76147         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76148         !HAVE_DECL_GETENV.
76149         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76150         (__strndup): Revert to K&R-style function dfns, the glibc style.
76151         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76152         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76153         Include strnlen.h first, to get prototype properly.
76154         (strnlen): Renamed from __strnlen.
76155         Remove weak alias.
76156
76157 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76158
76159         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76160
76161 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76162
76163         * config/srclist.txt: Adjust to reflect glibc reorganization.
76164         This affects only comments.
76165
76166 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76167
76168          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76169          Reported by Bruce Korb <bkorb@gnu.org>.
76170
76171 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76172
76173         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76174         to pacify gcc -Wswitch-default.
76175
76176 2006-01-22  Bruno Haible  <bruno@clisp.org>
76177
76178         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76179         temporary buffer for sprintf, take into account the precision also
76180         for 'd', 'i', 'u', 'o', 'x', 'X'.
76181
76182 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76183
76184         * modules/argp-tests: New module
76185         * tests/test-argp.c: New file
76186         * tests/test-argp-2.sh: New file
76187
76188 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76189
76190         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76191         (__argp_base_name): Removed
76192         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76193         typo.
76194         (__argp_base_name): Provide macro definition or extern declaration
76195         depending on the configuration
76196
76197 2006-01-20  Simon Josefsson  <jas@extundo.com>
76198
76199         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76200
76201 2006-01-20  Simon Josefsson  <jas@extundo.com>
76202
76203         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76204
76205 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76206
76207         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76208         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76209         Suggested by Bruno Haible.
76210
76211 2006-01-20  Karl Berry  <karl@gnu.org>
76212
76213         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76214         until changes propagate, I guess.
76215
76216 2006-01-19  Simon Josefsson  <jas@extundo.com>
76217
76218         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76219
76220 2006-01-19  Simon Josefsson  <jas@extundo.com>
76221
76222         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76223
76224 2006-01-19  Simon Josefsson  <jas@extundo.com>
76225
76226         * gnulib-tool: Set check_PROGRAMS.
76227
76228         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76229         modules/des-tests, modules/gc-arcfour-tests,
76230         modules/gc-arctwo-tests, modules/gc-des-tests,
76231         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76232         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76233         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76234         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76235         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76236         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76237         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76238         test_*_SOURCES.
76239
76240 2006-01-18  Simon Josefsson  <jas@extundo.com>
76241
76242         * modules/socklen (Depends-on): Depend on sys_socket.
76243
76244 2006-01-18  Simon Josefsson  <jas@extundo.com>
76245
76246         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76247         modules/des-tests, modules/gc-arcfour-tests,
76248         modules/gc-arctwo-tests, modules/gc-des-tests,
76249         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76250         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76251         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76252         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76253         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76254         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76255         $(EXEEXT) to automake TESTS variable, for mingw32.
76256
76257 2006-01-17  Simon Josefsson  <jas@extundo.com>
76258
76259         * modules/socklen (Include): Need sys/socket.h.
76260
76261 2006-01-17  Bruno Haible  <bruno@clisp.org>
76262
76263         * modules/ssize_t (Include): Add <sys/types.h>.
76264
76265 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76266
76267         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76268         it's not portable and it doesn't work with cross-compiles.
76269         Problem reported by Bruno Haible.  Fix missing-$ typo in
76270         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76271         -zignore from being used with Sun's C compiler.
76272
76273 2006-01-12  Simon Josefsson  <jas@extundo.com>
76274
76275         * lib/base64.c: Fix warning, reported by Bruno Haible
76276         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76277
76278 2006-01-12  Bruno Haible  <bruno@clisp.org>
76279
76280         * modules/ldd: New file.
76281         * build-aux/ldd.sh.in: New file.
76282         * MODULES.html.sh (Support for building libraries and executables): Add
76283         ldd.
76284
76285 2006-01-12  Bruno Haible  <bruno@clisp.org>
76286
76287         * m4/ldd.m4: New file.
76288
76289 2006-01-12  Bruno Haible  <bruno@clisp.org>
76290
76291         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76292         endless loop while replacing $auxdir with build-aux.
76293
76294 2006-01-11  Simon Josefsson  <jas@extundo.com>
76295
76296         * lib/stdint_.h (SIZE_MAX): Add missing (.
76297
76298 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76299
76300         Sync from coreutils.
76301         * lib/md5.c: Fix commentary typos.
76302         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76303         * lib/md5.h (__attribute__): Remove; unused.
76304         * lib/sha1.c: Fix commentary to match md5 better.
76305         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76306         so that we don't need to worry about alignment.  All uses changed.
76307         This merges the 2005-10-28 md5 change into sha1.
76308
76309 2006-01-11  Jim Meyering  <jim@meyering.net>
76310
76311         Sync from coreutils.
76312         * lib/md5.c (OP): Fix spacing.
76313
76314 2006-01-11  Bruno Haible  <bruno@clisp.org>
76315
76316         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76317         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76318         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76319
76320 2006-01-11  Bruno Haible  <bruno@clisp.org>
76321
76322         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76323         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76324         the "early" section as well.
76325
76326 2006-01-11  Bruno Haible  <bruno@clisp.org>
76327
76328         Avoid "ar: no archive members specified" error on MacOS X.
76329         * gnulib-tool (func_modules_add_dummy): New function.
76330         (func_import, func_create_testdir): Invoke it.
76331
76332 2006-01-11  Bruno Haible  <bruno@clisp.org>
76333
76334         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
76335         with $auxdir in AC_CONFIG_FILES statements.
76336
76337 2006-01-11  Bruno Haible  <bruno@clisp.org>
76338
76339         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76340         Initialize also noinst_HEADERS to empty.
76341
76342 2006-01-11  Bruno Haible  <bruno@clisp.org>
76343
76344         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
76345         variables.
76346         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
76347         autoreconf.
76348
76349 2006-01-11  Bruno Haible  <bruno@clisp.org>
76350
76351         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
76352         overridable by the user.
76353         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76354
76355 2006-01-10  Simon Josefsson  <jas@extundo.com>
76356
76357         * modules/sys_socket: New file.
76358
76359 2006-01-10  Simon Josefsson  <jas@extundo.com>
76360
76361         * m4/sys_socket_h.m4: New file.
76362
76363 2006-01-10  Simon Josefsson  <jas@extundo.com>
76364
76365         * lib/socket_.h: New file.
76366
76367 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76368
76369         * modules/readutmp (Maintainer): Add myself.
76370
76371 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76372
76373         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
76374         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
76375         People who are still concerned with buggy memcmp implementations
76376         can invoke gl_FUNC_MEMCMP themselves.
76377
76378 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         * lib/regex_internal.h (BITSET_WORD_BITS):
76381         Work around a bug in 64-bit PGC (before version 6.1-2), where the
76382         preprocessor mishandles large unsigned values as if they were signed.
76383         Problem reported by Claudio Fontana in
76384         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
76385
76386 2006-01-10  Jim Meyering  <jim@meyering.net>
76387
76388         Avoid the double-free (first in fts_read, second in fts_close) that
76389         would occur when an `active' directory is made inaccessible (e.g.,
76390         via chmod a-x) during a traversal.
76391         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76392         before returning.  Reproduce this failure by
76393         mkdir -p a/b; cd a; chmod a-x . b
76394         Reported by Stavros Passas.
76395
76396         Sync from coreutils.
76397         * lib/sha1.c: Tweak grammar in a comment.
76398
76399 2006-01-10  Jim Meyering  <jim@meyering.net>
76400
76401         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
76402         Patch by Joerg Sonnenberger.
76403
76404 2006-01-10  Bruno Haible  <bruno@clisp.org>
76405
76406         * modules/readutmp: Depend on module free.
76407         * modules/strtok_r: Depend on module restrict.
76408
76409 2006-01-10  Bruno Haible  <bruno@clisp.org>
76410
76411         * modules/gettext (configure.ac): Add an invocation of
76412         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
76413
76414 2006-01-10  Bruno Haible  <bruno@clisp.org>
76415
76416         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
76417         Reported by Werner Lemberg <wl@gnu.org>.
76418
76419 2006-01-10  Bruno Haible  <bruno@clisp.org>
76420
76421         * lib/localcharset.c: Update from GNU gettext.
76422
76423 2006-01-10  Bruno Haible  <bruno@clisp.org>
76424
76425         * lib/argp.h (__const): Remove macro. Use const instead.
76426         * lib/argp-fmtstream.h (__const): Likewise.
76427         * lib/glob_.h (__const): Remove macro.
76428         * lib/glob-libc.h: Use const instead of __const.
76429
76430 2006-01-10  Bruno Haible  <bruno@clisp.org>
76431
76432         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
76433         variable.
76434         Needed to avoid an automake error regarding the 'gettext' module.
76435
76436 2006-01-09  Simon Josefsson  <jas@extundo.com>
76437
76438         * modules/inet_ntop (Depends-on): Add restrict.
76439
76440 2006-01-09  Simon Josefsson  <jas@extundo.com>
76441
76442         * modules/gc-rijndael-tests (License): Put under LGPL.
76443
76444         * modules/gc-des-tests (License): Likewise.
76445
76446         * modules/gc-arcfour-tests (License): Likewise.
76447
76448         * modules/gc-arctwo-tests (License): Likewise.
76449
76450         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
76451
76452         * modules/gc-hmac-sha1-tests (Files): Likewise.
76453
76454         * modules/gc-hmac-md5-tests (License): Likewise.
76455
76456         * modules/gc-sha1-tests (License): Likewise.
76457
76458         * modules/gc-md5-tests (License): Likewise.
76459
76460         * modules/gc-md4-tests (License): Likewise.
76461
76462         * modules/gc-md2-tests (License): Likewise.
76463
76464         * modules/gc-tests (License): Likewise.
76465
76466         * modules/des-tests (License): Likewise.
76467
76468         * modules/md4-tests (License): Likewise.
76469
76470         * modules/md2-tests (License): Likewise.
76471
76472 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76473
76474         Sync from coreutils:
76475
76476         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
76477         * modules/lib-ignore: New file.
76478         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
76479         chdir-safer.m4, lchmod.m4.
76480         * modules/openat: Add mkdirat.c, openat-priv.h.
76481
76482 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76483
76484         Sync from coreutils.
76485         * m4/lib-ignore.m4: New file.
76486         * m4/lchmod.m4: New file.
76487
76488 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76489
76490         Sync from coreutils.
76491         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
76492         for write access: POSIX says that must fail.
76493         * lib/fts.c (diropen): Likewise.
76494         * lib/save-cwd.c (save_cwd): Likewise.
76495         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
76496         well, for minor improvements on hosts that lack O_DIRECTORY.
76497         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
76498         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
76499         Fall back on chown if open failed with EACCES.
76500
76501         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
76502         Report an error at compile-time if only a 1-second nominal clock
76503         resolution is found.
76504
76505         * lib/lchmod.h: New file.
76506         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
76507         (make_dir_parents): Use lchown rather than chown, and
76508         lchmod rather than chmod.
76509
76510         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
76511         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
76512         "proc" reported by n0dalus.
76513
76514         * lib/mountlist.c: Include <limits.h>.
76515         (dev_from_mount_options)
76516         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
76517         New function.  It no longer assumes "dev=" has the System V meaning
76518         on Linux (since it doesn't).  It also parses "dev=" more carefully.
76519         (read_file_system_list)
76520         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
76521         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
76522         dev= in that case.
76523
76524         * lib/posixtm.h (PDS_PRE_2000): New macro.
76525         * lib/posixtm.c (year): Arg is now syntax_bits rather than
76526         allow_century.  All usages changed.  Reject dates outside the range
76527         1969-1999 if PDS_PRE_2000 is used.
76528
76529 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76530
76531         Sync from coreutils.
76532         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
76533         (Time of day items): Mention the possibility of leap seconds.
76534         Problem reported by Dr. David Alan Gilbert.
76535
76536 2006-01-09  Jim Meyering  <jim@meyering.net>
76537
76538         Sync from coreutils.
76539
76540         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
76541
76542         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
76543
76544         * lib/modechange.c (mode_compile): Reject an invalid mode string
76545         that starts with an octal digit.  From Andreas Gruenbacher.
76546
76547         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
76548         and dup to open_safer and dup_safer, respectively.
76549         (openat_permissive): Fix typo in comment.
76550
76551         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
76552         "gettext.h"; either no longer needed or are guaranteed by openat.h.
76553         (_): Remove; no longer needed.
76554         (openat): Renamed from rpl_openat; no need for rpl_openat
76555         since openat.h renames openat for us.
76556         Replace most of the body with a call to openat_permissive,
76557         to avoid duplicate code.
76558         Port to (probably hypothetical) environments were mode_t is
76559         wider than int.
76560         (openat_permissive): Require mode arg, so that we can check
76561         types better.  Put it just after flags.  Change cwd failure
76562         indicator from pointer-to-bool to pointer-to-errno-value.
76563         All callers changed.
76564         Invoke openat_save_fail and/or openat_restore_fail if
76565         cwd_errno is null, so that openat can call us.
76566         (openat_permissive, fdopendir, fstatat, unlinkat):
76567         Simplify errno handling to avoid some duplicate code,
76568         as it's OK to set errno on success.
76569         * lib/openat.h: Revamp code so that function macros depend on
76570         __OPENAT_PREFIX only, not also on AT_FDCWD.
76571         (openat_ro): Remove.  Caller changed to use openat_permissive.
76572         (openat_permissive): Now a macro, if not a function.
76573         (openat_restore_fail, openat_save_fail): Now always functions,
76574         since mkdirat needs them even if __OPENAT_PREFIX is defined.
76575
76576         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
76577         and openat.c.
76578         * lib/mkdirat.c: Include openat-priv.h.
76579         Remove definitions of macros defined therein.
76580         * lib/openat.c: Likewise.
76581
76582         * lib/mkdirat.c (mkdirat): New file and function.
76583         * lib/openat.h (mkdirat): Declare.
76584
76585         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
76586
76587         * lib/openat.h (openat_permissive): Declare.
76588         (openat_ro): Define.
76589
76590         * lib/openat.c (EXPECTED_ERRNO): New macro.
76591         (openat_permissive): New function -- used in remove.c rewrite.
76592         (all functions): Set errno just before returning, only if there
76593         was an actual failure.
76594         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
76595
76596         Emulate openat-family functions using Linux's procfs, if possible.
76597         Idea and some code based on Ulrich Drepper's glibc changes.
76598
76599         * lib/openat.c: (BUILD_PROC_NAME): New macro.
76600         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
76601         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
76602         before falling back on save_cwd and restore_cwd.
76603         (fdopendir, fstatat, unlinkat): Likewise.
76604
76605         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
76606         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
76607
76608         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
76609         as second argument to va_arg.  Otherwise, some versions of gcc
76610         warn that `if this code is reached, the program will abort'.
76611
76612 2006-01-09  Jim Meyering  <jim@meyering.net>
76613
76614         Sync from coreutils.
76615         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
76616         Require openat-priv.h.
76617
76618 2006-01-09  Bruno Haible  <bruno@clisp.org>
76619
76620         * modules/strnlen (Include): Use strnlen.h.
76621
76622 2006-01-09  Bruno Haible  <bruno@clisp.org>
76623
76624         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
76625
76626 2006-01-09  Bruno Haible  <bruno@clisp.org>
76627
76628         * lib/sysexit_.h (EX_OK): New macro.
76629         Suggested by Martin Lambers <marlam@marlam.de>.
76630
76631 2006-01-09  Bruno Haible  <bruno@clisp.org>
76632
76633         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
76634         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
76635
76636 2006-01-09  Bruno Haible  <bruno@clisp.org>
76637
76638         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
76639         numbers.
76640
76641 2006-01-09  Bruno Haible  <bruno@clisp.org>
76642
76643         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
76644         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
76645         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
76646         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
76647
76648 2006-01-09  Bruno Haible  <bruno@clisp.org>
76649
76650         * build-aux/javacomp.sh.in: New file, moved from lib/.
76651         * modules/javacomp-script (Files): Update.
76652         (configure.ac): Add AC_CONFIG_FILES invocation.
76653         (EXTRA_DIST): Remove variable.
76654
76655         * build-aux/javaexec.sh.in: New file, moved from lib/.
76656         * modules/javaexec (Files): Update.
76657         (configure.ac): Add AC_CONFIG_FILES invocation.
76658         (EXTRA_DIST): Remove javaexec.sh.in.
76659
76660         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
76661         * modules/csharpcomp-script (Files): Update.
76662         (configure.ac): Add AC_CONFIG_FILES invocation.
76663         (EXTRA_DIST): Remove variable.
76664
76665         * build-aux/csharpexec.sh.in: New file, moved from lib/.
76666         * modules/csharpexec (Files): Update.
76667         (configure.ac): Add AC_CONFIG_FILES invocation.
76668         (EXTRA_DIST): Remove csharpexec.sh.in.
76669
76670 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76671
76672         Sync from coreutils.
76673
76674         Add POSIX ACL support
76675         * lib/acl.h (copy_acl, set_acl): Add declarations.
76676         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
76677         systems other than Linux.
76678         (chmod_or_fchmod): New function: use fchmod when possible,
76679         and chmod otherwise.
76680         (file_has_acl): Add a POSIX ACL implementation, with a
76681         Linux-specific subcase.
76682         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
76683         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
76684         acls are unsupported.
76685         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
76686         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
76687         are unsupported.
76688
76689 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
76690
76691         Sync from coreutils.
76692         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
76693
76694 2006-01-07  Bruno Haible  <bruno@clisp.org>
76695
76696         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
76697         gl_EARLY.
76698
76699 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76700
76701         * lib/strftime.c (tzname): Don't declare if it is already #defined.
76702         Problem reported for Mingw by Mark Junker.
76703
76704 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76705
76706         * README: Gnulib normally doesn't generate a tarball.
76707
76708 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
76709
76710         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
76711         long int, not int, for nanosecond counts, so that people who are
76712         used to POSIX struct timespec won't be surprised.  Reported by Jim
76713         Meyering.
76714
76715 2005-12-28  Bruno Haible  <bruno@clisp.org>
76716
76717         * build-aux/config.rpath: Update from GNU gettext.
76718
76719 2005-12-16  Jim Meyering  <jim@meyering.net>
76720
76721         * modules/fprintftime: New module.
76722         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
76723
76724 2005-12-16  Jim Meyering  <jim@meyering.net>
76725
76726         * m4/fprintftime.m4: New file.
76727
76728 2005-12-16  Jim Meyering  <jim@meyering.net>
76729
76730         * lib/fprintftime.c, lib/fprintftime.h: New files.
76731
76732 2005-12-15  Simon Josefsson  <jas@extundo.com>
76733
76734         * modules/socklen (configure.ac): Fix M4 macro name, to align with
76735         new m4/socklen.m4.
76736
76737 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76738
76739         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
76740         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
76741
76742 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76743
76744         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
76745         * lib/argp-help.c (fill_in_uparams): Check if the constructed
76746         struct uparams is valid. Fall back to the default values if it is
76747         not.
76748
76749 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76750
76751         * modules/argp (Files): Add argp-pin.c
76752         (Depends-on): dirname
76753         (lib_SOURCES): Add argp-pin.c
76754
76755 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76756
76757         * m4/argp.m4:  Check if program_invocation_name and
76758         program_invocation_short_name are declared and define appropriate
76759         macros if they are not.
76760
76761 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76762
76763         * lib/argp-help.c (__argp_base_name): New function
76764         (__argp_short_program_name): Rewrite using __argp_base_name
76765         * lib/argp-namefrob.h: Define program_invocation_name and
76766         program_invocation_short_name if requested
76767         (__argp_base_name): Add prototype
76768         * lib/argp-parse.c (argp_def): Use gettext wrappers
76769         (argp_default_parser): Use __argp_base_name
76770         * lib/argp-pin.c: New file. Defines program_invocation_name and
76771         program_invocation_short_name on systems that lack them.
76772
76773 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76774
76775         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
76776         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76777         porting problem reported by Georg Schwarz in
76778         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76779
76780 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76781
76782         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
76783         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
76784         porting problem reported by Georg Schwarz in
76785         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
76786
76787 2005-12-05  Bruno Haible  <bruno@clisp.org>
76788
76789         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
76790         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
76791         Reported by Mark Junker <mjscod@gmx.de>.
76792
76793 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
76794
76795         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
76796         Use implementation from Albert Chin, with some
76797         comments/corrections by Stepan Kasal and myself.
76798
76799 2005-12-02  Bruno Haible  <bruno@clisp.org>
76800
76801         * gnulib-tool (func_import): Accept GPLed build tool modules when
76802         --lgpl is given.
76803         * modules/csharpcomp-script: New file.
76804         * modules/csharpcomp: Depend on it.
76805         * modules/javacomp-script: New file.
76806         * modules/javacomp: Depend on it.
76807         Suggested by Simon Josefsson.
76808
76809 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
76810
76811         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
76812         statement, to work around an HP-UX 10.20 compiler bug reported by
76813         Peter O'Gorman.
76814
76815 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76816
76817         * modules/savedir (Depends-on): Add openat.
76818
76819 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
76820
76821         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
76822         (uintmax_t) [defined uintmax_t]: Do not declare.
76823         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
76824         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
76825         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
76826         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
76827         sake of portability to weird hosts that C allows (though we don't
76828         know of any practical examples).
76829
76830         * lib/savedir.h (fdsavedir): New decl.
76831         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
76832         contains most of the former guts of savedir.
76833         (savedir): Use savedirstream.
76834         Include "openat.h".
76835
76836 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76837
76838         * modules/obstack (Files): Add m4/ulonglong.m4.
76839         Problem reported by Davide Angelocola.
76840
76841 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76842
76843         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
76844         coreutils no longer futzes with rounding modes.
76845
76846 2005-11-14  Jim Meyering  <jim@meyering.net>
76847
76848         * lib/mkstemp-safer.c: Include <config.h>, required for possible
76849         replacement of mkstemp.
76850
76851 2005-11-10  Simon Josefsson  <jas@extundo.com>
76852
76853         * lib/readline.c: Remove EOL.
76854
76855 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76856
76857         * modules/gethrxtime (Depends-on): Add gettime.
76858
76859 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76860
76861         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
76862         or gettimeofday; no longer needed.
76863
76864 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76865
76866         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
76867         time business.
76868         (gethrxtime) [! (HAVE_NANOUPTIME
76869         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
76870         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
76871         our own approximation.
76872
76873 2005-11-08  Eric Blake  <ebb9@byu.net>
76874
76875         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76876
76877 2005-11-08  Eric Blake  <ebb9@byu.net>
76878
76879         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
76880
76881 2005-11-04  Bruno Haible  <bruno@clisp.org>
76882
76883         * gnulib-tool: Implement --update mode.
76884
76885 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         Fix porting problem reported by Theodoros V. Kalamatianos.
76888         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
76889         Don't assume that futimes failing means we must fail.
76890
76891 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
76894         variables to suggest the intended function of the PATH_MAX check.
76895
76896 2005-10-30  Kean Johnston  <jkj@sco.com>
76897
76898         Trivial changes to support SCO systems.
76899         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
76900         as PATH_MAX.
76901         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
76902         where __ptr is null when no I/O is pending.
76903
76904 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76905
76906         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
76907         leave errno alone.  Problem reported by Dmitry V. Levin.
76908
76909 2005-10-28  Simon Josefsson  <jas@extundo.com>
76910
76911         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
76912         Test more.
76913
76914         * tests/test-gc-md2.c, tests/test-md2.c: New files.
76915
76916         * modules/md2, modules/md2-tests: New files.
76917
76918 2005-10-28  Simon Josefsson  <jas@extundo.com>
76919
76920         * m4/inet_ntop.m4: More tests.
76921
76922         * m4/gc-md2.m4, md2.m4: New file.
76923
76924 2005-10-28  Simon Josefsson  <jas@extundo.com>
76925
76926         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
76927         "restrict" keywords, as per POSIX.  Protect the function
76928         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
76929         Don't use K&R prototypes.  Check the sprintf return values.
76930         Re-define EAFNOSUPPORT if not present.  Indent.
76931
76932         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
76933         suggested by Bruno Haible <bruno@clisp.org>.
76934
76935         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
76936
76937         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
76938
76939         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
76940         libgcrypt).
76941
76942         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
76943
76944         * lib/md2.h, lib/md2.c: New files.
76945
76946 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
76947
76948         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
76949         errno alone.  Problem reported by Frederic Jolliton.
76950
76951 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76952
76953         * modules/verify (License): Change from GPL to LGPL.  This is a
76954         tiny module and there are apparently near-equivalents that are
76955         under the BSD license.
76956
76957 2005-10-24  Simon Josefsson  <jas@extundo.com>
76958
76959         * modules/sha1: Relicense to LGPL.
76960
76961 2005-10-24  Simon Josefsson  <jas@extundo.com>
76962
76963         * lib/md4.h: Shrink buffer size, now that we changed the type.
76964
76965 2005-10-23  Simon Josefsson  <jas@extundo.com>
76966
76967         * gnulib-tool (func_import): Fix --tests-base.
76968
76969 2005-10-22  Simon Josefsson  <jas@extundo.com>
76970
76971         * modules/arcfour (Depends-on): Need stdint.
76972
76973 2005-10-22  Simon Josefsson  <jas@extundo.com>
76974
76975         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76976         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76977
76978 2005-10-22  Simon Josefsson  <jas@extundo.com>
76979
76980         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76981         suggested by Bruno Haible <bruno@clisp.org>.
76982
76983 2005-10-22  Simon Josefsson  <jas@extundo.com>
76984
76985         * lib/crc.h: Include stddef.h, for size_t.
76986
76987 2005-10-22  Simon Josefsson  <jas@extundo.com>
76988
76989         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76990         arcfour_context struct (simplify test vector testing in GNU
76991         Shishi).
76992
76993 2005-10-21  Simon Josefsson  <jas@extundo.com>
76994
76995         * modules/des, modules/des-tests: New files.
76996
76997         * modules/gc-des, modules/gc-des-tests: New files.
76998
76999         * tests/test-des.c, tests/test-gc-des.c: New file.
77000
77001 2005-10-21  Simon Josefsson  <jas@extundo.com>
77002
77003         * modules/arctwo, modules/arctwo-tests: New files.
77004
77005         * tests/test-arctwo.c: New file.
77006
77007         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77008
77009         * tests/test-gc-arctwo.c: New file.
77010
77011 2005-10-21  Simon Josefsson  <jas@extundo.com>
77012
77013         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77014         Bruno Haible <bruno@clisp.org>.
77015
77016         * m4/gc-des.m4: New file.
77017
77018 2005-10-21  Simon Josefsson  <jas@extundo.com>
77019
77020         * m4/arctwo.m4: New file.
77021
77022         * m4/gc-arctwo.m4: New file.
77023
77024 2005-10-21  Simon Josefsson  <jas@extundo.com>
77025
77026         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77027         block.
77028
77029 2005-10-21  Simon Josefsson  <jas@extundo.com>
77030
77031         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77032         <bruno@clisp.org>.
77033
77034         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77035
77036         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77037         Bruno Haible <bruno@clisp.org>.
77038
77039         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77040         <bruno@clisp.org>.
77041
77042 2005-10-21  Simon Josefsson  <jas@extundo.com>
77043
77044         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77045
77046 2005-10-21  Simon Josefsson  <jas@extundo.com>
77047
77048         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77049
77050 2005-10-21  Simon Josefsson  <jas@extundo.com>
77051
77052         * lib/des.h, lib/des.c: New files.
77053
77054         * lib/gc-gnulib.c: Support DES.c
77055
77056 2005-10-21  Simon Josefsson  <jas@extundo.com>
77057
77058         * lib/arctwo.h, lib/arctwo.c: New files.
77059
77060         * lib/gc-gnulib.c: Support ARCTWO.
77061
77062 2005-10-21  Simon Josefsson  <jas@extundo.com>
77063
77064         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77065         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77066
77067 2005-10-21  Simon Josefsson  <jas@extundo.com>
77068
77069         * gnulib-tool (func_import, func_create_testdir): Define automake
77070         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77071         Makefile.am snippet),
77072         suggested by Bruno Haible <bruno@clisp.org>.
77073
77074         * modules/gc (Makefile.am): Use it.
77075
77076 2005-10-21  Bruno Haible  <bruno@clisp.org>
77077
77078         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77079         patch.
77080
77081 2005-10-19  Simon Josefsson  <jas@extundo.com>
77082
77083         * tests/test-gc-rijndael.c: New file.
77084
77085         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77086
77087 2005-10-19  Simon Josefsson  <jas@extundo.com>
77088
77089         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77090         interface too.
77091
77092 2005-10-19  Simon Josefsson  <jas@extundo.com>
77093
77094         * tests/test-gc-arcfour.c: New file.
77095
77096         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77097
77098 2005-10-19  Simon Josefsson  <jas@extundo.com>
77099
77100         * modules/gc-md4, modules/gc-md4-tests: New file.
77101
77102         * tests/test-gc-md4.c: New file.
77103
77104 2005-10-19  Simon Josefsson  <jas@extundo.com>
77105
77106         * m4/gc-md4.m4: New file.
77107
77108 2005-10-19  Simon Josefsson  <jas@extundo.com>
77109
77110         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77111         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77112         <kasal@ucw.cz>.
77113
77114 2005-10-19  Simon Josefsson  <jas@extundo.com>
77115
77116         * m4/gc-arcfour.m4: New file.
77117
77118         * m4/gc-rijndael.m4: New file.
77119
77120 2005-10-19  Simon Josefsson  <jas@extundo.com>
77121
77122         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77123
77124 2005-10-19  Simon Josefsson  <jas@extundo.com>
77125
77126         * lib/gc-gnulib.c: Support ARCFOUR.
77127
77128 2005-10-19  Simon Josefsson  <jas@extundo.com>
77129
77130         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77131         support.
77132
77133         * lib/gc.h: Add ECB enum type.
77134
77135         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77136
77137 2005-10-18  Simon Josefsson  <jas@extundo.com>
77138
77139         * tests/test-md5.c: New file.
77140
77141         * modules/md5-tests: New file.
77142
77143 2005-10-18  Simon Josefsson  <jas@extundo.com>
77144
77145         * tests/test-md4.c: New file.
77146
77147         * modules/md4, modules/md4-tests: New files.
77148
77149 2005-10-18  Simon Josefsson  <jas@extundo.com>
77150
77151         * m4/md4.m4: New file.
77152
77153 2005-10-18  Simon Josefsson  <jas@extundo.com>
77154
77155         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77156
77157 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77158
77159         * gnulib-tool (func_create_testdir): Omit the second check whether
77160         BUILT_SOURCES in nonempty.
77161
77162 2005-10-17  Simon Josefsson  <jas@extundo.com>
77163
77164         * tests/test-rijndael.c: New file.
77165
77166 2005-10-17  Simon Josefsson  <jas@extundo.com>
77167
77168         * modules/sha1: Depend on stdint instead of md5.
77169
77170         * modules/md5: Depend on stdint, remove uint32_t.
77171
77172 2005-10-17  Simon Josefsson  <jas@extundo.com>
77173
77174         * modules/gc-sha1-tests: New file.
77175
77176         * tests/test-gc-sha1.c: New file.
77177
77178 2005-10-17  Simon Josefsson  <jas@extundo.com>
77179
77180         * m4/md5.m4: Remove call to uint32_t.m4.
77181
77182 2005-10-17  Simon Josefsson  <jas@extundo.com>
77183
77184         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77185
77186         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77187         md5.h.
77188
77189         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77190
77191         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77192
77193 2005-10-17  Simon Josefsson  <jas@extundo.com>
77194
77195         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77196
77197 2005-10-17  Simon Josefsson  <jas@extundo.com>
77198
77199         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77200
77201 2005-10-17  Simon Josefsson  <jas@extundo.com>
77202
77203         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77204
77205         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77206
77207 2005-10-17  Bruno Haible  <bruno@clisp.org>
77208
77209         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77210         that it can also be used in a test.
77211
77212 2005-10-16  Bruno Haible  <bruno@clisp.org>
77213
77214         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77215         TESTS_ENVIRONMENT, so that individual tests can augment it.
77216
77217         * gnulib-tool (func_create_testdir): Use an intermediate target for
77218         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77219         macros, like $(ALLOCA_H), which cannot be passed through the command
77220         line.
77221
77222 2005-10-15  Simon Josefsson  <jas@extundo.com>
77223
77224         * modules/rijndael-tests: New file.
77225
77226         * modules/rijndael: New file.
77227
77228 2005-10-15  Simon Josefsson  <jas@extundo.com>
77229
77230         * m4/rijndael.m4: New file.
77231
77232 2005-10-15  Simon Josefsson  <jas@extundo.com>
77233
77234         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77235
77236         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77237
77238 2005-10-14  Simon Josefsson  <jas@extundo.com>
77239
77240         * tests/test-arcfour.c: New file.
77241
77242         * modules/arcfour, modules/arcfour-tests: New files.
77243
77244 2005-10-14  Simon Josefsson  <jas@extundo.com>
77245
77246         * m4/arcfour.m4: New file.
77247
77248 2005-10-14  Simon Josefsson  <jas@extundo.com>
77249
77250         * lib/arcfour.h, lib/arcfour.c: New files.
77251
77252 2005-10-14  Roland McGrath  <roland@redhat.com>
77253
77254         Import from libc.  [BZ #1331]
77255         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77256         macro argument.
77257         Reported by Matej Vela <vela@debian.org>.
77258
77259 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77260
77261         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77262         include <wchar.h>; no longer needed.
77263
77264 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77265
77266         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77267
77268 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77269         and  Ulrich Drepper  <drepper@redhat.com>
77270
77271         Import from libc.
77272         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77273         instead of inline stream orientation test and two separate
77274         function calls.  Pay no attention to USE_IN_LIBIO.
77275
77276 2005-10-13  Simon Josefsson  <jas@extundo.com>
77277
77278         * modules/gc-hmac-md5-tests: New file.
77279
77280         * tests/test-gc-hmac-sha1.c: New file.
77281
77282         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77283
77284         * modules/gc-hmac-md5-tests: New file.
77285
77286         * tests/test-gc-md5.c: New file.
77287
77288         * modules/gc-md5-tests: New file.
77289
77290 2005-10-13  Simon Josefsson  <jas@extundo.com>
77291
77292         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77293         Move memory allocation outside of loop.
77294
77295 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77296
77297         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77298         intermediate directory is in a read-only file system.  Problem
77299         reported by Eric Blake.
77300
77301 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77302
77303         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77304
77305 2005-10-12  Simon Josefsson  <jas@extundo.com>
77306
77307         * tests/test-hmac-sha1.c: New file.
77308
77309         * modules/hmac-sha1-tests: New file.
77310
77311         * modules/hmac-sha1: New file.
77312
77313 2005-10-12  Simon Josefsson  <jas@extundo.com>
77314
77315         * modules/gc-sha1: New file.
77316
77317 2005-10-12  Simon Josefsson  <jas@extundo.com>
77318
77319         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77320
77321         * tests/test-gc-pbkdf2-sha1.c: New file.
77322
77323 2005-10-12  Simon Josefsson  <jas@extundo.com>
77324
77325         * modules/gc-md5, modules/gc-hmac-md5: New files.
77326
77327         * modules/gc (Files): Remove md5, memxor and hmac files.
77328
77329 2005-10-12  Simon Josefsson  <jas@extundo.com>
77330
77331         * m4/gc-pbkdf2-sha1.m4: New file.
77332
77333         * m4/gc-hmac-sha1.m4: New file.
77334
77335         * m4/gc-sha1: New file.
77336
77337         * m4/hmac-sha1.m4: New file.
77338
77339 2005-10-12  Simon Josefsson  <jas@extundo.com>
77340
77341         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
77342
77343         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
77344
77345 2005-10-12  Simon Josefsson  <jas@extundo.com>
77346
77347         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
77348         suggested by Bruno Haible <bruno@clisp.org>.
77349
77350 2005-10-12  Simon Josefsson  <jas@extundo.com>
77351
77352         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
77353
77354 2005-10-12  Simon Josefsson  <jas@extundo.com>
77355
77356         * lib/gc-pbkdf2-sha1.c: New file.
77357
77358         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
77359
77360 2005-10-12  Simon Josefsson  <jas@extundo.com>
77361
77362         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
77363
77364         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
77365
77366 2005-10-12  Simon Josefsson  <jas@extundo.com>
77367
77368         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
77369         GC_USE_HMAC_MD5, respectively.
77370
77371         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
77372         (gc_md5): Fix typo.
77373
77374         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
77375
77376         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
77377
77378         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
77379
77380 2005-10-12  Bruno Haible  <bruno@clisp.org>
77381
77382         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
77383         Reported by Stepan Kasal <kasal@ucw.cz>.
77384
77385 2005-10-11  Simon Josefsson  <jas@extundo.com>
77386
77387         * tests/test-crc.c: New file.
77388
77389         * modules/crc, modules/crc-tests: New files.
77390
77391 2005-10-11  Simon Josefsson  <jas@extundo.com>
77392
77393         * m4/crc.m4: New file.
77394
77395 2005-10-11  Simon Josefsson  <jas@extundo.com>
77396
77397         * lib/gc.h: Add gc_hash and gc_hash_buffer.
77398
77399         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
77400
77401         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
77402
77403 2005-10-11  Simon Josefsson  <jas@extundo.com>
77404
77405         * lib/crc.h, lib/crc.c: New files.
77406
77407         * lib/gc.h (gc_hash_buffer): Add doc.
77408
77409 2005-10-11  Bruno Haible  <bruno@clisp.org>
77410
77411         * modules/c-strcasestr: New file.
77412         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
77413
77414 2005-10-11  Bruno Haible  <bruno@clisp.org>
77415
77416         * modules/c-strcase: New file.
77417         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
77418
77419 2005-10-11  Bruno Haible  <bruno@clisp.org>
77420
77421         * lib/strcasecmp.c: Include limits.h.
77422         (strcasecmp): Avoid integer overflow on exotic platforms.
77423         * lib/strncasecmp.c: Include limits.h.
77424         (strncasecmp): Avoid integer overflow on exotic platforms.
77425         Reported by Paul Eggert.
77426
77427 2005-10-11  Bruno Haible  <bruno@clisp.org>
77428
77429         * lib/c-strcasestr.h: New file, from GNU gettext.
77430         * lib/c-strcasestr.c: New file, from GNU gettext.
77431
77432 2005-10-11  Bruno Haible  <bruno@clisp.org>
77433
77434         * lib/c-strcase.h: New file, from GNU gettext.
77435         * lib/c-strcasecmp.c: New file, from GNU gettext.
77436         * lib/c-strncasecmp.c: New file, from GNU gettext.
77437
77438 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77439
77440         * modules/mempcpy (License): GPL -> LGPL.
77441         * modules/strchrnul (License): Likewise.
77442         * modules/sysexits (License): Likewise.
77443
77444 2005-10-08  Simon Josefsson  <jas@extundo.com>
77445
77446         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
77447
77448 2005-10-07  Simon Josefsson  <jas@extundo.com>
77449
77450         * m4/memxor.m4: Remove gl_C_RESTRICT call.
77451
77452 2005-10-06  Simon Josefsson  <jas@extundo.com>
77453
77454         * tests/test-hmac-md5.c: New file.
77455
77456         * modules/hmac-md5-tests: New file.
77457
77458         * modules/hmac-md5: New file.
77459
77460 2005-10-06  Simon Josefsson  <jas@extundo.com>
77461
77462         * m4/hmac-md5.m4: New file.
77463
77464         * m4/memxor.m4: Require gl_C_RESTRICT.
77465
77466 2005-10-06  Simon Josefsson  <jas@extundo.com>
77467
77468         * lib/memxor.c (memxor): Avoid casts and warnings.
77469
77470 2005-10-06  Simon Josefsson  <jas@extundo.com>
77471
77472         * lib/hmac-md5.c: New file.
77473
77474         * lib/hmac.h: New file.
77475
77476 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77477
77478         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
77479         promotes to int, not unsigned int, to catch the AIX 5.3
77480         compiler bug.
77481
77482 2005-10-05  Simon Josefsson  <jas@extundo.com>
77483
77484         * modules/memxor: New file.
77485
77486         * modules/iconv (Files): Move config.rpath to havelib, it is used
77487         there.
77488
77489         * modules/havelib (Files): Add config.rpath.
77490
77491 2005-10-05  Simon Josefsson  <jas@extundo.com>
77492
77493         * m4/memxor.m4: New file.
77494
77495 2005-10-05  Simon Josefsson  <jas@extundo.com>
77496
77497         * lib/memxor.c (memxor): Fix compiler error.
77498
77499         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
77500         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
77501
77502         * lib/memxor.h, lib/memxor.c: New files.
77503
77504         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
77505         we assume all systems have it, suggested by Jim Meyering
77506         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
77507         any systems lack sys/socket.h; mingw32 is known to lack it, but we
77508         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
77509         same reasons.
77510
77511 2005-10-05  Simon Josefsson  <jas@extundo.com>
77512
77513         * config/srclist.txt: Add glibc bug 1423 for md5.h.
77514
77515 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77516
77517         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
77518         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
77519         needed, since the source code now assumes these .h files.
77520
77521 2005-10-05  Derek Price  <derek@ximbiot.com>
77522
77523         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
77524
77525 2005-10-05  Bruno Haible  <bruno@clisp.org>
77526
77527         * modules/stdint (License): Change to LGPL.
77528
77529 2005-10-04  Simon Josefsson  <jas@extundo.com>
77530
77531         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
77532         D. Baushke" <mdb@gnu.org>.
77533
77534 2005-10-04  Bruno Haible  <bruno@clisp.org>
77535
77536         * lib/verify.h (verify_true): Provide alternative definition for C++.
77537
77538 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
77539
77540         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
77541         (SSIZE_MAX): New macro, if not already defined.
77542         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
77543         than 2 GiB.
77544
77545 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77546
77547         Sync from coreutils.
77548         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
77549         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
77550         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
77551         ULLONG_MAX doesn't work with 2.7.2.1.
77552
77553 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77554
77555         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
77556         From Ben Pfaff.
77557
77558         * modules/exclude (Depends-on): Depend on verify.
77559         * modules/strtoimax (Depends-on): Likewise.
77560         * modules/utimecmp (Depends-on): Likewise.
77561
77562 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
77563
77564         * lib/exclude.c: Include verify.h.
77565         (verify): Remove.  All callers changed to use verify.h's version.
77566         * lib/strtoimax.c: Likewise.
77567         * lib/utimecmp.c: Likewis.e
77568
77569         Sync from coreutils.
77570         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
77571         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
77572         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
77573         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
77574         bother returning ENOSYS if settimeofday or stime fails; just let
77575         them return whatever errno they want to return.
77576         * lib/utimens.c: Include unistd.h, for dup2.
77577         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
77578         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
77579
77580 2005-10-02  Jim Meyering  <jim@meyering.net>
77581
77582         Sync from coreutils.
77583         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
77584         from glibc-2.2.5 that fails for read-only files.
77585
77586 2005-10-02  Jim Meyering  <jim@meyering.net>
77587
77588         Sync from coreutils.
77589         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
77590         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
77591         `#if HAVE_CONFIG_H'.
77592         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
77593         Remove AT_FDCWD test.
77594         Do not consume the fd unless successful.
77595         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
77596         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
77597         block, so that we don't even try to compile it if settimeofday is
77598         available.  This works around a compilation failure on OSF1 V5.1,
77599         due to stime requiring a `long int*' while tv_sec is `int'.
77600
77601 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
77602
77603         Sync from coreutils.
77604         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
77605         against `yes', rather than just testing for nonempty.
77606
77607 2005-10-01  Simon Josefsson  <jas@extundo.com>
77608
77609         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
77610         and Darwin.
77611
77612         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
77613         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
77614         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
77615         freeaddrinfo and gai_strerror are declared by the POSIX headers.
77616         Check if struct addrinfo is declared.
77617
77618 2005-10-01  Simon Josefsson  <jas@extundo.com>
77619
77620         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
77621         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
77622         AI_* and EAI_* definitions.  Protect function declarations.
77623
77624 2005-10-01  Jim Meyering  <jim@meyering.net>
77625
77626         Sync from coreutils.
77627
77628         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
77629         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
77630         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
77631         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77632         in the inet and nsl libraries.  Required on Solaris 5.7.
77633
77634 2005-10-01  Jim Meyering  <jim@meyering.net>
77635
77636         Sync from coreutils.
77637         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
77638         in the inet and nsl libraries.  Required on Solaris 5.7.
77639
77640 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
77641
77642         * lib/getdelim.c (getdelim): Remove unused variables.
77643
77644 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77645
77646         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
77647         so that the code works even with ancient cpp.  Portability problem
77648         with GCC 2.7.2.1 reported by Thomas M.Ott.
77649
77650 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77651
77652         * modules/regex (Depends-on): Add strcase.
77653
77654         * modules/gethostname (Licence): Change from GPL to LGPL, since
77655         gethostname.c is a trivial implementation of a standard library
77656         function.
77657         * modules/poll (License): Change from GPL to LGPL, since it's
77658         derived from LGPL code.
77659
77660 2005-09-27  Jim Meyering  <jim@meyering.net>
77661
77662         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
77663         HAVE_CONFIG_H.
77664
77665         * lib/intprops.h (signed_type_or_expr__): Define.
77666         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
77667         for unsigned types.
77668
77669 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77670
77671         * lib/verify.h (verify_expr): Remove, replacing with:
77672         (verify_true): New macro that returns true instead of void.
77673         (verify_type__): Remove.
77674         (verify): Use verify_true rather than verify_type__.
77675
77676 2005-09-26  Bruno Haible  <bruno@clisp.org>
77677
77678         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
77679         is necessary.
77680         (lib_SOURCES): Remove mbchar.c.
77681         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
77682         (Files): Add m4/mbrtowc.m4.
77683         * modules/mbiter: Likewise.
77684         * modules/mbuiter: Likewise.
77685
77686 2005-09-26  Bruno Haible  <bruno@clisp.org>
77687
77688         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
77689         compile mbchar.c if they are not both present.
77690         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
77691         * m4/mbiter.m4 (gl_MBITER): Likewise.
77692         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
77693         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
77694         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
77695
77696 2005-09-25  Jim Meyering  <jim@meyering.net>
77697
77698         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
77699         also uses socklen_t.
77700
77701 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
77702
77703         * lib/utimens.c (ENOSYS): Define if not already defined.
77704         (futimens): Support having a null PATH if the file descriptor
77705         is nonnegative.
77706
77707         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
77708         Remove.
77709         (__attribute): Define to empty unless GCC 3.1 or later.
77710         This works around a core dump on OpenBSD 3.4, which has GCC
77711         2.95.3, which dumps core when given __attribute__(()).  It also
77712         simplifies other tests, since we really don't want to bother with
77713         worrying about which ancient version of GCC supported what.
77714         Original problem reported by Yoann Vandoorselaere, with part of
77715         the fix suggested by Derek Price.
77716
77717 2005-09-24  Jim Meyering  <jim@meyering.net>
77718
77719         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
77720         so we can once again use a positive bitfield width of 1 -- now we
77721         don't have to explain why we were using a bitfield width of 2.
77722
77723 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77724
77725         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
77726         and similarly for the other external symbols.  Problem reported
77727         by James Gallager.
77728
77729         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
77730         bug reported by Jim Meyering.
77731
77732         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
77733         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
77734         not needed, since socklen is a prerequisite module.
77735
77736 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
77737
77738         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
77739         Problem reported by Eric Blake.
77740         (getaddrinfo): Initialize se so that it's not garbage.
77741         Redo internal storage allocation so that it doesn't make unportable
77742         assumptions about alignment.
77743         Fix a memory leak.
77744
77745         * lib/utimens.c (futimens): Use futimesat if available.
77746         Prefer it to futimes since it doesn't have the futimes bug.
77747
77748         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
77749         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
77750         Instead, declare a function that returns a pointer to an array,
77751         and use verify_type__ to declare the size of the array.
77752         Problem and germ of a solution reported by Bruno Haible.
77753         (verify_type__): Use 2, not 1, for bitfield size, to avoid
77754         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
77755
77756 2005-09-23  Jim Meyering  <jim@meyering.net>
77757
77758         Sync from coreutils.
77759         Correct build failure (socklen_t not defined) on at least
77760         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
77761         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
77762
77763 2005-09-23  Jim Meyering  <jim@meyering.net>
77764
77765         * modules/getaddrinfo (Depends-on): Add socklen.
77766
77767 2005-09-23  Bruno Haible  <bruno@clisp.org>
77768
77769         * tests/test-verify.c: New file.
77770
77771 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77772
77773         Sync from coreutils.
77774
77775         * modules/argmatch (Depends-on): Add verify.
77776         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
77777         unistd-safer.
77778         * modules/save-cwd (Depends-on): Likewise.
77779
77780         * modules/openat (Files): Add lib/openat-die.c.
77781         (Depends-on): Remove error, exitfail.
77782         Add dirname.
77783
77784         * modules/verify: New file.
77785         * MODULES.html.sh (Diagnostics <assert.h>): New section,
77786         with "verify" module.
77787
77788 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77789
77790         Sync from coreutils.
77791
77792         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
77793         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
77794         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
77795         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
77796         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
77797         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
77798         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
77799         Don't bother checking for string.h, stdlib.h, unistd.h.
77800         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
77801         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
77802         module's job.
77803         * m4/jm-macros.m4 (gl_MACROS): Likewise.
77804         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
77805
77806         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
77807         (gl_GETDATE): Use it.
77808
77809         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
77810
77811 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77812
77813         Sync from coreutils.
77814
77815         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
77816         stat-time.h.
77817         * lib/argmatch.h: Include verify.h
77818         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
77819         (ARGMATCH_ASSERT): Remove; unused.
77820         * lib/canonicalize.c: Assume STDC_HEADERS.
77821         * lib/exclude.c: Include "strcase.h".
77822         * lib/regex_internal.h [!defined _LIBC]: Likewise.
77823         * lib/getusershell.c: Include stdio--.h rather than stdio.h
77824         and stdio-safer.h.
77825         (getusershell): Call fopen, not fopen_safer.
77826         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
77827         Do not include unistd-safer.h.
77828         (save_cwd): Don't call fd_safer; no longer needed
77829         now that we include fcntl--.h.
77830
77831         * lib/getdate.y (relative_time): New type.
77832         (RELATIVE_TIME_0): New constant.
77833         (parser_control): Use relative_time instead of doing it ourselves.
77834         (%union): Add new relative_time rel member.
77835         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
77836         Now typeless.
77837         (relunit, relunit_snumber): Now of type rel.
77838         (zone, rel, relunit, get_date): Adjust to above changes.
77839
77840         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
77841         Do not include unistd-safer.h.
77842         (getloadavg): Don't call fd_safer; no longer needed
77843         now that we include fcntl--.h.
77844
77845         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
77846         (make_dir_parents): Treat ENOSYS like EEXIST.
77847
77848         Improve quality of diagnostics on restore_cwd failure.
77849         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
77850         (make_dir_parents): Last arg is now int * (for errno), not bool *.
77851         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
77852         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
77853         each time through the loop.  Do not diagnose restore_cwd failure;
77854         that is the caller's job (and perhaps the caller does not care).
77855
77856         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
77857         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
77858         If the file already exists but is not a directory, don't bother
77859         to try to make its parents.
77860         Close potential file descriptor leak if we can't chdir("/") (!).
77861         Don't always return true if chdir($PWD) fails; return true only
77862         if the requested action was done successfully (except for the
77863         chdir($PWD)).
77864         Don't log final directory unless we actually made it.
77865         Refactor to avoid duplicate code to fix up permissions.
77866         Don't attempt to fix up parent permissions if chdir($PWD) fails.
77867
77868         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
77869         to make it a bit faster and (I hope) clearer.
77870         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
77871         Fix bug in formats like %2N.
77872
77873         * lib/verify.h: New file.
77874
77875 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
77876
77877         Sync from coreutils.
77878         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
77879
77880 2005-09-22  Jim Meyering  <jim@meyering.net>
77881
77882         Sync from coreutils.
77883
77884         * m4/lstat.m4 (gl_FUNC_LSTAT):
77885         Use AC_LIBSOURCES to require lstat.c and lstat.h.
77886         Remove obsolete comment.
77887         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
77888         * m4/xstrtod.m4: Likewise.
77889
77890         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
77891
77892 2005-09-22  Jim Meyering  <jim@meyering.net>
77893
77894         Sync from coreutils.
77895
77896         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
77897
77898         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
77899         the .tm_year member, since otherwise gcc-4.0 would now warn about
77900         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
77901
77902         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
77903         order to avoid an unsuppressible warning from gcc on 64-bit systems.
77904
77905         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
77906         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
77907         when run in a time zone for which daylight savings time is in effect
77908         for the starting date.
77909
77910         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
77911         stop us from restricting permissions of just-created absolute-named
77912         directories.
77913         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
77914         to restore initial working directory.
77915         * lib/mkdir-p.c (make_dir_parents): New parameter:
77916         different_working_dir, to tell caller if/when we change the working
77917         directory and are unable to return to the initial one.
77918         * lib/mkdir-p.h (make_dir_parents): Update prototype.
77919         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
77920         `return false'.  This fixes a bug introduced on 2004-07-30.
77921
77922         * lib/openat.c (fdopendir): Be sure to close the supplied
77923         file descriptor before returning.  This makes our replacement
77924         implementation a little closer to Solaris's, where fdopendir
77925         ties the file descriptor to the returned DIR* pointer.
77926         * lib/openat.c (unlinkat): New function.
77927         * lib/openat.h (unlinkat): Add prototype.
77928         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
77929         (openat_restore_fail): Rename from openat_restore_die.
77930         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
77931
77932         Provide an alternative to exiting immediately upon save_cwd or
77933         restore_cwd failure.  Now, an application can arrange e.g.,
77934         to perform a longjump in that case.
77935         * lib/openat.c: Include dirname.h.
77936         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
77937         (rpl_openat, fdopendir, fstatat): Call openat_save_die
77938         and openat_restore_die rather than calling error directly.
77939         Don't include "error.h" or "exitfail.h"; they're no longer needed.
77940
77941         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
77942         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
77943         define.
77944
77945         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
77946         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
77947                             int utc, int nanoseconds);
77948         Background:
77949         date should not have to allocate a megabyte of virtual memory to
77950         handle a format argument like +%1048575T.  When implemented with
77951         strftime, it must allocate such a buffer, use strftime to fill it
77952         in, print it, then free it.
77953         With fprintftime, it simply prints everything and exits.
77954         With no need for memory allocation, that's one fewer way to fail.
77955         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
77956         optional field width, not before, so we accept %9:z, not %:9z.
77957         (my_strftime): Be sure to use L_('x') for literals.
77958
77959         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
77960         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
77961         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
77962         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
77963         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
77964         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77965         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77966         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77967         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77968         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77969         * lib/xgethostname.c, lib/xreadlink.c:
77970         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77971
77972         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77973         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77974         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77975         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77976         and don't include <sys/file.h>).
77977
77978 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77979
77980         Sync from coreutils.
77981
77982         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77983         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77984         [!LDAV_DONE]: Avoid unused variable warning.
77985
77986 2005-09-21  Bruno Haible  <bruno@clisp.org>
77987
77988         * lib/unicodeio.h (unicode_to_mb): New declaration.
77989
77990 2005-09-20  Derek Price  <derek@ximbiot.com>
77991
77992         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77993         getaddrinfo.h.
77994
77995 2005-09-20  Bruno Haible  <bruno@clisp.org>
77996
77997         * gnulib-tool: Remove trailing slashes from the values specified for
77998         --source-base, --m4-base, --tests-base, --aux-dir.
77999         Suggested by Simon Josefsson <jas@extundo.com>.
78000
78001 2005-09-20  Bruno Haible  <bruno@clisp.org>
78002
78003         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78004         func_modules_to_filelist, func_import, func_create_testdir): Make all
78005         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78006         change when gnulib-tool is invoked in a different locale.
78007
78008 2005-09-19  Simon Josefsson  <jas@extundo.com>
78009
78010         * m4/socklen.m4: Fix typo.
78011
78012 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78013
78014         Use a consistent style for including <config.h>.
78015         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78016         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78017         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78018         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78019         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78020         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78021         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78022         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78023         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78024         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78025         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78026         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78027         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78028         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78029         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78030         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78031         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78032         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78033         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78034         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78035         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78036         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78037         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78038         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78039         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78040         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78041         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78042         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78043         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78044         lib/xstrtoumax.c, lib/yesno.c:
78045         Standardize inclusion of config.h.
78046         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78047         lib/inttostr.h:  Removed inclusion of config.h from header files.
78048         * lib/inttostr.c:  Adjusted in-tree users.
78049         * lib/timespec.h: Remove superfluous warning to include config.h.
78050         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78051         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78052         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78053         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78054         config.h with HAVE_CONFIG_H.
78055
78056 2005-09-19  Jim Meyering  <jim@meyering.net>
78057
78058         * modules/pathmax (License): Change to LGPL.
78059
78060 2005-09-19  Derek Price  <derek@ximbiot.com>
78061
78062         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78063
78064 2005-09-19  Bruno Haible  <bruno@clisp.org>
78065
78066         * gnulib-tool (import): Provide default for --tests-base.
78067
78068 2005-09-19  Bruno Haible  <bruno@clisp.org>
78069
78070         * doc/quote.texi: New file, extracted from gnulib.texi.
78071         * doc/ctime.texi: New file, extracted from gnulib.texi.
78072         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78073         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78074         * doc/gnulib.texi: Include them.
78075
78076 2005-09-18  Bruno Haible  <bruno@clisp.org>
78077
78078         Portability fix.
78079         * gnulib-tool (func_readlink): New function.
78080         (func_ln_if_changed): Use it.
78081
78082 2005-09-18  Bruno Haible  <bruno@clisp.org>
78083
78084         * gnulib-tool: Support --with-tests also with --import.
78085         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78086         (func_import): Use variables $testsbase and $inctests. Emit a
78087         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78088         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78089         SUBDIRS += $testsdir.
78090         (func_create_testdir): Update.
78091
78092 2005-09-18  Bruno Haible  <bruno@clisp.org>
78093
78094         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78095         instead of $dry_run.
78096         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78097         (func_ln_if_changed): Don't handle dry-run here.
78098         (func_import): In dry-run mode, detect more precisely which actions
78099         would be performed, and don't use "...ing" verbs.
78100
78101 2005-09-18  Bruno Haible  <bruno@clisp.org>
78102
78103         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78104         (func_import): Use join on two temporary files instead of three nested
78105         loops, in order to determine which files are new or old.
78106
78107 2005-09-18  Bruno Haible  <bruno@clisp.org>
78108
78109         * gnulib-tool (func_import): Comment out code that spits out the
78110         new files with --dry-run.
78111
78112 2005-09-18  Bruno Haible  <bruno@clisp.org>
78113
78114         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78115
78116 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78117
78118         * lib/stat-time.h: New file.
78119         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78120         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78121         in a different way.
78122         (timespec_cmp): New function.
78123         * lib/utimecmp.c: Include stat-time.h.
78124         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78125         members exist, not on the obsolescent ST_MTIM_NSEC.
78126         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78127
78128 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78129
78130         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78131
78132 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78133
78134         * MODULES.html.sh (File system functions): Add stat-time.
78135         * modules/stat-time: New file.
78136         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78137         is now done in a different way, by the stat-time module.
78138         * modules/utimecmp (Depends-on): Add stat-time.
78139
78140 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78141
78142         * m4/st_mtim.m4: Remove.  Superseded by...
78143         * m4/stat-time.m4: New file.
78144         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78145         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78146
78147 2005-09-15  Derek Price  <derek@ximbiot.com>
78148
78149         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78150
78151 2005-09-15  Derek Price  <derek@ximbiot.com>
78152
78153         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78154         * lib/regex_internal.c: Ditto, using this...
78155         (__GNUC_PREREQ): ...new macro.
78156         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78157         using...
78158         (__GNUC_PREREQ): ...this new macro.
78159
78160         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78161
78162 2005-09-15  Derek Price  <derek@ximbiot.com>
78163             Paul Eggert  <eggert@cs.ucla.edu>
78164
78165         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78166         changes, consolidating in...
78167         * lib/regex_internal.h: ...this file.
78168
78169 2005-09-13  Jim Meyering  <jim@meyering.net>
78170
78171         * lib/canon-host.c: Filter through gnu indent and reword comments
78172         slightly.
78173         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78174
78175 2005-09-13  Derek Price  <derek@ximbiot.com>
78176
78177         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78178         failure.
78179         Reported by Jim Meyering  <jim@meyering.net>.
78180
78181 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78182
78183         * lib/base64.c: Typo.
78184         (base64_encode): Put b64str in initialized data section.
78185
78186 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78187
78188         Merge glibc and coreutils changes into gnulib, plus a few
78189         extra fixes.
78190         * lib/md5.c: Use #error rather than a string.
78191         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78192         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78193         (__attribute__): Define to empty for non recent-GCC.
78194         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78195         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78196         Renamed from their non-__ counterparts, with new macros replacing
78197         them if not _LIBC.  Add __THROW attribute.
78198         (rol): Remove.
78199         (struct md5_ctx): Align buffer if using GCC.
78200         * lib/sha1.h (struct sha1_ctx): Likewise.
78201         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78202         The old name was backwards.
78203         (NOTSWAP): Remove; not used.
78204         (rol): New macro, moved here from md5.h.
78205         (sha1_process_block): Remove a FIXME that doesn't make sense.
78206
78207 2005-09-12  Derek Price  <derek@ximbiot.com>
78208
78209         Return usable errors from canon-host.
78210         * lib/canon-host.h: New file.
78211         * lib/canon-host.c (canon_host): Wrap...
78212         (canon_host_r): ...this new function, which now relies exclusively on
78213         getaddrinfo.
78214         (ch_strerror): New function.
78215         (last_cherror): New global.
78216         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78217         interface.
78218         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78219         void *.
78220         (freeaddrinfo): Free ai->ai_canonname when set.
78221
78222 2005-09-12  Derek Price  <derek@ximbiot.com>
78223
78224         Make canon-host require getaddrinfo.
78225         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78226         AC_LIBSOURCE canon-host.h.  Call...
78227         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78228         gl_GETADDRINFO.
78229         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78230
78231 2005-09-12  Derek Price  <derek@ximbiot.com>
78232
78233         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78234         LGPL.
78235         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78236
78237 2005-09-12  Derek Price  <derek@ximbiot.com>
78238
78239         * lib/gai_strerror.c: Include config.h when available.  Include
78240         getaddrinfo.h before other headers to test interface.
78241         Reported by Larry Jones <lawrence.jones@ugs.com>.
78242
78243 2005-09-12  Derek Price  <derek@ximbiot.com>
78244             Paul Eggert  <eggert@cs.ucla.edu>
78245
78246         * modules/glob (Files): Add glob-libc.h.
78247
78248 2005-09-12  Derek Price  <derek@ximbiot.com>
78249             Paul Eggert  <eggert@cs.ucla.edu>
78250
78251         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78252         glob_.h, glob-libc.h.
78253         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78254
78255 2005-09-12  Derek Price  <derek@ximbiot.com>
78256             Paul Eggert  <eggert@cs.ucla.edu>
78257
78258         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78259         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78260         protecting things that should be done only in gnulib contexts.
78261         * lib/glob_.h: New file, containing only the glob things needed for
78262         gnulib.
78263         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78264         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78265         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78266         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78267         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78268         and to respect the namespace rules better.
78269
78270 2005-09-08  Simon Josefsson  <jas@extundo.com>
78271
78272         * modules/socklen: New file.
78273
78274 2005-09-08  Simon Josefsson  <jas@extundo.com>
78275
78276         * m4/socklen.m4: New file.
78277
78278 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78279
78280         * modules/utimens (Files): Add m4/utimbuf.m4, since
78281         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78282         Reported by Sergey Poznyakoff.
78283
78284 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78285
78286         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78287         definitions, since that's the preferred style in glibc.
78288         Fix a minor spacing issue, and update copyright notice to match
78289         glibc's.
78290
78291 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78294
78295 2005-09-06  Simon Josefsson  <jas@extundo.com>
78296
78297         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78298         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78299
78300 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78303         warning.
78304
78305 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78306
78307         * config/srclist.txt: Add glibc bug 1302.
78308
78309 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         Change bitset word type from unsigned int to unsigned long int,
78312         as this has better performance on typical 64-bit hosts.
78313         Port bitset code to hosts with unusual word sizes.
78314         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78315         (build_collating_symbol):
78316         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78317         argument is a bitset.  This is merely a style issue, but it makes
78318         it clearer that an entire array is expected.
78319         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78320         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78321         Port to the case where bitset_word is not the same as unsigned int.
78322         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78323         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78324         Likewise.
78325         * lib/regexec.c (check_dst_limits_calc_pos_1,
78326         check_subexp_matching_top):
78327         (build_trtable, group_nodes_into_DFAstates):
78328         Likewise.
78329         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78330         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
78331         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
78332         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
78333         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
78334         * lib/regcomp.c (optimize_subexps, lower_subexp):
78335         Work even if bitset_word has holes in its bitwise representation.
78336         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
78337         * lib/regexec.c (check_dst_limits_calc_pos_1,
78338         check_subexp_matching_top):
78339         Likewise.
78340         * lib/regex_internal.c (re_string_reconstruct):
78341         Don't assume UCHAR_MAX == 255.
78342         * lib/regex_internal.h (bitset_set_all): Likewise.
78343         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
78344         All uses changed.
78345         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
78346         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
78347         All uses changed.
78348         (BITSET_WORD_MAX): New macro.
78349         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
78350         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
78351         (bitset_empty, bitset_copy):
78352         Prefer sizeof (bitset) to multiplying it out ourselves.
78353         (bitset_not_merge): Remove; unused.
78354         (bitset_contain): Return bool, not unsigned int with one bit on.
78355         All callers changed.
78356         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
78357         alignment than re_node_set; do this by defining a new internal
78358         type struct dests_alloc and using it to allocate memory.
78359
78360 2005-09-05  Bruno Haible  <bruno@clisp.org>
78361
78362         * gnulib-tool (func_import): Fix comparison in handling of symbolic
78363         links.
78364
78365 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
78366
78367         * modules/size_max (Makefile.am): Add size_max.h
78368
78369 2005-09-04  Derek Price  <derek@ximbiot.com>
78370
78371         * gnulib-tool (func_import): Fix reversed $symbolic logic.
78372
78373 2005-09-03  Simon Josefsson  <jas@extundo.com>
78374
78375         * gnulib-tool: Fix typo.
78376
78377 2005-09-03  Simon Josefsson  <jas@extundo.com>
78378
78379         * config/srclist.txt: Add glibc bug 1293.
78380
78381 2005-09-03  Derek Price  <derek@ximbiot.com>
78382
78383         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
78384         From Larry Jones <lawrence.jones@ugs.com>.
78385
78386 2005-09-02  Simon Josefsson  <jas@extundo.com>
78387
78388         * modules/socklen: New file.
78389
78390 2005-09-02  Simon Josefsson  <jas@extundo.com>
78391
78392         * modules/havelib: New module.
78393
78394         * modules/gettext, modules/iconv, modules/lock, modules/readline:
78395         Use havelib.
78396
78397 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78398
78399         Check for arithmetic overflow when calculating sizes, to prevent
78400         some buffer-overflow issues.  These patches are conservative, in the
78401         sense that when I couldn't determine whether an overflow was possible,
78402         I inserted a run-time check.
78403         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
78404         macros.
78405         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
78406         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
78407         (re_xnrealloc, re_x2nrealloc): New inline functions.
78408         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
78409         parse_bracket_exp):
78410         (build_equiv_class, build_charclass): Check for arithmetic overflow
78411         in size expression calculations.
78412         * lib/regex_internal.c (re_string_realloc_buffers):
78413         (build_wcs_upper_buffer, re_node_set_add_intersect):
78414         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
78415         (re_dfa_add_node, register_state): Likewise.
78416         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
78417         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
78418         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
78419         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
78420
78421 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
78422
78423         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
78424         m4/ulonglong.m4.  Problem reported by Martin Lambers.
78425
78426 2005-09-02  Bruno Haible  <bruno@clisp.org>
78427
78428         Support for lib vs. lib64 distinction on biarch platforms.
78429         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
78430         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
78431         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
78432
78433 2005-09-02  Bruno Haible  <bruno@clisp.org>
78434
78435         * gnulib-tool (import): In the other first-use case, provide defaults
78436         as well.
78437
78438 2005-09-02  Bruno Haible  <bruno@clisp.org>
78439
78440         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
78441         patches not yet found in the latest gettext release.
78442
78443 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78444
78445         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
78446         to avoid a collision with bits/local_lim.h in glibc.
78447         All uses changed.  Problem reported by Dmitry V. Levin in
78448         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
78449
78450         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
78451         bugs in int versus size_t comparisons.
78452         (re_string_context_at): Fix bug where the code assumed that
78453         Idx is signed.
78454
78455         Use bool where appropriate.
78456         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
78457         All callers changed.
78458         (calc_eclosure_iter): Likewise, for ROOT arg.
78459         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
78460         (build_charclass_op): Likewise, for NON_MATCH arg.
78461         * lib/regex_internal.c (re_string_allocate, re_string_construct):
78462         (re_string_construct_common): Likewise, for ICASE arg.
78463         * lib/regexec.c (re_search_2_stub, re_search_stub):
78464         Likewise, for RET_LEN arg.
78465         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
78466         (set_regs): Likewise, for FL_BACKTRACK arg.
78467         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
78468         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
78469         (calc_eclosure_iter, parse_bracket_exp):
78470         Use bool for internal variables that are booleans.
78471         * lib/regexec.c (re_search_internal, check_matching,
78472         proceed_next_node):
78473         (set_regs, build_sifted_states, sift_states_bkref):
78474         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
78475         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78476         (find_collation_sequence_value):
78477         Likewise.
78478         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
78479         (re_node_set_compare):
78480         Return bool, not int. All callers changed.
78481         * lib/regexec.c (check_halt_node_context, check_dst_limits):
78482         (build_trtable, check_node_accept): Likewise.
78483         * lib/regex_internal.h: Include stdbool.h.
78484
78485         Fix bugs uncovered when converting to bool.
78486         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
78487         failure instead of charging ahead blindly.
78488         * lib/regex_internal.c (register_state): Likewise.
78489         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
78490         for freeing internal storage.
78491         (group_nodes_into_DFA_states): Use unsigned int, not int, for
78492         bitset pieces used as boolean, to avoid undefined behavior
78493         on hosts that do int overflow checking.
78494
78495 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * config/srclist.txt: Add glibc bugs 1285-1287.
78498
78499 2005-09-01  Jim Meyering  <jim@meyering.net>
78500
78501         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
78502         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
78503         Require gl_STAT_MACROS, too.
78504
78505 2005-09-01  Bruno Haible  <bruno@clisp.org>
78506
78507         * gnulib-tool (import): In the first-use case, provide defaults.
78508
78509 2005-09-01  Bruno Haible  <bruno@clisp.org>
78510
78511         * gnulib-tool (func_import): Remove the .tmp files.
78512
78513 2005-09-01  Bruno Haible  <bruno@clisp.org>
78514
78515         * gnulib-tool (func_import): Fix handling of symbolic links.
78516
78517 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
78520         old glibc regex code mishandles strings longer than 2**31 bytes.
78521         This patch fixes this when the regex code is used in gnulib
78522         (i.e., outside glibc).
78523
78524         This patch should not affect the use of the regex code inside
78525         glibc.  No doubt this problem also needs to be handled for glibc
78526         as well, but the result will be an incompatible change to the
78527         glibc ABI, and the old ABI will have to be supported too.  That
78528         can be the the subject for another patch.
78529
78530         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
78531         governing whether the rest of this patch is active.  By default,
78532         the macro is disabled and the patch has no effect.
78533         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
78534         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
78535         (struct re_pattern_buffer, re_search, re_search_2, re_match):
78536         (re_match_2, re_set_registers): Use the new types.
78537         * lib/regex_internal.h (Idx, re_hashval_t): New types.
78538         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
78539         New macros.
78540         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
78541         (re_string_context_at, bin_tree_t, re_dfastate_t):
78542         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
78543         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
78544         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
78545         (re_string_char_size_at, re_string_wchar_at):
78546         (re_string_elem_size_at):
78547         Use the new types and macros to port to 64-bit hosts.
78548         Use unsigned types for internal values, so that the code
78549         mostly works even for arrays larger than SSIZE_MAX.
78550         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
78551         (search_duplicated_node, calc_eclosure_iter, fetch_number):
78552         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
78553         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
78554         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
78555         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
78556         (calc_inveclosure, parse_dup_op, build_range_exp):
78557         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
78558         (fetch_number, create_token_tree, mark_opt_subexp):
78559         Likewise.
78560         * lib/regex_internal.c (re_string_construct_common,
78561         create_ci_newstate):
78562         (create_cd_newstate, re_string_allocate, re_string_construct):
78563         (re_string_realloc_buffers, build_wcs_upper_buffer):
78564         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78565         (re_string_reconstruct, re_string_peek_byte_case):
78566         (re_string_fetch_byte_case, re_string_context_at):
78567         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78568         (re_node_set_init_copy, re_node_set_add_intersect):
78569         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78570         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78571         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78572         (re_acquire_state, re_acquire_state_context, register_state):
78573         Likewise.
78574         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
78575         search_cur_bkref_entry):
78576         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
78577         (re_search_internal, re_search_2_stub, re_search_stub)
78578         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
78579         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
78580         (update_cur_sifted_state, check_dst_limits):
78581         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78582         (check_subexp_limits, sift_states_bkref, merge_state_array):
78583         (check_subexp_matching_top, get_subexp, get_subexp_sub):
78584         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
78585         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78586         (expand_bkref_cache, check_node_accept_bytes):
78587         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
78588         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
78589         (acquire_init_state_context, check_halt_node_context):
78590         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
78591         (sift_states_backward, clean_state_log_if_needed):
78592         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
78593         (find_recover_state, transit_state_sb, transit_state_mb):
78594         (transit_state_bkref, build_trtable, match_ctx_clean):
78595         Likewise.
78596         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
78597         to work around an assumption that REG_MISSING is negative.
78598
78599         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
78600         (seek_collating_symbol_entry) [defined _LIBC]:
78601         (lookup_collation_sequence_value) [defined _LIBC]:
78602         (build_range_exp, build_collating_symbol) [defined _LIBC]:
78603         Use prototypes rather than old-style function definitions.
78604         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
78605         (transit_state_sb) [0]:
78606         (find_collation_sequence_value) [defined _LIBC]: Likewise.
78607
78608         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
78609         rm_eo.
78610
78611         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
78612         (optimize_subexps, lower_subexp):
78613         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
78614         since the signed shift might overflow.  Use 1u<<31 instead.
78615         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78616         Likewise.
78617         * lib/regexec.c (check_dst_limits_calc_pos_1,
78618         check_subexp_matching_top): Likewise.
78619
78620         * lib/regcomp.c (optimize_subexps, lower_subexp):
78621         Use CHAR_BIT rather than 8, for clarity.
78622         * lib/regexec.c (check_dst_limits_calc_pos_1):
78623         (check_subexp_matching_top): Likewise.
78624         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
78625         have to worry about portability issues when shifting it left.
78626         Remove no-longer-needed test for table_size > 0.
78627         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
78628         in a word, as the resulting behavior is undefined.
78629         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
78630         in one case, a <= should have been an <, and in another case the
78631         whole test was missing.
78632         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
78633         the standard name CHAR_BIT.
78634         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
78635         this is not true on one's complement and signed-magnitude hosts.
78636
78637         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
78638         next_last_offset.
78639         (struct re_dfa_t): Remove unused member states_alloc.
78640         * lib/regcomp.c (init_dfa): Don't initialize unused members.
78641
78642 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78643
78644         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
78645         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
78646         and large-file glibc and in 32-bit large-file Solaris.
78647
78648 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78649
78650         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
78651         lengths fit in regoff_t; this isn't true if regoff_t is the same
78652         width as size_t.
78653         * lib/regex.c (re_search_internal): 5th arg is LAST_START
78654         (= START + RANGE) instead of RANGE.  This avoids overflow
78655         problems when regoff_t is the same width as size_t.
78656         All callers changed.
78657         (re_search_2_stub): Check for overflow when adding the
78658         sizes of the two strings.
78659         (re_search_stub): Check for overflow when adding START
78660         to RANGE; if it occurs, substitute the extreme value.
78661
78662 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78663
78664         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
78665
78666 2005-08-31  Jim Meyering  <jim@meyering.net>
78667
78668         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
78669         a pointer-to-const.
78670         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
78671         (register_state): Likewise.
78672         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
78673         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
78674         (group_nodes_into_DFAstates): Likewise.
78675
78676 2005-08-31  Jim Meyering  <jim@meyering.net>
78677
78678         * check-module: Add a FIXME comment.
78679
78680 2005-08-31  Eric Blake  <ebb9@byu.net>
78681
78682         * modules/unistd-safer (Files): Add unistd--.h.
78683         * modules/stdio-safer (Files): Add stdio--.h.
78684
78685 2005-08-31  Derek Price  <derek@ximbiot.com>
78686
78687         * lib/getdelim.c (getdelim): Return EOF on EOF.
78688         Reported by Larry Jones <lawrence.jones@ugs.com>.
78689
78690 2005-08-31  Bruno Haible  <bruno@clisp.org>
78691
78692         Avoid unnecessary diffs in the generated lib/Makefile.am.
78693         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
78694         the generated files.
78695         (func_import): Don't set cmd.
78696
78697 2005-08-31  Bruno Haible  <bruno@clisp.org>
78698
78699         * lib/strstr.c: Include <stddef.h>, for NULL.
78700         * lib/strcasestr.c: Likewise.
78701         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78702
78703 2005-08-31  Bruno Haible  <bruno@clisp.org>
78704
78705         * gnulib-tool: New option --macro-prefix.
78706         (func_import): Use macro_prefix.
78707         (import): Handle option --macro-prefix.
78708
78709 2005-08-31  Bruno Haible  <bruno@clisp.org>
78710
78711         * gnulib-tool (import): Rename most ac_* variables to cached_*.
78712         Also use new variables cached_lgpl, cached_libtool.
78713
78714 2005-08-31  Bruno Haible  <bruno@clisp.org>
78715
78716         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
78717         always instantiating them.
78718
78719 2005-08-31  Bruno Haible  <bruno@clisp.org>
78720
78721         * gnulib-tool (func_import): Read the previous cached settings
78722         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
78723         earlier added by gnulib but are now dropped. Warn when a gnulib file
78724         overwrites a non-gnulib file.
78725
78726 2005-08-31  Bruno Haible  <bruno@clisp.org>
78727
78728         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
78729         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
78730         projects that don't keep autogenerated files in CVS. Put into
78731         actioncmd only the specified modules, not the transitive closure.
78732
78733 2005-08-31  Bruno Haible  <bruno@clisp.org>
78734
78735         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
78736         Create directories that shall be filled.
78737         (import): Don't look for gl_* macros in configure.ac. Recurse across
78738         all directories containing a gnulib-cache.m4 files, if meaningful.
78739
78740 2005-08-31  Bruno Haible  <bruno@clisp.org>
78741
78742         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
78743         (import): Set seen_libtool when we see gl_LIBTOOL.
78744
78745 2005-08-31  Bruno Haible  <bruno@clisp.org>
78746
78747         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
78748         declaration macro definitions from generated gnulib.m4.
78749
78750 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
78751
78752         * lib/iconvme.h: Add prototype for iconv_alloc.
78753
78754 2005-08-29  Simon Josefsson  <jas@extundo.com>
78755
78756         * lib/iconvme.c: Fix errno.
78757
78758 2005-08-29  Bruno Haible  <bruno@clisp.org>
78759
78760         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
78761         that it works when the directory contains spaces.
78762
78763 2005-08-29  Bruno Haible  <bruno@clisp.org>
78764
78765         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
78766
78767 2005-08-29  Bruno Haible  <bruno@clisp.org>
78768
78769         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
78770         Emit more advice.
78771
78772 2005-08-29  Bruno Haible  <bruno@clisp.org>
78773         and Stepan Kasal  <kasal@ucw.cz>
78774
78775         * check-module: If more parameters are given, check each of them
78776         separately; add more exceptions, as noted by Jim Meyering.
78777         (check_module): New procedure.
78778         (%exempt_header): Now contains all exceptions.
78779
78780 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
78781
78782         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
78783
78784 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
78785
78786         * lib/iconvme.c: Split iconv_string into iconv_alloc.
78787
78788 2005-08-28  Bruno Haible  <bruno@clisp.org>
78789
78790         * m4/gnulib-tool.m4: New file.
78791
78792 2005-08-27  Jim Meyering  <jim@meyering.net>
78793
78794         * modules/unistd-safer (Files): Add pipe-safer.c.
78795         * modules/fcntl-safer (Files): Add creat-safer.c.
78796
78797 2005-08-27  Jim Meyering  <jim@meyering.net>
78798
78799         * m4/stdlib-safer.m4: New file.  From coreutils.
78800         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
78801         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
78802         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
78803         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
78804         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
78805
78806 2005-08-27  Jim Meyering  <jim@meyering.net>
78807
78808         * lib/fopen-safer.c: Merge minor changes from coreutils.
78809         * lib/dup-safer.c: Likewise.
78810         * lib/fd-safer.c: Likewise.
78811
78812         Merge from coreutils.
78813         * lib/stdio--.h: New file.
78814         * lib/stdlib--.h: New file.
78815         * lib/mkstemp-safer.c: New file.
78816
78817         GNU tar needs these.
78818         * lib/pipe-safer.c: New file.
78819         * lib/creat-safer.c: New file.
78820         * lib/fcntl--.h (creat): Define to creat_safer.
78821         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
78822         * lib/unistd--.h (pipe): Define to pipe_safer.
78823         * lib/unistd-safer.h: Declare pipe_safer.
78824
78825 2005-08-26  Simon Josefsson  <jas@extundo.com>
78826
78827         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
78828         Haible <bruno@clisp.org>.
78829
78830 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
78831
78832         * lib/regex_internal.h: Remove all references to
78833         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
78834         or better.
78835         (bitset_not, bitset_merge, bitset_not_merge):
78836         (bitset_mask, re_string_allocate, re_string_construct):
78837         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
78838         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
78839         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
78840         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
78841         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78842         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78843         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
78844         (re_acquire_state_context):
78845         Remove unnecessary forward decls.
78846         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
78847         Put __attribute at function definition,
78848         now that the function decl has been removed.
78849         * lib/regex_internal.c (re_string_peek_byte_case):
78850         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
78851         Likewise.
78852
78853 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
78854
78855         * m4/regex.m4: Add AC_PREREQ(2.50).
78856         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
78857
78858 2005-08-25  Simon Josefsson  <jas@extundo.com>
78859
78860         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
78861         __fsetlocking.
78862
78863 2005-08-25  Simon Josefsson  <jas@extundo.com>
78864
78865         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
78866         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
78867         GLIBC specific code.
78868
78869 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78870
78871         Make regex safe for g++.  This fixes one real bug (an "err"
78872         that should have been "*err").  g++ problem reported by
78873         Sam Steingold.
78874         * lib/regex_internal.h (re_calloc): New macro, consistent with
78875         re_malloc etc.  All callers of calloc changed to use re_calloc.
78876         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
78877         not int.  All callers changed.
78878         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
78879         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
78880         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
78881         (find_recover_state): Change "err" to "*err"; this fixes what
78882         appears to be a real bug.
78883         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
78884         versus int.
78885
78886 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78887
78888         * modules/regex (Depends-on): Add malloc, since the code
78889         assumes that !malloc(0) means failure.
78890
78891 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78892
78893         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
78894
78895         alloca modernization/simplification for regex.
78896         * lib/regex.c: Remove portability cruft for alloca.  This no longer
78897         needs to be at the start of the file, and can be moved into
78898         regex_internal.h and simplified.
78899         * lib/regex_internal.h: Include <alloca.h>.
78900         (__libc_use_alloca) [!defined _LIBC]: New macro.
78901         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
78902         now works outside glibc.
78903
78904 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78905
78906         * config/srclist.txt: Add glibc bugs 1241, 1245.
78907
78908 2005-08-25  Jim Meyering  <jim@meyering.net>
78909
78910         * lib/open-safer.c: Include <config.h>.
78911         Otherwise, we'd lose LARGEFILE support in any file using
78912         e.g. "fcntl--.h"
78913
78914 2005-08-25  Bruno Haible  <bruno@clisp.org>
78915
78916         * m4/minmax.m4: Require autoconf 2.52.
78917         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
78918         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
78919         alternatives of translit over the alphabet.
78920         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
78921
78922 2005-08-24  Simon Josefsson  <jas@extundo.com>
78923
78924         * tests/test-getpass.c: New file.
78925
78926 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
78929         for GNU regex features.
78930
78931 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78932
78933         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
78934         * lib/regex.h (regerror): Likewise.
78935
78936         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
78937         requires this.  (The code never needed it.)
78938
78939         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
78940         All uses of recently-renamed identifiers changed to use the new,
78941         POSIX-compliant names.  The code will build and run just fine
78942         without these changes, but it's better to eat our own dog food
78943         and use the standard-conforming names.
78944
78945         * lib/regex.h: Fix a multitude of POSIX name space violations.
78946         These changes have an effect only for programs that define
78947         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
78948         do not change anything for programs compiled in the normal way.
78949         Also, there is no effect on the ABI.
78950
78951         (_REGEX_SOURCE): New macro.
78952         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
78953         defined and _GNU_SOURCE is not; this fixes a name space violation.
78954
78955         Rename the following macros to obey POSIX requirements.
78956         The old names are still visible as macros if _REGEX_SOURCE is defined.
78957         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
78958         RE_BACKSLASH_ESCAPE_IN_LISTS.
78959         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
78960         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
78961         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
78962         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
78963         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
78964         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78965         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78966         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78967         (REG_INTERVALS): renamed from RE_INTERVALS.
78968         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78969         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78970         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78971         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78972         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78973         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78974         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78975         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78976         RE_UNMATCHED_RIGHT_PAREN_ORD.
78977         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78978         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78979         (REG_DEBUG): renamed from RE_DEBUG.
78980         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78981         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78982         unusual, since we can't clash with the POSIX REG_ICASE.
78983         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78984         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78985         (REG_NO_SUB): renamed from RE_NO_SUB.
78986         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78987         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78988         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78989         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78990         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78991         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78992         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78993         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78994         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78995         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78996         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78997         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78998         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78999         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79000         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79001         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79002         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79003         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79004         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79005         (REG_FIXED): Renamed from REGS_FIXED.
79006         (REG_NREGS): Renamed from RE_NREGS.
79007
79008         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79009         of other REG_* macros, since POSIX says the user is allowed to
79010         #undef these macros selectively.
79011
79012         (reg_errcode_t): Update comment stating what other tables need
79013         to be consistent.
79014
79015         Rename the following enum values to obey POSIX requirements.
79016         The old names are still visible as macros.
79017         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79018         is not defined, since GNU is supposed to be a superset of POSIX as
79019         much as possible, and since we want reg_errcode_t to be a signed
79020         type for implementation consistency.
79021         (_REG_NOERROR): Renamed from REG_NOERROR.
79022         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79023         (_REG_BADPAT): Renamed from REG_BADPAT.
79024         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79025         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79026         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79027         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79028         (_REG_EBRACK): Renamed from REG_EBRACK.
79029         (_REG_EPAREN): Renamed from REG_EPAREN.
79030         (_REG_EBRACE): Renamed from REG_EBRACE.
79031         (_REG_BADBR): Renamed from REG_BADBR.
79032         (_REG_ERANGE): Renamed from REG_ERANGE.
79033         (_REG_ESPACE): Renamed from REG_ESPACE.
79034         (_REG_BADRPT): Renamed from REG_BADRPT.
79035         (_REG_EEND): Renamed from REG_EEND.
79036         (_REG_ESIZE): Renamed from REG_ESIZE.
79037         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79038         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79039         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79040         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79041         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79042
79043         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79044         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79045         changed.  But support the old name if the new one is not defined
79046         and if _REGEX_SOURCE.
79047
79048         Change the following member names in struct re_pattern_buffer.
79049         The old names are still supported if !_REGEX_SOURCE.
79050         The new names are always supported, regardless of _REGEX_SOURCE.
79051         (re_buffer): Renamed from buffer.
79052         (re_allocated): Renamed from allocated.
79053         (re_used): Renamed from used.
79054         (re_syntax): Renamed from syntax.
79055         (re_fastmap): Renamed from fastmap.
79056         (re_translate): Renamed from translate.
79057         (re_can_be_null): Renamed from can_be_null.
79058         (re_regs_allocated): Renamed from regs_allocated.
79059         (re_fastmap_accurate): Renamed from fastmap_accurate.
79060         (re_no_sub): Renamed from no_sub.
79061         (re_not_bol): Renamed from not_bol.
79062         (re_not_eol): Renamed from not_eol.
79063         (re_newline_anchor): Renamed from newline_anchor.
79064
79065         Change the following member names in struct re_registers.
79066         The old names are still supported if !_REGEX_SOURCE.
79067         The new names are always supported, regardless of _REGEX_SOURCE.
79068         (rm_num_regs): Renamed from num_regs.
79069         (rm_start): Renamed from start.
79070         (rm_end): Renamed from end.
79071
79072         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79073         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79074         Prepend __ to parameter names.
79075
79076         Undo yesterday's changes.
79077
79078 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79079
79080         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79081         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79082         lib/regex.c.
79083
79084 2005-08-24  Jim Meyering  <jim@meyering.net>
79085
79086         Sync from coreutils.
79087         * m4/fcntl-safer.m4: New file.
79088
79089         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79090         and object files for this module.
79091
79092 2005-08-24  Jim Meyering  <jim@meyering.net>
79093
79094         Sync from coreutils.
79095         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79096
79097 2005-08-24  Jim Meyering  <jim@meyering.net>
79098
79099         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79100         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79101
79102 2005-08-24  Jim Meyering  <jim@meyering.net>
79103
79104         * modules/fcntl-safer: New module.
79105         * modules/fts (Depends-on): Add fcntl-safer.
79106         * MODULES.html.sh (File descriptor based Input/Output):
79107         Add fcntl-safer.
79108
79109 2005-08-24  Bruno Haible  <bruno@clisp.org>
79110
79111         Support for unit test modules.
79112         * modules/README: Mention tests modules.
79113         * modules/TEMPLATE-TESTS: New file.
79114         * gnulib-tool: New options --extract-tests-module, --with-tests and
79115         --tests-base (unused for the moment).
79116         (testsbase, inctests): New variables.
79117         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79118         (func_verify_module): Exclude TEMPLATE-TESTS.
79119         (func_verify_nontests_module, func_verify_tests_module): New functions.
79120         (func_get_dependencies): Add implicit dependency for tests modules.
79121         (func_get_tests_module): New function.
79122         (func_modules_transitive_closure): When --with-tests was specified,
79123         include the unit tests as well, unless explicitly avoided.
79124         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79125         (func_emit_tests_Makefile_am): New function.
79126         (func_create_testdir): When --with-tests was specified, emit a
79127         tests/ directory.
79128         * MODULES.html.sh (Future developments): Update.
79129
79130 2005-08-24  Bruno Haible  <bruno@clisp.org>
79131
79132         * modules/tls-tests: New file.
79133         * tests/test-tls.c: New file, from GNU gettext.
79134
79135 2005-08-24  Bruno Haible  <bruno@clisp.org>
79136
79137         * modules/lock-tests: New file.
79138         * tests/test-lock.c: New file, from GNU gettext.
79139
79140 2005-08-24  Bruno Haible  <bruno@clisp.org>
79141
79142         * lib/lock.h: Add multiple inclusion guard.
79143         * lib/tls.h: Add multiple inclusion guard.
79144
79145 2005-08-24  Bruno Haible  <bruno@clisp.org>
79146
79147         * gnulib-tool: Add support for the --aux-dir option to
79148         --create-testdir, --create-megatestdir, --test, --megatest.
79149         (func_create_testdir, func_create_megatestdir): Optionally emit a
79150         AC_CONFIG_AUX_DIR directive.
79151         (create-testdir, create-megatestdir, test, megatest): Provide a
79152         default value for $auxdir.
79153
79154 2005-08-24  Bruno Haible  <bruno@clisp.org>
79155
79156         * gnulib-tool (import): Use compound statement instead of subshell
79157         where possible.
79158
79159 2005-08-24  Bruno Haible  <bruno@clisp.org>
79160
79161         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79162
79163 2005-08-24  Bruno Haible  <bruno@clisp.org>
79164
79165         * gnulib-tool (func_version): Update.
79166
79167 2005-08-24  Bruno Haible  <bruno@clisp.org>
79168
79169         * gnulib-tool (func_import, func_create_testdir,
79170         func_create_megatestdir): Quote all autoconf macro arguments.
79171
79172 2005-08-24  Bruno Haible  <bruno@clisp.org>
79173
79174         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79175         option --force, because --force causes the aclocal.m4 of each
79176         subdirectory to be newer than the corresponding config.h.in.
79177
79178 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79179
79180         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79181         All contents moved to gl_REGEX.
79182         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79183         assume that it does.
79184
79185 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79186
79187         * lib/regex.h (REG_NOSYS)
79188         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79189         Define, since POSIX requires it as of 2001.
79190         (_REG_ENOSYS)
79191         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79192         New private symbol, used to keep the enum signed in all cases.
79193         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79194         Youngman in
79195         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79196
79197         * lib/regex_internal.c (re_string_skip_chars, register_state):
79198         (calc_state_hash):
79199         Remove forward decls; no longer needed now that we use prototypes.
79200         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79201         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79202         (clean_state_log_if_needed): Likewise.
79203
79204 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79205
79206         * config/srclist.txt: Add glibc bugs 1231-1233.
79207
79208 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         Fix problems reported by Sam Steingold in
79211         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79212         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79213         assumed that reg_errcode_t is a signed type, which is not
79214         necessarily true if _XOPEN_SOURCE is not defined.
79215         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79216         since some compilers warn about it otherwise.
79217
79218 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79219
79220         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79221         (init_word_char, create_initial_state, duplicate_node_closure):
79222         (fetch_token, peek_token_bracket, build_range_exp):
79223         (build_collating_symbol): Remove forward decls; no longer needed
79224         now that we use prototypes.
79225
79226         * lib/regcomp.c:
79227         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79228         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79229         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79230         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79231         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79232         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79233         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79234         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79235         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79236         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79237         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79238         (build_charclass, build_charclass_op, fetch_number, create_tree):
79239         (create_token_tree, mark_opt_subexp, duplicate_tree):
79240         Use prototypes rather than old-style definitions.
79241
79242         * lib/regex_internal.c:
79243         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79244         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79245         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79246         (re_string_reconstruct, re_string_peek_byte_case):
79247         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79248         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79249         (re_node_set_init_copy, re_node_set_add_intersect):
79250         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79251         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79252         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79253         (re_acquire_state, re_acquire_state_context, register_state):
79254         (create_ci_newstate, create_cd_newstate, free_state):
79255         Likewise.
79256         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79257         re_search_2):
79258         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79259         (re_search_internal, prune_impossible_nodes):
79260         (acquire_init_state_context, check_matching, static):
79261         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79262         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79263         (update_regs, sift_states_backward, build_sifted_states):
79264         (clean_state_log_if_needed, merge_state_array):
79265         (update_cur_sifted_state, add_epsilon_src_nodes):
79266         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79267         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79268         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79269         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79270         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79271         (check_arrival, check_arrival_add_next_nodes):
79272         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79273         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79274         (check_node_accept_bytes, check_node_accept, extend_buffers):
79275         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79276         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79277         (sift_ctx_init):
79278         Likewise.
79279
79280         * lib/regex_internal.h:
79281         (re_string_allocate, re_string_construct, re_string_reconstruct):
79282         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79283         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79284         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79285         (re_string_context_at, re_string_peek_byte_case):
79286         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79287         is defined, since we now use prototypes always.
79288
79289         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79290         C89 or better.  All uses removed.
79291
79292 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79293
79294         * config/srclist.txt: Add glibc bugs 1220-1227.
79295
79296 2005-08-20  Jim Meyering  <jim@meyering.net>
79297
79298         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79299         of unused local, dfa.
79300
79301 2005-08-20  Bruno Haible  <bruno@clisp.org>
79302
79303         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79304
79305 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79306
79307         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79308         (re_node_set_insert_last, re_dfa_add_node):
79309         Rename local variables to avoid GCC shadowing warnings.
79310
79311 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79314         [defined lint]: Suppress bogus uninitialized-variable warnings.
79315
79316         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79317         and let the caller return REG_ESPACE if out of space.  This
79318         removes an uninitialied-variable warning with GCC 4.0.1, and also
79319         avoids taking the address of a local variable.  All callers
79320         changed.
79321
79322 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79323
79324         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79325         $LIBCSRC/posix/regexec.c.
79326         Add glibc bug 1217 for regcomp.c.
79327
79328 2005-08-19  Jim Meyering  <jim@meyering.net>
79329
79330         * lib/regexec.c (proceed_next_node): Redo local variables to
79331         avoid GCC shadowing warnings.
79332
79333 2005-08-18  Bruno Haible  <bruno@clisp.org>
79334
79335         * lib/strstr.c (strstr): Fix return value in multibyte case.
79336         * lib/strcasestr.c (strcasestr): Likewise.
79337
79338 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79339
79340         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
79341
79342 2005-08-17  Jim Meyering  <jim@meyering.net>
79343
79344         Make the %s format (seconds since the epoch) work for a negative
79345         number and when used with a zero-padded field width, e.g. %015s.
79346
79347         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
79348         label so that it precedes the code to set `digits'.  Otherwise,
79349         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
79350         print `00-22'.  Now, it prints `-0022', as it should.
79351
79352 2005-08-17  Bruno Haible  <bruno@clisp.org>
79353
79354         * modules/strstr (Files): Add m4/mbrtowc.m4.
79355         (Depends-on): Add mbuiter.
79356
79357 2005-08-17  Bruno Haible  <bruno@clisp.org>
79358
79359         * modules/strcasestr: New file.
79360         * MODULES.html.sh (String handling, based on ANSI C 89): Add
79361         strcasestr.
79362
79363 2005-08-17  Bruno Haible  <bruno@clisp.org>
79364
79365         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
79366
79367 2005-08-17  Bruno Haible  <bruno@clisp.org>
79368
79369         * modules/mbuiter: New file.
79370         * MODULES.html.sh (Extended multibyte and wide character utilities):
79371         Add mbuiter.
79372
79373 2005-08-17  Bruno Haible  <bruno@clisp.org>
79374
79375         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
79376         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
79377
79378 2005-08-17  Bruno Haible  <bruno@clisp.org>
79379
79380         * m4/strcasestr.m4: New file.
79381
79382 2005-08-17  Bruno Haible  <bruno@clisp.org>
79383
79384         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
79385         * lib/strstr.c: Completely rewritten, with multibyte locale support.
79386
79387 2005-08-17  Bruno Haible  <bruno@clisp.org>
79388
79389         * lib/strcasestr.h: New file.
79390         * lib/strcasestr.c: New file.
79391
79392 2005-08-17  Bruno Haible  <bruno@clisp.org>
79393
79394         * lib/strcasecmp.c: Use mbuiter.h.
79395
79396 2005-08-17  Bruno Haible  <bruno@clisp.org>
79397
79398         * lib/mbuiter.h: New file.
79399
79400 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79401
79402         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
79403         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
79404         and gl_GETOPT are both invoked via different paths (as happens
79405         with GNU tar CVS because it uses both argp and getopt), the former
79406         wins.
79407
79408 2005-08-16  Bruno Haible  <bruno@clisp.org>
79409
79410         * modules/tls: New file.
79411         * MODULES.html.sh (Multithreading): Add tls.
79412
79413 2005-08-16  Bruno Haible  <bruno@clisp.org>
79414
79415         * modules/strnlen1: New file.
79416         * MODULES.html.sh (String handling): Add strnlen1.
79417
79418 2005-08-16  Bruno Haible  <bruno@clisp.org>
79419
79420         * modules/strcase (Files): Add m4/mbrtowc.m4.
79421         (Depends-on): Add strnlen1, mbchar.
79422
79423 2005-08-16  Bruno Haible  <bruno@clisp.org>
79424
79425         * modules/mbiter: New file.
79426         * MODULES.html.sh (Extended multibyte and wide character utilities):
79427         Add mbiter.
79428
79429 2005-08-16  Bruno Haible  <bruno@clisp.org>
79430
79431         * modules/mbfile: New file.
79432         * MODULES.html.sh (Extended multibyte and wide character utilities):
79433         Add mbfile.
79434
79435 2005-08-16  Bruno Haible  <bruno@clisp.org>
79436
79437         * modules/mbchar: New file.
79438         * MODULES.html.sh (Extended multibyte and wide character utilities):
79439         New section.
79440
79441 2005-08-16  Bruno Haible  <bruno@clisp.org>
79442
79443         * m4/tls.m4: New file, from GNU gettext.
79444
79445 2005-08-16  Bruno Haible  <bruno@clisp.org>
79446
79447         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
79448         always.
79449         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
79450
79451 2005-08-16  Bruno Haible  <bruno@clisp.org>
79452
79453         * m4/mbiter.m4: New file.
79454
79455 2005-08-16  Bruno Haible  <bruno@clisp.org>
79456
79457         * m4/mbfile.m4: New file.
79458
79459 2005-08-16  Bruno Haible  <bruno@clisp.org>
79460
79461         * m4/mbchar.m4: New file.
79462
79463 2005-08-16  Bruno Haible  <bruno@clisp.org>
79464
79465         * lib/tls.h: New file, from GNU gettext.
79466         * lib/tls.c: New file, from GNU gettext.
79467
79468 2005-08-16  Bruno Haible  <bruno@clisp.org>
79469
79470         * lib/strnlen1.h: New file.
79471         * lib/strnlen1.c: New file.
79472
79473 2005-08-16  Bruno Haible  <bruno@clisp.org>
79474
79475         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
79476         (mbi_init): Update.
79477         (mbi_avail, mbi_advance): Let the iteration end before the terminating
79478         NUL byte, not after it.
79479
79480 2005-08-16  Bruno Haible  <bruno@clisp.org>
79481
79482         * lib/strcase.h (strcasecmp): Add note in comments.
79483         * lib/strncasecmp.c: Use code from strcasecmp.c.
79484         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
79485         (strcasecmp): Work correctly in multibyte locales.
79486
79487 2005-08-16  Bruno Haible  <bruno@clisp.org>
79488
79489         * lib/mbiter.h: New file.
79490
79491 2005-08-16  Bruno Haible  <bruno@clisp.org>
79492
79493         * lib/mbfile.h: New file.
79494
79495 2005-08-16  Bruno Haible  <bruno@clisp.org>
79496
79497         * lib/mbchar.h: New file.
79498         * lib/mbchar.c: New file.
79499
79500 2005-08-16  Bruno Haible  <bruno@clisp.org>
79501
79502         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
79503         the valid ones. Makes the comparison operations transitive:
79504         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
79505         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
79506
79507 2005-08-15  Simon Josefsson  <jas@extundo.com>
79508
79509         * modules/ssize_t (License): Change to 'unlimited'.
79510
79511         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
79512
79513 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79514
79515         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
79516         Add comments for each pending glibc patch.
79517
79518 2005-08-15  Bruno Haible  <bruno@clisp.org>
79519
79520         * lib/regex.h (__restrict_arr): Don't define to __restrict if
79521         __cplusplus is defined.
79522
79523 2005-08-14  Jim Meyering  <jim@meyering.net>
79524
79525         Sync from coreutils.
79526
79527         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
79528         Use the hash-table-based cycle-detection code not just when
79529         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
79530         Reported by James Youngman in
79531         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
79532         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
79533         FTS_TIGHT_CYCLE_CHECK.
79534         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
79535         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
79536         once again.
79537         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
79538         * lib/fts.c (fd_safer): Remove decl.
79539         Include fcntl--.h rather than unistd-safer.h
79540         (fts_safe_changedir): Don't call fd_safer; no longer needed
79541         now that we include fcntl--.h.
79542
79543 2005-08-12  Simon Josefsson  <jas@extundo.com>
79544
79545         * modules/getndelim2: Use ssize_t module.
79546         * modules/getnline: Likewise.
79547         * modules/safe-read: Likewise.
79548         * modules/xreadlink: Likewise.
79549
79550         * modules/ssize_t: New file.
79551
79552 2005-08-12  Simon Josefsson  <jas@extundo.com>
79553
79554         * m4/readline.m4: Look for termcap, curses or ncurses if required.
79555
79556 2005-08-12  Simon Josefsson  <jas@extundo.com>
79557
79558         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79559         ssize_t.
79560
79561 2005-08-12  Simon Josefsson  <jas@extundo.com>
79562
79563         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
79564         readline, getdelim and check_version.
79565         (Support for systems lacking ISO C 99: Sizes of integer types):
79566         Add size_max.
79567
79568 2005-08-12  Bruno Haible  <bruno@clisp.org>
79569
79570         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
79571
79572 2005-08-11  Simon Josefsson  <jas@extundo.com>
79573
79574         * modules/readline: New file.
79575
79576         * modules/strnlen (Files): Add strnlen.h.
79577
79578 2005-08-11  Simon Josefsson  <jas@extundo.com>
79579
79580         * m4/readline.m4: New file.
79581
79582 2005-08-11  Simon Josefsson  <jas@extundo.com>
79583
79584         * lib/readline.h, readline.c: New file.
79585
79586 2005-08-11  Simon Josefsson  <jas@extundo.com>
79587
79588         * doc/gnulib.texi (Initial import, Finishing touches): Mention
79589         gl_AVOID.
79590
79591 2005-08-11  Bruno Haible  <bruno@clisp.org>
79592
79593         * lib/strnlen.h (strnlen): Change parameter name to match comment.
79594
79595 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
79596
79597         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
79598
79599 2005-08-10  Simon Josefsson  <jas@extundo.com>
79600
79601         * tests/test-iconvme.c: New file.
79602
79603 2005-08-10  Simon Josefsson  <jas@extundo.com>
79604
79605         * m4/strnlen.m4: New file.
79606
79607         * m4/strndup.m4: Don't check for strnlen declaration, done in
79608         strnlen.m4.
79609
79610 2005-08-10  Simon Josefsson  <jas@extundo.com>
79611
79612         * lib/strndup.c: Use strnlen.h.
79613
79614         * lib/strnlen.h: New file.
79615
79616 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79617
79618         * README: Typos.
79619
79620 2005-08-02  Simon Josefsson  <jas@extundo.com>
79621
79622         * modules/readline: New file.
79623
79624 2005-08-02  Simon Josefsson  <jas@extundo.com>
79625
79626         * modules/getdelim: New file.
79627
79628         * modules/getline: Rewrite, don't use getndelim2.
79629
79630 2005-08-02  Simon Josefsson  <jas@extundo.com>
79631
79632         * m4/getline.m4: Separate out getdelim stuff into separate module.
79633
79634         * m4/getdelim.m4: New file.
79635
79636 2005-08-02  Simon Josefsson  <jas@extundo.com>
79637
79638         * lib/getline.h, getline.c: Rewrite.
79639
79640         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
79641
79642 2005-07-31  Bruno Haible  <bruno@clisp.org>
79643
79644         * lib/lock.h (gl_lock_initializer): New macro.
79645         (gl_lock_define_initialized): Use it.
79646         (gl_rwlock_initializer): New macro.
79647         (gl_rwlock_define_initialized): Use it.
79648         (gl_recursive_lock_initializer): New macro.
79649         (gl_recursive_lock_define_initialized): Use it.
79650
79651 2005-07-30  Karl Berry  <karl@gnu.org>
79652
79653         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
79654         Report from Ben Pfaff, regarding getopt.
79655
79656 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
79657
79658         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
79659         normal way.
79660         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
79661         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
79662         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
79663         (gl_GETOPT): Use the new macros.  Most of the implementation
79664         is moved to the new macros.  This is for programs like Emacs
79665         that don't want all the functionality of gl_GETOPT.
79666
79667 2005-07-26  Bruno Haible  <bruno@clisp.org>
79668
79669         * m4/lock.m4: Update from GNU gettext.
79670
79671 2005-07-26  Bruno Haible  <bruno@clisp.org>
79672
79673         * lib/lock.h: Update from GNU gettext.
79674         * lib/lock.c: Update from GNU gettext.
79675
79676 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
79677
79678         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
79679         obsolescent AC_TRY_RUN.  Include the default includes files, for
79680         'exit'.
79681
79682 2005-07-24  Bruno Haible  <bruno@clisp.org>
79683
79684         * modules/visibility: New file.
79685         * MODULES.html.sh (Misc): Add visibility.
79686
79687 2005-07-24  Bruno Haible  <bruno@clisp.org>
79688
79689         * m4/visibility.m4: New file.
79690
79691 2005-07-24  Bruno Haible  <bruno@clisp.org>
79692
79693         * doc/visibility.texi: New file.
79694
79695 2005-07-22  Bruno Haible  <bruno@clisp.org>
79696
79697         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
79698         $(ALLOCA_H), redundant through BUILT_SOURCES.
79699         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
79700         redundant through BUILT_SOURCES.
79701         * modules/byteswap (Makefile.am): Remove explicit dependency on
79702         $(BYTESWAP_H), redundant through BUILT_SOURCES.
79703         * modules/fnmatch (Makefile.am): Remove explicit dependency on
79704         $(FNMATCH_H), redundant through BUILT_SOURCES.
79705         * modules/getopt (Makefile.am): Remove explicit dependency on
79706         $(GETOPT_H), redundant through BUILT_SOURCES.
79707         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
79708         redundant through BUILT_SOURCES.
79709         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
79710         redundant through BUILT_SOURCES.
79711         * modules/stdbool (Makefile.am): Remove explicit dependency on
79712         $(STDBOOL_H), redundant through BUILT_SOURCES.
79713         * modules/stdint (Makefile.am): Remove explicit dependency on
79714         $(STDINT_H), redundant through BUILT_SOURCES.
79715         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
79716         Remove explicit dependency on $(SYSEXITS_H).
79717         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
79718
79719 2005-07-18  Simon Josefsson  <jas@extundo.com>
79720
79721         * lib/check-version.c (check_version): Accept identical versions too.
79722
79723 2005-07-18  Bruno Haible  <bruno@clisp.org>
79724
79725         * modules/lock: New file.
79726         * MODULES.html.sh (Multithreading): New section.
79727
79728 2005-07-18  Bruno Haible  <bruno@clisp.org>
79729
79730         * m4/lock.m4: New file, from GNU gettext.
79731
79732 2005-07-18  Bruno Haible  <bruno@clisp.org>
79733
79734         * lib/lock.h: New file, from GNU gettext.
79735         * lib/lock.c: New file, from GNU gettext.
79736
79737 2005-07-18  Bruno Haible  <bruno@clisp.org>
79738
79739         * lib/lock.h (gl_once_t): New type.
79740         (gl_once_define, gl_once): New macros.
79741         * lib/lock.c (fresh_once): New variable.
79742         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
79743         functions.
79744
79745 2005-07-16  Simon Josefsson  <jas@extundo.com>
79746
79747         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
79748         workaround, suggested by Bruno.
79749
79750 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79751
79752         * modules/xalloc (Depends-on): Add xalloc-die.
79753         * modules/xvasprintf (Depends-on): Add xalloc-die.
79754
79755 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
79756
79757         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
79758         with a minor change.
79759
79760 2005-07-15  Bruno Haible  <bruno@clisp.org>
79761
79762         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
79763         When using lib/poll.c, define poll as rpl_poll.
79764
79765 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         * modules/argp (Depends-on): Remove unlocked-io.
79768
79769 2005-07-14  Derek Price  <derek@ximbiot.com>
79770
79771         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
79772         for glob symlink bug.
79773
79774 2005-07-14  Bruno Haible  <bruno@clisp.org>
79775
79776         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
79777         Instead, test for *_unlocked function declarations directly.
79778
79779 2005-07-11  Simon Josefsson  <jas@extundo.com>
79780
79781         * modules/size_max: New file.
79782
79783         * modules/xsize: Depend on size_max module for size_max.m4.
79784
79785 2005-07-11  Simon Josefsson  <jas@extundo.com>
79786
79787         * lib/size_max.h: New file.
79788
79789 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
79790
79791         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
79792         copyright symbol and the year.
79793         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
79794         (version_etc_va): Use parameterized copyright notice.
79795         Reword to conform to the current GNU coding standards.
79796
79797 2005-07-11  Karl Berry  <karl@gnu.org>
79798
79799         * doc/gnulib.texi (Quoting): new node.
79800         (Initial import): more info, from Patrice.
79801
79802 2005-07-11  Bruno Haible  <bruno@clisp.org>
79803
79804         * gnulib-tool (func_usage): Document option --avoid.
79805         (Command line options): Handle --avoid.
79806         (func_acceptable): New function.
79807         (func_modules_transitive_closure): Use it.
79808
79809 2005-07-11  Bruno Haible  <bruno@clisp.org>
79810
79811         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
79812         Reported by Jim Meyering.
79813
79814 2005-07-10  Bruno Haible  <bruno@clisp.org>
79815
79816         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
79817         Needed when size_t is smaller than 'unsigned int'.
79818         Reported by Paul Eggert.
79819
79820 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79821
79822         * modules/argp (Depends-on): Add unlocked-io
79823
79824 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79825
79826         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
79827         block of defines.
79828
79829 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79830
79831         * config/srclist.txt: Comment out regcomp.c, since we have a porting
79832         fix now.
79833
79834 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
79835         and Paul Eggert  <eggert@cs.ucla.edu>
79836
79837         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
79838         in wint_t, not wchar_t.  Remove now-unnecessary cast.
79839
79840 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79841
79842         * modules/regex (Files): Add lib/regex_internal.c,
79843         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
79844         (Depends-on): Add extensions.
79845         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
79846
79847 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79848
79849         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
79850         pathconf.
79851         * m4/same.m4 (gl_SAME): Likewise.
79852         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
79853
79854         * m4/regex.m4: Adjust to new libc regex implementation.
79855         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
79856         all the .c and .h parts of (the new) regex.
79857         Quote the m4 stuff better.
79858         Check for RE_ICASE bug of old gnulib.
79859         Check for REG_STARTEND of recent libc.
79860         Rename local variables from jm_* to gl_*.
79861         Quote operand of "test -f".
79862         Say "recent enough" version of libc, not "version 2".
79863         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
79864         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
79865         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
79866         Remove check for btowc, isascii.
79867         Require AM_LANGINFO_CODESET.
79868
79869 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79870
79871         * lib/regex.c, regex.h: Sync from libc.
79872         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
79873         * lib/regexec.c:
79874         New files, synced from libc, except that regex_internal.h
79875         currently has a small porting fix.
79876
79877 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
79878
79879         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
79880         regex_internal.c, regexec.c.
79881         Add regex_internal.h too, but as a comment, since the libc version
79882         is currently broken in gnulib mode.
79883
79884 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79885
79886         Support programs like Emacs that use gnulib but not gettext.
79887         * MODULES.html.sh (Internationalization functions): Add gettext-h.
79888         * modules/gettext-h: New file.
79889         * modules/gettext (Files): Remove lib/gettext.h.
79890         (Depends-on): Add gettext-h.
79891         (Makefile.am): Remove lib_SOURCES.
79892         * modules/argmatch, modules/c-stack, modules/closeout:
79893         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
79894         * modules/execute, modules/file-type, modules/getaddrinfo:
79895         * modules/getopt, modules/human, modules/javacomp:
79896         * modules/javaexec, modules/mkdir-p, modules/obstack:
79897         * modules/openat, modules/pagealign_alloc, modules/pipe:
79898         * modules/quotearg, modules/regex, modules/rpmatch:
79899         * modules/unicodeio, modules/userspec, modules/version-etc:
79900         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
79901         * modules/xsetenv:
79902         Depend on gettext-h, not gettext.
79903
79904 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79905
79906         * gnulib-tool (func_import): Add support for 'public domain' license.
79907         * modules/alloca, modules/atexit, modules/memmove:
79908         Now public domain, not GPL.
79909         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
79910         * modules/realloc, modules/strerror, modules/strtod:
79911         Now LGPL, not GPL.
79912
79913 2005-07-05  Bruno Haible  <bruno@clisp.org>
79914
79915         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
79916         autoconf CVS. Needed for mingw.
79917
79918 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79919
79920         Remove the dependency of the strftime module on the tzset module.
79921         * modules/strftime (Depends-on): Remove dependency on tzset.
79922
79923 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79924
79925         Remove the dependency of the strftime module on the tzset module.
79926         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
79927         gl_FUNC_TZSET_CLOBBER.
79928
79929 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79930
79931         Remove the dependency of the strftime module on the tzset module.
79932         * lib/strftime.c (my_strftime)
79933         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
79934         Copy the input structure, to work around some of the bug with
79935         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
79936         Solaris releases, you should also use the tzset module, but we won't
79937         require it as a dependency any more since we don't want LGPLed code
79938         to depend on GPLed code.
79939
79940 2005-07-02  Jim Meyering  <jim@meyering.net>
79941
79942         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
79943         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
79944         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
79945         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
79946
79947 2005-07-02  Jim Meyering  <jim@meyering.net>
79948
79949         * lib/backupfile.c (backup_args): Change a `0' to NULL.
79950
79951 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79952
79953         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
79954         declares only 'struct timespec;' (!).
79955
79956 2005-07-01  Jim Meyering  <jim@meyering.net>
79957
79958         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
79959         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
79960         * lib/save-cwd.c, tempname.c:
79961         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79962         and don't include <sys/file.h>).
79963
79964 2005-06-29  Jim Meyering  <jim@meyering.net>
79965
79966         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79967         type name.  Use the variable name instead.
79968         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79969         Likewise.
79970
79971 2005-06-28  Simon Josefsson  <jas@extundo.com>
79972
79973         * modules/check-version (Files): Add check-version.m4.
79974
79975 2005-06-28  Simon Josefsson  <jas@extundo.com>
79976
79977         * m4/check-version.m4: New file, suggested by Jim Meyering
79978         <jim@meyering.net>.
79979
79980 2005-06-28  Simon Josefsson  <jas@extundo.com>
79981
79982         * lib/check-version.h, lib/check-version.c: New files.
79983
79984 2005-06-28  Simon Josefsson  <jas@extundo.com>
79985
79986         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79987         collision with global variable.  Better indentation.  Don't
79988         increment buffer pointer beyond buffer end.  Based on comments
79989         from Paul Eggert <eggert@cs.ucla.edu>.
79990
79991         * lib/base64.h: Indent.
79992
79993 2005-06-28  Simon Josefsson  <jas@extundo.com>
79994
79995         * doc/gnulib.texi (Library version handling): New section.
79996
79997 2005-06-28  Jim Meyering  <jim@meyering.net>
79998
79999         * check-module (find_included_lib_files): Hard-code another
80000         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80001         but modules/fts-lgpl (correctly) does not list those files.
80002
80003         * modules/canonicalize (Files): Add lib/pathmax.h.
80004
80005 2005-06-25  Simon Josefsson  <jas@extundo.com>
80006
80007         * modules/check-version: New file.
80008
80009 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80010
80011         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80012         initializer of struct addrinfo, as an indication that we don't
80013         care how many members the structure has.
80014
80015 2005-06-24  Derek Price  <derek@ximbiot.com>
80016         and Bruno Haible  <bruno@clisp.org>
80017
80018         Remove stat module & update lstat.
80019         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80020         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80021         * m4/stat.m4: Remove this file.
80022
80023 2005-06-24  Derek Price  <derek@ximbiot.com>
80024         and Bruno Haible  <bruno@clisp.org>
80025
80026         Remove stat module & update lstat.
80027         * lib/stat.c: Remove this file...
80028         (slash_aware_lstat): ...moving this content and its support...
80029         * lib/lstat.c (rpl_lstat): ...into here.
80030         * lib/lstat.h: New file.
80031
80032 2005-06-24  Derek Price  <derek@ximbiot.com>
80033         and Bruno Haible  <bruno@clisp.org>
80034
80035         Remove stat module & update lstat.
80036         * config/srclist.txt (libc sources): Remove stat.
80037
80038 2005-06-24  Derek Price  <derek@ximbiot.com>
80039         and Bruno Haible  <bruno@clisp.org>
80040
80041         Remove stat module & update lstat.
80042         * MODULES.html.sh (stat): Remove.
80043         * MODULES.html: Regenerated.
80044         * modules/lstat (Description): Correct function name.
80045         (Files): Add "lstat.h".
80046         (Depends-on): Remove stat, add xalloc, stat-macros.
80047         * modules/stat: Remove this file.
80048         (Include): Add "lstat.h", remove <sys/stat.h>.
80049
80050 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80051
80052         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80053         (ranged_convert): Don't save conversion in a temporary struct.
80054         This causes a warning with GCC 4.0.0, and anyway in the typical
80055         case it's not worth the extra 100 bytes or so of code.
80056         (ranged_convert, __mktime_internal): When calling a function via a
80057         pointer P, use P () rather than (*P) (), as we now assume C89 or
80058         better.
80059
80060 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80061
80062         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80063         "who -r" failed to give output.  Problem reported by Tim Waugh.
80064
80065         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80066         (xcalloc): Use it to avoid needless tests.
80067         Problem reported by Jim Meyering.
80068
80069 2005-06-20  Derek Price  <derek@ximbiot.com>
80070
80071         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80072         unnecessary for Autoconfs > 2.59c.
80073
80074 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80075
80076         * lib/argp.h (__option_is_short): Check upper limit of
80077         __key. Isprint() requires its argument to have the value
80078         of an unsigned char or EOF.
80079
80080 2005-06-16  Jim Meyering  <jim@meyering.net>
80081
80082         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80083         when either N or S is zero.
80084
80085 2005-06-16  Derek Price  <derek@ximbiot.com>
80086
80087         * m4/bison.m4: Declare YACC & YFLAGS precious.
80088
80089 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80090
80091         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80092         multibyte string or pattern, fall back on unibyte matching.
80093         Problem reported by James Youngman.
80094
80095 2005-06-08  Bruno Haible  <bruno@clisp.org>
80096
80097         * modules/csharpcomp: New file.
80098         * MODULES.html.sh (C#): Add csharpcomp.
80099
80100 2005-06-08  Bruno Haible  <bruno@clisp.org>
80101
80102         * m4/csharpcomp.m4: New file, from GNU gettext.
80103
80104 2005-06-08  Bruno Haible  <bruno@clisp.org>
80105
80106         * lib/csharpcomp.h: New file, from GNU gettext.
80107         * lib/csharpcomp.c: New file, from GNU gettext.
80108         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80109
80110 2005-06-08  Bruno Haible  <bruno@clisp.org>
80111
80112         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80113         warning on mingw.
80114
80115 2005-06-07  Derek Price  <derek@ximbiot.com>
80116
80117         Sync from CVS.
80118         * lib/glob_.h: Indent nested #ifdef.
80119
80120 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80121
80122         Sync from coreutils.
80123         Use "file name" when talking about file names, instead of "filename"
80124         or "path", as per the GNU coding standards.
80125         * lib/mkdir-p.c: Renamed from makepath.c.
80126         (make_dir_parents): Renamed from make_path.  All callers changed.
80127         * lib/mkdir-p.h: Likewise.  All includers changed.
80128         * lib/filenamecat.c: Renamed from path-concat.c.
80129         (file_name_concat): Renamed from path_concat.  All callers changed.
80130         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80131         * lib/filenamecat.h: Likewise.  All includers changed.
80132         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80133         in comments or local variable names.
80134         * lib/basename.c: Likewise.
80135         * lib/canonicalize.c, canonicalize.h: Likewise.
80136         * lib/dirname.c, dirname.h: Likewise.
80137         * lib/euidaccess.c: Likewise.
80138         * lib/exclude.c: Likewise
80139         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80140         * lib/fsusage.c, fsuage.h: Likewise.
80141         * lib/fts.c, fts_.h: Likewise.
80142         * lib/getcwd.c: Likewise.
80143         * lib/getloadavg.c: Likewise.
80144         * lib/mkstemp.c: Likewise.
80145         * lib/mountlist.c, mountlist.h: Likewise.
80146         * lib/openat.c, openat.h: Likewise.
80147         * lib/readlink-stub.c: Likewise.
80148         * lib/readutmp.c, readutmp.h: Likewise.
80149         * lib/rename.c: Likewise.
80150         * lib/rmdir.c: Likewise.
80151         * lib/same.c: Likewise.
80152         * lib/savedir.c: Likewise.
80153         * lib/stripslash.c: Likewise.
80154         * lib/tempname.c: Likewise.
80155         * lib/xreadlink.c: Likewise.
80156         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80157         All uses changed.
80158         * lib/exclude.h: Likewise.
80159
80160         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80161         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80162         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80163         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80164         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80165         files have been getting away with it for years (MORE/BSD 4.3
80166         is extinct now).
80167         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80168         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80169
80170         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80171         Define to 256, not 255, as per modern POSIX.
80172
80173 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80174
80175         Sync from coreutils.
80176         Use "file name" when talking about file names, instead of "filename"
80177         or "path", as per the GNU coding standards.
80178         * MODULES.html.sh: mkdir-p renamed from makepath.
80179         filenamecat renamed from path-concat.
80180         * modules/filenamecat: Renamed from modules/path-concat.
80181         (Files): filenamecat.h and filenamecat.c renamed from
80182         path-concat.h and path-concat.c.
80183         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80184         (Include): filenamecat.h, not path-concat.h.
80185         * modules/mkdir-p: Renamed from modules/makepath.
80186         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80187         makepath.c.
80188         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80189         (Include): mkdir-p.h, not makepath.h.
80190
80191 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80192
80193         Sync from coreutils.
80194         * m4/mkdir-p.m4: Renamed from makepath.m4.
80195         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80196         Rename files from makepath.c to mkdir-p.c, and from
80197         makepath.h to mkdir-p.h.
80198         * m4/filenamecat.m4: Renamed from path-concat.m4.
80199         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80200         Rename files from path-concat.c to filenamecat.c,
80201         and from path-concat.h to filenamecat.h.
80202         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80203         "file name" in local variables or comments.
80204         * m4/rename.m4: Likewise.
80205
80206 2005-06-01  Bruno Haible  <bruno@clisp.org>
80207
80208         * modules/csharpexec: New file.
80209         * MODULES.html.sh (C#): New section.
80210
80211 2005-06-01  Bruno Haible  <bruno@clisp.org>
80212
80213         * m4/csharp.m4: New file, from GNU gettext.
80214         * m4/csharpexec.m4: New file, from GNU gettext.
80215
80216 2005-06-01  Bruno Haible  <bruno@clisp.org>
80217
80218         * lib/csharpexec.h: New file, from GNU gettext.
80219         * lib/csharpexec.c: New file, from GNU gettext.
80220         * lib/csharpexec.sh.in: New file, from GNU gettext.
80221
80222 2005-05-31  Derek Price  <derek@ximbiot.com>
80223             Paul Eggert  <eggert@cs.ucla.edu>
80224
80225         Sync from cvs.
80226         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80227
80228 2005-05-31  Derek Price  <derek@ximbiot.com>
80229             Paul Eggert  <eggert@cs.ucla.edu>
80230
80231         Sync from cvs.
80232         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80233
80234 2005-05-29  Derek Price  <derek@ximbiot.com>
80235
80236         * config/srclist.txt (glob_.h, glob.c): Add these files.
80237
80238 2005-05-29  Derek Price  <derek@ximbiot.com>
80239
80240         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80241         * modules/glob: New file.
80242         * modules/getlogin_r: Add link to POSIX spec in description.
80243
80244 2005-05-29  Derek Price  <derek@ximbiot.com>
80245             Paul Eggert  <eggert@cs.ucla.edu>
80246
80247         * m4/glob.m4: New file.
80248
80249 2005-05-29  Derek Price  <derek@ximbiot.com>
80250             Paul Eggert  <eggert@cs.ucla.edu>
80251
80252         * lib/glob_.h, lib/glob.c: New files.
80253
80254 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80255
80256         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80257         * modules/fts-lgpl (Depends-on): Remove gettext.
80258
80259 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80260
80261         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80262         and don't require gt_INTTYPES_PRI.
80263
80264 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80265
80266         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80267
80268         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80269         the configuration hassle isn't worth it.
80270         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80271         (LONGEST_MODIFIER, PRIuMAX): Remove.
80272
80273 2005-05-27  Bruno Haible  <bruno@clisp.org>
80274
80275         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80276
80277 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80278
80279         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80280         _POSIX_PTHREAD_SEMANTICS for Solaris.
80281
80282 2005-05-25  Derek Price  <derek@ximbiot.com>
80283
80284         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80285
80286 2005-05-25  Derek Price  <derek@ximbiot.com>
80287             Paul Eggert  <eggert@cs.ucla.edu>
80288
80289         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80290         * lib/getlogin_r.c, getlogin_r.h: New files.
80291
80292 2005-05-25  Bruno Haible  <bruno@clisp.org>
80293             Derek Price  <derek@ximbiot.com>
80294
80295         * lib/getlogin_r.h: Simplify API documentation.
80296
80297 2005-05-23  Derek Price  <derek@ximbiot.com>
80298
80299         * modules/minmax (Files): Add m4/minmax.m4.
80300         (configure.ac): Add gl_MINMAX.
80301
80302 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80303
80304         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80305         so that unistd-safer.h (GPL'ed code) need not be included.
80306
80307 2005-05-22  Bruno Haible  <bruno@clisp.org>
80308
80309         * m4/minmax.m4: New file.
80310         Based on a patch by Derek Price <derek@ximbiot.com>.
80311
80312 2005-05-22  Bruno Haible  <bruno@clisp.org>
80313
80314         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80315         (INT64_MIN): Fix definition.
80316         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80317
80318         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80319         NEED_SIGNED_INT_TYPES.
80320
80321         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80322         HAVE_SYSTEM_INTTYPES.
80323
80324 2005-05-22  Bruno Haible  <bruno@clisp.org>
80325
80326         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80327         Also include <sys/param.h> if it defines MIN, MAX.
80328         Based on a patch by Derek Price <derek@ximbiot.com>.
80329
80330 2005-05-21  Jim Meyering  <jim@meyering.net>
80331
80332         * modules/fts (Files): Add m4/inttypes-pri.m4.
80333         (Depends-on): Add lstat and remove gettext.  Alphabetize.
80334
80335 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80336
80337         New fts module.
80338         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
80339         (setup_dir, free_dir): New functions.
80340         (enter_dir, leave_dir): Define trivial
80341         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
80342         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
80343         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
80344         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
80345         Move to fts-cycle.c.
80346         (fts_open): Use setup_dir.
80347         (fts_close): Use free_dir.
80348         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
80349         This adds a label and some gotos, but the alternatives were messier.
80350         Check for memory allocation failure when entering a dir.
80351         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
80352         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
80353         (FTS): New member fts_cycle, that is a union that contains the
80354         old active_dir_ht and cycle_state.  All uses changed to mention
80355         fts_cycle.ht and fts_cycle.state.
80356         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
80357         fts.c, with the following changes:
80358         (setup_dir, free_dir): New functions.
80359         (enter_dir): Now returns bool.  Return true if successful, false
80360         if memory exhausted.  All callers changed.
80361         Do not bother partly cleaning up on
80362         memory allocation failure; that is free_dir's job.
80363         However, free ad if hash_insert fails, to avoid memory leak.
80364         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
80365         fts->fts_options to see which union member to use.
80366
80367 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80368
80369         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
80370         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
80371
80372 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
80373
80374         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
80375
80376 2005-05-20  Jim Meyering  <jim@meyering.net>
80377
80378         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
80379         Now a macro, to pacify GCC.
80380
80381 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80382
80383         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
80384         of -1.
80385
80386 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
80387
80388         * lib/chown.c (rpl_chown): Return -1 on failure.
80389
80390 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80391
80392         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
80393         Don't check for stddef.h.
80394         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
80395         don't use its results.
80396         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
80397         since we include them unconditionally.  Don't require
80398         AM_STDBOOL_H, since stdbool is a prerequisite.
80399         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
80400         since we assume C89 or better.
80401         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
80402         as we don't use their results.
80403         Don't check for fchdir, memmove, memset, strrchr, as we use
80404         them unconditionally.
80405         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
80406         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
80407
80408 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
80409
80410         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
80411         Include <stddef.h> unconditionally, since we assume C89 now.
80412         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
80413         * lib/fts.c: Include fts_.h first, to check interface.
80414         Do not include intprops.h; no longer needed.
80415         Include cycle-check.h and hash.h, since fts_.h no longer does.
80416         Remove unnecessary casts of closedir to void.
80417         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
80418         decide whether to decrement nlinks.
80419         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
80420         (FTS): Use struct hash_table * instead of Hash_table, so that
80421         we no longer need to include hash.h here.
80422
80423 2005-05-18  Jim Meyering  <jim@meyering.net>
80424
80425         * modules/dirfd (License): Change to LGPL.  Most of the code
80426         is already in the public domain.
80427
80428 2005-05-18  Jim Meyering  <jim@meyering.net>
80429
80430         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
80431         Reported by Yoann Vandoorselaere.
80432
80433 2005-05-17  Jim Meyering  <jim@meyering.net>
80434
80435         * m4/fts.m4: New file, from coreutils.
80436
80437 2005-05-17  Jim Meyering  <jim@meyering.net>
80438
80439         * lib/fts.c, lib/fts_.h: New files, from coreutils.
80440
80441 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80442
80443         Sync from coreutils.
80444         * m4/unlinkdir.m4: New file.
80445
80446 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         Sync from coreutils.
80449         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
80450         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
80451         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
80452         White space changes only.
80453         * lib/makepath.c (make_path): Port to hosts where leading "//" is
80454         special.
80455         * lib/yesno.c: Include getline.h, not ctype.h.
80456         (yesno): Don't remove leading white space; POSIX doesn't allow it.
80457         Use getline to remove arbitrary restriction on response length.
80458
80459 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80460
80461         * config/srclist-update: Spell out "Street" in FSF postal
80462         mail address; this is the style the FSF seems to prefer.
80463
80464         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
80465         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
80466         this updates FSF postal mail address.
80467
80468         Sync from coreutils.
80469         * modules/unlinkdir: New file.
80470         * modules/yesno (Depends-on): Add getline.
80471         * MODULES.html.sh (File system functions): Add unlinkdir.
80472
80473 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80474
80475         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
80476         lib/strsep.h:
80477         Change the initial comment to refer to GPL, not LGPL.
80478         gnulib-tool will change it to LGPL as needed.
80479
80480         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
80481         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
80482         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
80483         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
80484         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
80485         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
80486         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
80487         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
80488         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
80489         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
80490         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
80491         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
80492         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
80493         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
80494         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
80495         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
80496         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
80497         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
80498         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
80499         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
80500         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
80501         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
80502         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
80503         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
80504         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
80505         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
80506         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
80507         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
80508         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
80509         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
80510         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
80511         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
80512         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
80513         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
80514         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
80515         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
80516         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
80517         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
80518         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
80519         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
80520         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
80521         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
80522         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
80523         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
80524         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
80525         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
80526         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
80527         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
80528         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
80529         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
80530         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
80531         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
80532         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
80533         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
80534         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
80535         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
80536         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
80537         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
80538         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
80539         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
80540         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
80541         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
80542         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
80543         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
80544         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
80545         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
80546         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
80547         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
80548         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
80549         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
80550         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
80551         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
80552         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
80553         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
80554         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
80555         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
80556         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
80557         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
80558         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
80559         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
80560         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
80561         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
80562         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
80563         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
80564         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
80565         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
80566         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
80567         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
80568         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
80569         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
80570         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
80571         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
80572         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
80573         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
80574         lib/yesno.c, lib/yesno.h:
80575         Update FSF postal mail address.
80576
80577 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
80578
80579         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
80580         tests/test-memmem.c, tests/test-stpncpy.c:
80581         Update FSF postal mail address.
80582
80583 2005-05-13  Bruno Haible  <bruno@clisp.org>
80584
80585         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
80586         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
80587         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
80588         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
80589         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
80590         Add support for 64-bit integers in the MSVC compiler.
80591
80592 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80593
80594         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
80595
80596 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
80597
80598         * gnulib-tool (func_import): Sort and uniquify recommended includes.
80599
80600 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
80601
80602         * doc/getdate.texi (General date syntax): Don't say that date
80603         date --iso-8601=ns generates acceptable dates; it doesn't yet.
80604         Problem reported by Nic Ferrier.
80605
80606 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80607
80608         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
80609         specified in ai_socktype. Fix invalid ai_protocol
80610         check. ai_protocol is usually set to 0 or depending on
80611         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
80612         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
80613         ai_socktype / ai_protocol in the returned addrinfo structure.
80614
80615 2005-05-10  Simon Josefsson  <jas@extundo.com>
80616
80617         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
80618         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80619
80620 2005-05-10  Karl Berry  <karl@gnu.org>
80621
80622         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
80623         (from http://www.gnu.org/licenses).
80624         * doc/COPYING.LIB: also rename to COPYING.LESSER.
80625         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
80626         fdl.texi suffices.
80627
80628 2005-05-10  Karl Berry  <karl@gnu.org>
80629
80630         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
80631         (COPYING.DOC): remove.
80632
80633         * config/srclist-update: new FSF address.
80634
80635 2005-05-10  Derek Price  <derek@ximbiot.com>
80636
80637         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
80638         possible.
80639
80640 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80641             Bruno Haible  <bruno@clisp.org>
80642
80643         * modules/inet_ntop: New file.
80644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80645         inet_ntop.
80646
80647 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80648             Bruno Haible  <bruno@clisp.org>
80649
80650         * m4/inet_ntop.m4: New file.
80651
80652 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80653             Bruno Haible  <bruno@clisp.org>
80654
80655         * lib/inet_ntop.h: New file.
80656         * lib/inet_ntop.c: New file, from glibc with modifications.
80657
80658 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
80659
80660         * modules/time_r (License): Change to LGPL.
80661         * modules/extensions (License): Change to LGPL.  Actually,
80662         the license is more permissive than that, but currently gnulib-tool
80663         doesn't know how to handle more-permissive licenses.
80664
80665         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
80666         Problem reported by Dave Love.
80667
80668 2005-05-08  Jim Meyering  <jim@meyering.net>
80669
80670         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
80671         blank.
80672
80673 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
80674
80675         * modules/argmatch (Depends-on): Add stdbool.
80676         * modules/backupfile (Depends-on): Likewise.
80677         * modules/chdir-long (Depends-on): Likewise.
80678         * modules/closeout (Depends-on): Likewise.
80679         * modules/cycle-check (Depends-on): Likewise.
80680         * modules/dirname (Depends-on): Likewise.
80681         * modules/fnmatch (Depends-on): Likewise.
80682         * modules/fsusage (Depends-on): Likewise.
80683         * modules/fwriteerror (Depends-on): Likewise.
80684         * modules/getcwd (Depends-on): Likewise.
80685         * modules/getloadavg (Depends-on): Likewise.
80686         * modules/hard-locale (Depends-on): Likewise.
80687         * modules/makepath (Depends-on): Likewise.
80688         * modules/mountlist (Depends-on): Likewise.
80689         * modules/nanosleep (Depends-on): Likewise.
80690         * modules/posixtm (Depends-on): Likewise.
80691         * modules/quotearg (Depends-on): Likewise.
80692         * modules/readtokens (Depends-on): Likewise.
80693         * modules/readtokens0 (Depends-on): Likewise.
80694         * modules/readutmp (Depends-on): Likewise.
80695         * modules/save-cwd (Depends-on): Likewise.
80696         * modules/strftime (Depends-on): Likewise.
80697         * modules/userspec (Depends-on): Likewise.
80698         * modules/utimecmp (Depends-on): Likewise.
80699         * modules/xgetcwd (Depends-on): Likewise.
80700         * modules/xnanosleep (Depends-on): Likewise.
80701         * modules/xstrtod (Depends-on): Likewise.
80702         * modules/yesno (Depends-on): Likewise.
80703
80704 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
80705
80706         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
80707         needless checks.
80708
80709 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80710
80711         Merge from coreutils.  Among other things,
80712         add bulletproofing for cases where stdin, stdout, or stderr are closed.
80713         * lib/fd-safer.c: New file.
80714         * lib/fcntl-safer.h, open-safer.c: Remove.
80715         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
80716         * lib/dup-safer.c: Include unistd-safer.h first.
80717         Don't include errno.h.
80718         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
80719         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
80720         * lib/file-type.c: Rely on file-type.h change.
80721         * lib/getloadavg.c: Include unistd-safer.h.
80722         (getloadavg): Use safer open.
80723         * lib/getusershell.c: Include "stdio-safer.h".
80724         (getusershell): Use safer fopen.
80725         * lib/long-options.c (long_options): Use NULL rather than 0.
80726         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
80727         'free'.
80728         * lib/modechange.c: Likewise.
80729         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
80730         (MODE_DONE): New constant.
80731         (struct mode_change): Remove 'next' member.
80732         (make_node_op_equals): New function; like the old one of the
80733         same name, except it allocates an array.
80734         (mode_compile, mode_create_from_ref): Use it.
80735         (mode_compile): Allocate result as an array, not a linked list.
80736         Parse octal string ourself, so that we catch mistakes like "+0".
80737         (mode_adjust): Arg is an array, not a linked list.
80738         * lib/modechange.c: Include stat-macros.h, xalloc.h.
80739         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
80740         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
80741         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
80742         Remove.  This is now stat-macros.h's job.
80743         (talloc): Remove.  All callers replaced by xalloc, so that
80744         our invokers don't have to worry about reporting memory failures.
80745         (make_node_op_equals): Remove.
80746         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80747         New constants.
80748         (struct mode_change): Moved here from modechange.h.
80749         (mode_append_entry): Remove.
80750         (mode_compile): Remove MASKED_OPS arg, since it encouraged
80751         apps to have incorrect behavior.  Use simpler algorithm for head
80752         and tail.  Don't futz with umask; that's now the job of mode_adjust.
80753         Detect more invalid usages rather than having somewhat-random behavior.
80754         Don't insert an "a=" action, as that leads to incorrect behavior.
80755         (mode_compile, mode_create_from_ref): Return NULL on error instead
80756         of an enum, since now there's only one way to have an error.  All
80757         callers changed.
80758         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
80759         at the correct time.  Simplify calculation of "+u" and its ilk.
80760         Don't mishandle "+X".
80761         (mode_free): Remove "register" and localize decls.
80762         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
80763         (struct mode_change): Move to modechange.c; callers don't
80764         need to see this stuff.
80765         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
80766         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
80767         (mode_change, mode_adjust): Reflect the new signatures noted above.
80768         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
80769         that might redefine system include files.
80770         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
80771         (my_usleep): Use NULL rather than (void *) 0.
80772         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
80773         Use siginterrupt to specify that system calls should be interrupted.
80774         (rpl_nanosleep): Move initialization of suspended closer to call of
80775         my_usleep.
80776         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
80777         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
80778         (desirable_utmp_entry): New function.
80779         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
80780         using x2nrealloc, to simplify logic.
80781         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
80782         size calculation.  Do not assume utmp file is a regular file.
80783         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
80784         (READ_UTMP_CHECK_PIDS): New constant.
80785         * lib/save-cwd.c: Include unistd-safer.h.
80786         (save_cwd): Use fd_safer.
80787         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
80788         [!_LIBC] Include "stat-macros.h" instead.
80789         * lib/unistd-safer.h (fd_safer): New decl.
80790
80791 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80792
80793         * modules/getloadavg (Depends-on): Add unistd-safer.
80794         * modules/getusershell (Depends-on): Add stdio-safer.
80795         * modules/lstat (Depends-on): Remove xalloc.
80796         * modules/mkstemp (Depends-on): Add stat-macros.
80797         * modules/modechange (Depends-on): Remove xstrtol.
80798         Add stat-macros, xalloc.
80799         * modules/save-cwd (Depends-on): Add unistd-safer.
80800         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
80801         * modules/unistd-safer (Files): Add lib/fd-safer.c
80802         (Makefile.am): Remove lib_SOURCES.
80803
80804         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
80805         Remove fcntl-safer; unistd-safer supersedes it.
80806
80807 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80808
80809         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
80810         AC_HEADER_STAT.
80811         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
80812         (gl_PREREQ_CHOWN): Remove.
80813         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
80814         it.  Don't require AC_HEADER_STAT.
80815         (gl_PREREQ_LSTAT): Remove.
80816         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
80817         Don't require AC_HEADER_STAT.
80818         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
80819         (gl_PREREQ_RMDIR): Remove.
80820         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
80821         mention stat-macros.h or AC_HEADER_STAT, since we'll make
80822         the stat-macros module a prerequisite.
80823         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
80824         * m4/filemode.m4 (gl_FILEMODE): Likewise.
80825         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
80826         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
80827         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
80828         variable names.
80829         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
80830         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
80831         variable prefixes.
80832         * m4/fcntl-safer.m4: Remove.
80833         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
80834         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
80835         Invoke gl_PREREQ_FD_SAFER.
80836         (gl_PREREQ_FD_SAFER): New macro.
80837         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
80838         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
80839         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
80840         Remove duplicate call to AC_LIBOBJ(readutmp).
80841         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
80842
80843         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
80844         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
80845
80846 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
80847
80848         * MODULES.html.sh (Misc): Add byteswap.
80849
80850 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80851
80852         * modules/getcwd (Depends-on): Add extensions.
80853         * modules/openat (Depends-on): Likewise.
80854
80855 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80856
80857         * modules/byteswap: New file.
80858
80859 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80860
80861         * m4/byteswap.m4: New file.
80862
80863 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
80864
80865         * lib/byteswap_.h: New file.
80866
80867 2005-04-25  Karl Berry  <karl@gnu.org>
80868
80869         * m4/gettext.m4: Update from GNU gettext 0.14.4.
80870
80871 2005-04-25  Albert Chin  <china@thewrittenword.com>
80872
80873         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
80874         Toolkit C bug.
80875
80876 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
80877
80878         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
80879         (func_ln_if_changed): Remove forcibly for no error message
80880         in case file does not exist.
80881
80882 2005-04-19  Simon Josefsson  <jas@extundo.com>
80883
80884         * gnulib-tool (Options): Make --symlink mean --symbolic.
80885
80886 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
80887
80888         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
80889
80890 2005-04-16  Simon Josefsson  <jas@extundo.com>
80891
80892         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
80893
80894 2005-04-15  Simon Josefsson  <jas@extundo.com>
80895
80896         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
80897
80898 2005-04-15  Simon Josefsson  <jas@extundo.com>
80899
80900         * gnulib-tool: Rename --symlink to --symbolic.
80901
80902 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
80903
80904         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
80905         symbolic links to files instead of copying/moving.  Add --aux-dir,
80906         specifying directory relative --dir where auxiliary build tools
80907         are placed.
80908
80909 2005-04-14  Bruno Haible  <bruno@clisp.org>
80910
80911         * modules/allocsa (License): Change to LGPL.
80912         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
80913
80914 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80915
80916         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
80917         that "UTC +1 second" continues to work.  Problem reported
80918         by Dmitry V. Levin.
80919         (relunit_snumber): New rule.
80920         (relunit): Use it.
80921
80922 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80923
80924         * lib/getdate.y (universal_time_zone_table): New constant.
80925         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
80926         universal_time_zone_table.
80927         (lookup_zone): Prefer universal_time_zone_table to
80928         local_time_zone_table, so that "GMT" time stamps are allowed in
80929         London during the summer.  Problem reported by Ian Abbott.
80930
80931 2005-04-12  Jim Meyering  <jim@meyering.net>
80932
80933         * lib/human.c (humblock): Set *options even when returning due to
80934         xstrtoumax conversion failure.  Thanks to a used-uninitialized
80935         warning from gcc-4.
80936
80937 2005-04-09  Jim Meyering  <jim@meyering.net>
80938
80939         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
80940         -Wuninitialized: initialize tm0.tm_year.
80941
80942 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
80943
80944         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
80945         count, since there's no maximum.  All uses changed.
80946         Add member dsts_seen.
80947         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
80948         not being INT_MAX.
80949         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
80950         Use pc_rels_seen to decide whther a date is absolute.
80951
80952         * lib/getdate.y (number): Don't overwrite year.
80953         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
80954         check.
80955
80956 2005-04-02  Simon Josefsson  <jas@extundo.com>
80957
80958         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
80959         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
80960
80961 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
80962
80963         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
80964         where no absolute path name can be longer than PATH_MAX.
80965
80966 2005-03-27  Jim Meyering  <jim@meyering.net>
80967
80968         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80969
80970 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80971
80972         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80973         "one's complement" -> "ones' complement" in comment, as per Knuth.
80974         "value of type" -> "type or expression" in comment.
80975         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80976
80977 2005-03-26  Jim Meyering  <jim@meyering.net>
80978
80979         Comment nits.
80980         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80981         Correct typos: s/or/of/.
80982
80983 2005-03-26  Jim Meyering  <jim@meyering.net>
80984
80985         * modules/check-include-files: Move to ../ and rename to...
80986         * check-module: ...this.
80987
80988 2005-03-25  Jim Meyering  <jim@meyering.net>
80989
80990         * modules/xvasprintf (Files): Add xalloc.h.
80991
80992 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80993
80994         * modules/gettext (Files): config/config.rpath ->
80995         build-aux/config.rpath
80996         * modules/iconv (Files): Likewise.
80997         Problem reported by Oskar Liljeblad.
80998
80999 2005-03-23  Jim Meyering  <jim@meyering.net>
81000
81001         * modules/check-include-files: New script to check for
81002         missing dependencies, multiple includes, etc.
81003
81004         * modules/c-strtold (Depends-on): Add xalloc.
81005         * modules/c-strtod (Depends-on): Add xalloc.
81006         * modules/hash (Depends-on): Add xalloc.
81007         (Files): Remove lib/xalloc.h.
81008
81009         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81010         * modules/userspec (Files): Add lib/inttostr.h.
81011
81012 2005-03-23  Jim Meyering  <jim@meyering.net>
81013
81014         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81015
81016 2005-03-22  Jim Meyering  <jim@meyering.net>
81017
81018         * modules/stat-macros: New module.
81019         * modules/canonicalize, modules/euidaccess, modules/file-type,
81020         * modules/filemode, modules/lchown, modules/makepath,
81021         * modules/rmdir, modules/stat: Depend on new stat-macros module
81022         rather than listing lib/stat-macros.h manually.
81023         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81024
81025 2005-03-22  Jim Meyering  <jim@meyering.net>
81026
81027         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81028
81029 2005-03-22  Bruno Haible  <bruno@clisp.org>
81030
81031         * config/srclist.txt: Replace target directory 'config' with
81032         'build-aux'.
81033         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81034         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81035         ../build-aux/.
81036
81037 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81038
81039         * modules/chdir-long (Depends-on): Add mempcpy.
81040
81041         * modules/acl, modules/backupfile, modules/c-strtod,
81042         modules/c-strtold, modules/canon-host, modules/canonicalize,
81043         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81044         modules/exclude, modules/exitfail, modules/file-type,
81045         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81046         modules/getdate, modules/getline, modules/getpagesize,
81047         modules/getpass, modules/getugroups, modules/group-member,
81048         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81049         modules/inttostr, modules/long-options, modules/makepath,
81050         modules/md5, modules/memcasecmp, modules/memcoll,
81051         modules/modechange, modules/mountlist, modules/path-concat,
81052         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81053         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81054         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81055         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81056         modules/strftime, modules/strndup, modules/strverscmp,
81057         modules/timespec, modules/unlocked-io, modules/userspec,
81058         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81059         modules/yesno:
81060         Remove lib_SOURCES line from Makefile.am section, as this is now
81061         done automatically by the corresponding Autoconf macro.
81062
81063 2005-03-21  Jim Meyering  <jim@meyering.net>
81064
81065         Changes imported from coreutils.
81066
81067         * lib/cycle-check.c: Don't include xalloc.h.
81068
81069         * lib/path-concat.c: Don't include assert.h.
81070         (path_concat): Remove assertion that would have triggered
81071         for ABASE starting with more than one slash.
81072         Reported by Andreas Schwab.
81073
81074         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81075         properly when ABASE is an absolute file name.
81076         Correct the description of this function.
81077         Include <assert.h>.
81078         Add an assertion and a test driver.
81079         This fixes a bug introduced on 2004-07-02.
81080         Andreas Schwab reported the resulting failure of cp --parents:
81081         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81082
81083 2005-03-21  Jim Meyering  <jim@meyering.net>
81084
81085         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81086         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81087
81088 2005-03-21  Jim Meyering  <jim@meyering.net>
81089         and  Paul Eggert  <eggert@cs.ucla.edu>
81090
81091         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81092         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81093         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81094         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81095         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81096         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81097         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81098         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81099         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81100         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81101         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81102         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81103         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81104         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81105         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81106         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81107         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81108         for these modules.
81109
81110 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81111
81112         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81113         (which shouldn't happen), generate nothing instead of returning 0
81114         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81115
81116 2005-03-16  Bruno Haible  <bruno@clisp.org>
81117
81118         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81119         HAVE_LONGLONG_64BIT.
81120
81121 2005-03-16  Bruno Haible  <bruno@clisp.org>
81122
81123         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81124         HAVE_LONGLONG_64BIT.
81125
81126 2005-03-16  Bruno Haible  <bruno@clisp.org>
81127
81128         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81129         HAVE_LONGLONG_64BIT.
81130
81131 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81132
81133         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81134         reliably distinguish strftime failure from empty output on POSIX
81135         hosts.
81136
81137 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81138
81139         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81140         (iconv_string): Don't guess a size-zero buffer, as that might cause
81141         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81142         result would be 'too large', where 'too large' is (heuristically)
81143         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81144         overflow concerns.  This will prevent some unwanted malloc failures
81145         when the inputs are very large.
81146
81147 2005-03-15  Karl Berry  <karl@gnu.org>
81148
81149         * config/srclist.txt (config.rpath): from gettext.
81150         * config/config.rpath: update.
81151
81152 2005-03-15  Bruno Haible  <bruno@clisp.org>
81153
81154         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81155         to 'negate'.
81156
81157         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81158         variable.
81159
81160         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81161         results.
81162
81163 2005-03-14  Simon Josefsson  <jas@extundo.com>
81164
81165         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81166         <fx@gnu.org>.
81167
81168 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81169
81170         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81171         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81172         intprops.h.
81173         * lib/strtol.c: Likewise.
81174
81175 2005-03-14  Jim Meyering  <jim@meyering.net>
81176
81177         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81178         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81179         to be nonzero so that we (and caller) can detect the difference
81180         between a valid zero-length expansion and an error return, even
81181         when the underlying strftime fails before writing anything into
81182         that location.
81183
81184 2005-03-14  Bruno Haible  <bruno@clisp.org>
81185
81186         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81187         Update from GNU gettext 0.14.3.
81188
81189 2005-03-10  Jim Meyering  <jim@meyering.net>
81190
81191         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81192
81193 2005-03-10  Jim Meyering  <jim@meyering.net>
81194
81195         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81196         so that this module works on systems without fchdir.
81197
81198 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81199
81200         Factor int-properties macros into a single file, except for
81201         glibc-related files.
81202         * lib/intprops.h: New file.
81203         * lib/getloadavg.c: Include it instead of limits.h.
81204         (INT_STRLEN_BOUND): Remove.
81205         * lib/human.c: Include intprops.h.
81206         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81207         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81208         302/1000.
81209         * lib/inttostr.h: Include intprops.h instead of limits.h.
81210         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81211         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81212         for consistency with intprops.h.
81213         (time_t_is_integer, twos_complement_arithmetic): Use them.
81214         * lib/sig2str.h: Include <signal.h>, intprops.h.
81215         (INT_STRLEN_BOUND): Remove.
81216         * lib/strftime.c (TYPE_SIGNED): Remove.
81217         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81218         * lib/strtol.c: Adjust comments to match intprops.h.
81219         * lib/userspec.c: Include intprops.h.
81220         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81221         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81222         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81223         instead of rolling our own expressions.
81224         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81225
81226         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81227         instead of int.
81228         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81229         the right thing even if adding 1900 would overflow.  Similarly
81230         for tm_mon + 1 and tm_yday + 1.
81231         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81232         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81233         (DO_SIGNED_NUMBER): New macro.
81234         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81235
81236 2005-03-07  Bruno Haible  <bruno@clisp.org>
81237
81238         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81239
81240 2005-03-07  Bruno Haible  <bruno@clisp.org>
81241
81242         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81243
81244 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81245
81246         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81247         (func_import): Only replace files via --import when they have actually
81248         changed.
81249
81250 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81251
81252         * m4/mmap-anon.m4: New file.
81253         * m4/pagealign_alloc.m4: New file.
81254
81255 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81256             Bruno Haible  <bruno@clisp.org>
81257
81258         * modules/pagealign_alloc: New file.
81259         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81260
81261 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81262             Bruno Haible  <bruno@clisp.org>
81263
81264         * lib/pagealign_alloc.h: New file.
81265         * lib/pagealign_alloc.c: New file.
81266
81267 2005-03-03  Bruno Haible  <bruno@clisp.org>
81268
81269         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81270         Use an all-permissive copyright notice, recommended by RMS.
81271
81272 2005-03-02  Bruno Haible  <bruno@clisp.org>
81273
81274         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81275         of AIX, the replacement has to be done only after <string.h> is
81276         included, therefore not in config.h. stpncpy.h does the replacement,
81277         and stpncpy.c uses it.
81278
81279 2005-03-02  Bruno Haible  <bruno@clisp.org>
81280
81281         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81282         stpncpy.c uses it.
81283
81284 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81285
81286         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81287         The workaround isn't strictly needed for POSIX conformance, and
81288         it's too much of a pain to configure and maintain.  We'll ask
81289         people to fix their kernels instead.
81290         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81291         (NANOSLEEP_BUG_WORKAROUND): Remove.
81292         (xnanosleep): Remove the workaround.
81293
81294 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81295
81296         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81297         Reported by Derek Price.
81298         (Include): Add "timespec.h".
81299
81300         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81301
81302 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81303
81304         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81305         to detect nanosleep bug.
81306
81307 2005-03-01  Bruno Haible  <bruno@clisp.org>
81308
81309         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81310
81311 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81312
81313         * modules/gethrxtime: New file.
81314         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81315         (Depends-on): Add gethrxtime.
81316         (configure.ac): Add gl_XNANOSLEEP.
81317         (Makefile.am): Remove lib_SOURCES line.
81318
81319 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81320
81321         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81322         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81323
81324 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81325
81326         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81327         * lib/timespec.h (gettime): Return void, since it always
81328         succeeds now.  All uses changed.
81329         * lib/gettime.c (gettime): Likewise.
81330         [HAVE_NANOTIME]: Prefer nanotime.
81331         Assume gettimeofday succeeds, as POSIX requires.
81332         Assime time () succeeds, since other code already does.
81333         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
81334         (timespec_subtract): Remove.
81335         (NANOSLEEP_BUG_WORKAROUND): New constant.
81336         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
81337         things considerably.  Use it only on GNU/Linux hosts, since the
81338         workaround shouldn't be needed elsewhere.
81339
81340 2005-02-24  Bruno Haible  <bruno@clisp.org>
81341
81342         * modules/gettext (Files): Add m4/glibc2.m4.
81343
81344 2005-02-24  Bruno Haible  <bruno@clisp.org>
81345
81346         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
81347         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
81348         * m4/progtest.m4:
81349         Update from GNU gettext 0.14.2.
81350         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
81351
81352 2005-02-24  Bruno Haible  <bruno@clisp.org>
81353
81354         * lib/localcharset.c: Update from GNU gettext 0.14.2.
81355         * lib/config.charset: Update from GNU gettext 0.14.2.
81356
81357 2005-02-24  Bruno Haible  <bruno@clisp.org>
81358
81359         * lib/gettext.h: Update from GNU gettext 0.14.2.
81360
81361 2005-02-23  Simon Josefsson  <jas@extundo.com>
81362
81363         * m4/iconvme.m4: New file.
81364
81365 2005-02-23  Jim Meyering  <jim@meyering.net>
81366
81367         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
81368         change.
81369         Thanks to Bruno Haible for catching it.
81370
81371 2005-02-22  Simon Josefsson  <jas@extundo.com>
81372
81373         * modules/iconvme: New file.
81374
81375         * MODULES.html.sh: Add iconvme.
81376
81377 2005-02-22  Simon Josefsson  <jas@extundo.com>
81378
81379         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
81380
81381 2005-02-22  Simon Josefsson  <jas@extundo.com>
81382
81383         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
81384
81385 2005-02-22  Jim Meyering  <jim@meyering.net>
81386
81387         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
81388         s/ifndef/ifdef/.
81389
81390 2005-02-20  Neil Conway  <neilc@samurai.com>
81391
81392         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
81393         returned by OSX/Darwin if the specified buffer is not large
81394         enough for the hostname.
81395
81396 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81397
81398         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
81399         pass it to _help, otherwise the latter coredumps trying to
81400         dereference state.root_argp.
81401
81402 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81403
81404         * modules/chdir-long (Depends-on): Add memrchr.
81405         * modules/memrchr (Files): Add lib/memrchr.h.
81406         (Include): "memrchr.h".
81407
81408 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81409
81410         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
81411
81412 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * lib/memrchr.h: New file.
81415         * lib/chdir-long.c: Include it.
81416         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
81417         Don't bother including stddef.h.
81418
81419 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
81420
81421         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
81422         inclusion.
81423         Include <sys/types.h>, for dev_t.
81424         (ME_DUMMY, ME_REMOTE): Move from here....
81425         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
81426         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
81427         Dmitry V. Levin.
81428         Include mountlist.h first, to test the interface.
81429
81430 2005-01-29  Bruno Haible  <bruno@clisp.org>
81431
81432         * lib/progname.c (program_name): Initialize.
81433         Needed when linking statically on MacOS X.
81434
81435 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81436
81437         Sync from coreutils.
81438         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
81439         (Depends-on): Add c-strtod.
81440         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
81441
81442 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
81443
81444         Sync from coreutils.
81445         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
81446
81447         Remove files that are specific to coreutils.
81448         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
81449
81450 2005-01-28  Bruno Haible  <bruno@clisp.org>
81451
81452         * modules/javacomp: New file.
81453         * MODULES.html.sh (Java): Add javacomp.
81454
81455 2005-01-28  Bruno Haible  <bruno@clisp.org>
81456
81457         * m4/javacomp.m4: New file, from GNU gettext.
81458
81459 2005-01-28  Bruno Haible  <bruno@clisp.org>
81460
81461         * lib/javacomp.sh.in: New file, from GNU gettext.
81462         * lib/javacomp.h: New file, from GNU gettext.
81463         * lib/javacomp.c: New file, from GNU gettext.
81464
81465 2005-01-26  Simon Josefsson  <jas@extundo.com>
81466
81467         * lib/gai_strerror.c: Use GPL in header.
81468
81469 2005-01-26  Bruno Haible  <bruno@clisp.org>
81470
81471         * modules/javaexec: New file.
81472         * MODULES.html.sh (Java): Add javaexec.
81473
81474 2005-01-26  Bruno Haible  <bruno@clisp.org>
81475
81476         * m4/javaexec.m4: New file, from GNU gettext.
81477
81478 2005-01-26  Bruno Haible  <bruno@clisp.org>
81479
81480         * lib/javaexec.sh.in: New file, from GNU gettext.
81481         * lib/javaexec.h: New file, from GNU gettext.
81482         * lib/javaexec.c: New file, from GNU gettext.
81483
81484 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81485
81486         * modules/lchown (Depends-on): Remove lchown.h
81487
81488 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81489
81490         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
81491         must be defined if the header file was not found, in order
81492         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
81493
81494 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81495
81496         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
81497         initializers for struct pentry_state.
81498         (__argp_error): Check return value of __asprintf
81499         (__argp_failure): Translate error message
81500
81501         * lib/argp-parse.c: Removed braces around the expansion of N_()
81502
81503 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81504
81505         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
81506         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
81507         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
81508         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
81509         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
81510         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
81511         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
81512         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
81513         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
81514         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
81515         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
81516         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
81517         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
81518         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
81519         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
81520         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
81521         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
81522         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
81523         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
81524         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
81525         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
81526         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
81527         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
81528         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
81529         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
81530         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
81531         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
81532         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
81533         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
81534         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
81535         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
81536         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
81537         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
81538         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
81539         xstrtol.m4, xstrtoumax.m4, yesno.m4:
81540         Use an all-permissive copyright notice, recommended by RMS.
81541
81542 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
81543
81544         * modules/chdir-long (Depends-on): Remove mempcpy.
81545
81546 2005-01-21  Jim Meyering  <jim@meyering.net>
81547
81548         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
81549         same value as for Solaris 9.
81550
81551         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
81552         component length.  This included changing the parameter to be
81553         of type `char *' rather than `char const *'.
81554         * lib/chdir-long.h (chdir_long): Update prototype.
81555
81556         * lib/openat.c (fdopendir, fstatat): New functions.
81557         * lib/openat.h: Include headers required for use of DIR and struct
81558         stat.
81559         [AT_SYMLINK_NOFOLLOW]: Define.
81560         (fdopendir, fstatat): Add prototypes.
81561
81562 2005-01-21  Bruno Haible  <bruno@clisp.org>
81563
81564         * modules/classpath: New file.
81565         * MODULES.html.sh (Java): Add classpath.
81566
81567 2005-01-21  Bruno Haible  <bruno@clisp.org>
81568
81569         * lib/classpath.h: New file, from GNU gettext.
81570         * lib/classpath.c: New file, from GNU gettext.
81571
81572 2005-01-20  Simon Josefsson  <jas@extundo.com>
81573
81574         * modules/version-etc-fsf: New file.
81575
81576 2005-01-20  Simon Josefsson  <jas@extundo.com>
81577
81578         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
81579         * lib/version-etc.c: Remove version_etc_copyright.
81580         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
81581         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
81582
81583 2005-01-20  Simon Josefsson  <jas@extundo.com>
81584
81585         * lib/base64.h (isbase64): Add.
81586
81587         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
81588         using a unsigned prototype, don't inline.
81589         (base64_decode): Use it.
81590
81591 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
81594         it.
81595
81596 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81597
81598         * lib/save-cwd.c (save_cwd): Remove code to support the case
81599         where fchdir is missing or flaky.
81600
81601 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81602
81603         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
81604
81605 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
81606
81607         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
81608         AC_LIBSOURCES now does this.
81609         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
81610         with new ullong_max module.
81611
81612 2005-01-19  Bruno Haible  <bruno@clisp.org>
81613
81614         * modules/sh-quote: New file.
81615         * MODULES.html.sh (Executing programs): Add sh-quote.
81616
81617 2005-01-19  Bruno Haible  <bruno@clisp.org>
81618
81619         * lib/sh-quote.h: New file, from GNU gettext.
81620         * lib/sh-quote.c: New file, from GNU gettext.
81621
81622 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81623
81624         Merge from coreutils.
81625         * m4/ullong_max.m4: New file.
81626         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
81627         (gl_MACROS): Assume localeconv exists.
81628
81629 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81630
81631         Merge changes from coreutils, as described below in several
81632         changelogs dated today.
81633
81634         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
81635         (O_DIRECTORY): Remove; not needed here, since "." must be
81636         a directory.  All uses removed.
81637         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
81638         universal on Suns, and we also need to test for IRIX.
81639         Revamp code to use 'if' rather than '#if'.
81640         Avoid unnecessary comparison of cwd->desc to 0.
81641
81642         * lib/utimens.c (futimens): Robustify the previous patch, by checking
81643         for known valid error numbers rather than observed invalid ones.
81644
81645 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
81646
81647         * modules/ullong_max: New file.
81648
81649         * modules/chdir-long, modules/openat: New files.
81650         * modules/save-cwd (Depends-on): Depend on chdir-long.
81651         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
81652
81653 2005-01-18  Jim Meyering  <jim@meyering.net>
81654
81655         Merge from coreutils.
81656         * m4/chdir-long.m4, m4/openat.m4: New files.
81657         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
81658         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
81659         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
81660         is sane and DOES follow symlinks.  Besides, testing 20 different
81661         systems found no broken chown implementations.
81662         Prompted by a change in rsync's copy of this macro.
81663         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
81664
81665         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
81666
81667         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
81668         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
81669         NULL-means-set-to-current-time semantics.
81670         Remove temporary file immediately, rather than waiting
81671         for configure's at-exit trap code to do it.
81672
81673 2005-01-18  Jim Meyering  <jim@meyering.net>
81674
81675         * lib/version-etc.c (version_etc_copyright): Update copyright date.
81676
81677         * lib/utimens.c (futimens): Account for the fact that futimes
81678         can also fail with errno == ENOSYS or errno == ENOENT.
81679         Patch from Dmitry V. Levin.
81680
81681         Change the name of the robust chdir function from chdir to chdir_long.
81682         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
81683         (restore_cwd): Use chdir_long, not chdir.
81684         * lib/chdir-long.c: Renamed from chdir.c.
81685         * lib/chdir-long.h: Renamed from chdir.h.
81686         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
81687         Hurd.
81688
81689 2005-01-18  Bruno Haible  <bruno@clisp.org>
81690
81691         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
81692         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
81693         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
81694         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
81695         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
81696         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
81697         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
81698         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
81699         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
81700         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
81701         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
81702         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
81703         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
81704         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
81705         Use an all-permissive copyright notice, recommended by RMS.
81706
81707 2005-01-18  Bob Proulx  <bob@proulx.com>
81708
81709         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
81710         simplify offsetof() macro construct to avoid compile failure with
81711         native HP-UX 11.0 ANSI C compiler.
81712
81713 2005-01-17  Bruno Haible  <bruno@clisp.org>
81714
81715         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
81716         redundant because stpncpy.m4 takes care of it.
81717
81718 2005-01-17  Bruno Haible  <bruno@clisp.org>
81719
81720         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
81721
81722 2005-01-17  Bruno Haible  <bruno@clisp.org>
81723
81724         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
81725         used.
81726
81727 2005-01-17  Bruno Haible  <bruno@clisp.org>
81728
81729         * lib/fwriteerror.h (fwriteerror): Change specification to include
81730         fclose.
81731         * lib/fwriteerror.c: Include <stdbool.h>.
81732         (fwriteerror): At the end, close the file stream. Record whether
81733         stdout was already closed.
81734
81735 2005-01-17  Bruno Haible  <bruno@clisp.org>
81736
81737         * lib/execute.c (environ): Declare if needed.
81738         * lib/pipe.c (environ): Likewise.
81739         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
81740
81741 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81742
81743         * modules/argp: Depend on vsnprintf
81744
81745 2005-01-10  Jim Meyering  <jim@meyering.net>
81746
81747         * modules/closeout (Depends-on): Add atexit.
81748
81749 2005-01-06  Bruno Haible  <bruno@clisp.org>
81750
81751         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
81752
81753 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81754
81755         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
81756         definitions to be after all include files, to avoid collisions.
81757         Problem reported by Bob Proulx.
81758
81759 2005-01-04  Jim Meyering  <jim@meyering.net>
81760
81761         Changes imported from coreutils.
81762         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
81763         as the mkstemp template, use a temporary directory and an
81764         8.3-friendly template to avoid trouble on systems like DJGPP.
81765         Reported by Juan M. Guerrero via Stepan Kasal.
81766         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
81767         close. Remove the temporary directory right away, rather than waiting
81768         for configure's at-exit trap code to do it.
81769         Suggestion from Stepan Kasal.
81770
81771 2005-01-01  Simon Josefsson  <jas@extundo.com>
81772
81773         * gnulib-tool: Print #include directives when --import'ing.
81774
81775 2004-12-28  Simon Josefsson  <jas@extundo.com>
81776
81777         * tests/test-base64.c: Include required header files.  Remove
81778         unused variables.
81779
81780 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81781
81782         * modules/error (Depends-on): Remove gettext.
81783
81784 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
81785
81786         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
81787         not needed.  This removes a dependency on the gettext module.
81788         [defined _LIBC]: Do not include <libintl.h>; not needed.
81789
81790 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81791
81792         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
81793         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
81794
81795 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
81796
81797         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
81798         HAVE_DECL_STRTOLD.
81799
81800 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81801
81802         * modules/getdate (Depends-on): Remove alloca-opt.
81803
81804 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81805
81806         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
81807
81808 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
81809
81810         * lib/argp-parse.c: Include <stddef.h>.
81811         (alignof, alignto): New macros.
81812         (parser_init): Don't assume that void * is aligned sufficiently
81813         for struct option.
81814
81815         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
81816         need to extend the stack.
81817         (YYINITDEPTH): New macro, so that the initial stack isn't overly
81818         large.
81819
81820 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81821
81822         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
81823
81824 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81825
81826         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
81827         (2004-10-24) change.  Apparently this was a false alarm.
81828
81829         * modules/getdate: Depend on alloca-opt, not alloca.
81830
81831 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
81832
81833         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
81834         Remove now-obsolete comment about AIX.
81835         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
81836         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
81837         (YYMAXDEPTH): New macro.
81838
81839 2004-12-18  Simon Josefsson  <jas@extundo.com>
81840
81841         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
81842
81843 2004-12-18  Bruno Haible  <bruno@clisp.org>
81844
81845         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
81846
81847 2004-12-18  Bruno Haible  <bruno@clisp.org>
81848
81849         * lib/fatal-signal.c (fatal_signals): Make non-const.
81850         (init_fatal_signals): New function.
81851         (uninstall_handlers, install_handlers): Ignore signals that were set to
81852         SIG_IGN.
81853         (at_fatal_signal): Call init_fatal_signals.
81854         (init_fatal_signal_set): Likewise. Ignore signals that were set to
81855         SIG_IGN.
81856         Reported by Paul Eggert.
81857
81858 2004-12-18  Bruno Haible  <bruno@clisp.org>
81859
81860         * doc/alloca.texi: New file.
81861         * doc/alloca-opt.texi: New file.
81862
81863 2004-12-17  Jim Meyering  <jim@meyering.net>
81864
81865         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
81866         Otherwise, install-sh could exit with improper exit status when
81867         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
81868
81869 2004-12-16  Simon Josefsson  <jas@extundo.com>
81870
81871         * tests/test-base64.c: Add license.
81872
81873 2004-12-15  Stepan Kasal  <address@hidden>
81874
81875         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
81876
81877 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
81878
81879         * modules/getcwd (Files): Add m4/d-ino.m4.
81880         Suggested by Mark D. Baushke.
81881
81882 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81883
81884         * lib/getdate.y (textint): New member "negative".
81885         (time_zone_hhmm): New function.
81886         Expect 14 shift-reduce conflicts, not 13.
81887         (o_colon_minutes): New rule.
81888         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
81889         (yylex): Set the "negative" member of signed numbers.
81890
81891 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
81892
81893         * doc/getdate.texi (Time of day items, Time zone items):
81894         Describe new formats +00:00, UTC+00:00.
81895
81896 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81897
81898         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
81899         spurious "-l"s.  Problem reported by Stepan Kasal.
81900
81901 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
81902
81903         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
81904         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
81905
81906 2004-12-04  Simon Josefsson  <jas@extundo.com>
81907
81908         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
81909         Vandoorselaere <yoann@prelude-ids.org>.
81910
81911 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81912
81913         Changes imported from coreutils.
81914         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
81915         exist.
81916         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
81917
81918 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81919
81920         Changes imported from coreutils.
81921         * lib/hard-locale.c: Assume <locale.h> exists.
81922         Include "strdup.h".
81923         (GLIBC_VERSION): New macro.
81924         (hard_locale): Assume setlocale exists.
81925         Rewrite to avoid #ifdef.
81926         Use strdup rather than malloc + strcpy.
81927         * lib/human.c: Assume <locale.h> exists.
81928         (human_readable): Assume localeconv exists.
81929
81930 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
81931
81932         * modules/hard-locale (Depends-on): Add strdup.
81933
81934 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
81935
81936         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
81937         convert T2, not T.  (Imported from libc.)
81938
81939 2004-11-30  Simon Josefsson  <jas@extundo.com>
81940
81941         * modules/restrict (License): Change to LGPL.
81942
81943 2004-11-30  Simon Josefsson  <jas@extundo.com>
81944
81945         * m4/restrict.m4: Add copyright and copying conditions.
81946
81947 2004-11-30  Simon Josefsson  <jas@extundo.com>
81948
81949         * m4/base64.m4: New file.
81950
81951 2004-11-30  Simon Josefsson  <jas@extundo.com>
81952
81953         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
81954         base64.
81955
81956         * tests/test-base64.c: New file.
81957
81958         * modules/base64: New file.
81959
81960 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81961
81962         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
81963         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
81964
81965         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81966
81967 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81968
81969         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81970         (__getcwd.c): Don't restore errno; glibc doesn't.
81971         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81972         first, falling back to our code only if its results look suspicious.
81973         Ensure that the resulting buffer is only as large as necessary.
81974
81975         * lib/readutmp.c: Include readutmp.h first.
81976         Include <errno.h>, since readutmp.h no longer does that.
81977         * lib/readutmp.h: Don't include <errno.h>,
81978         <sys/param.h>, <time.h>; not needed to establish interface.
81979         (errno): Remove decl.
81980         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81981         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81982         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81983
81984 2004-11-28  Simon Josefsson  <jas@extundo.com>
81985
81986         * lib/base64.h, base64.c: New file.
81987
81988 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81989
81990         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81991
81992 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81993
81994         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81995         (Depends-on): Remove pathmax, same.  Add mempcpy.
81996         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81997         (Makefile.am): Append getcwd.h to lib_SOURCES.
81998         (Include): Add getcwd.h.
81999         (Maintainer): Change from Jim Meyering to "all, glibc",
82000         since getdate now uses intended-for-glibc code.
82001         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82002         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82003
82004 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82005
82006         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82007         HP's ANSI C compiler.
82008         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82009         Declaring int functions causes warnings on some modern systems and
82010         shouldn't be needed to compile on ancient ones.
82011         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82012         defined.
82013
82014         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82015         with the following changes.
82016         (__set_errno): Parenthesize properly.
82017         Include <stdbool.h>.
82018         (MIN, MAX, MATCHING_INO): New macros.
82019         (__getcwd): Define with prototype, not K&R form.
82020         Use heuristics to allocate default buffer on stack if possible.
82021         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82022         behavior, and to avoid the PATH_MAX limit when computing
82023         ../../../../...
82024         Use MATCHING_INO to compare inode number to file.
82025         Check for arithmetic overflow in size calculations.
82026         Fix bug in reallocation of dot array that caused getcwd to fail
82027         on directories nested deeper than 75.
82028         Be more careful about saving errno on error.
82029         Do not use realloc; use only free+malloc, as this is a bit
82030         more flexible and avoids a needless copy operation.
82031         Do not inspect st_dev and st_ino for symbolic links; POSIX
82032         doesn't specify the latter.
82033         Check for closedir errors.
82034         Avoid needless casts.
82035         Use "#ifdef weak_alias" around weak_alias, to be like other
82036         glibc code.
82037         The following changes to getcwd.c have effect only when used in
82038         gnulib; they have no effect inside glibc proper.
82039         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82040         as alloca isn't used.
82041         (alloca, __alloca): Likewise.
82042         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82043         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82044         unconditionally, as gnulib assumes C89 or better.
82045         Do not include <sys/param.h>.
82046         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82047         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82048         better.
82049         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82050         Include <dirent.h> in a way that is compatible with modern Autoconf.
82051         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82052         New macros, if not already defined.
82053         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82054         Use "_LIBC", not "defined _LIBC", for consistency.
82055         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82056         a mempcpy module.
82057         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82058         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82059         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82060         credit only to Jim Meyering and adjust the copyright dates.
82061         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82062         <stdlib.h>, <unistd.h>, "pathmax.h".
82063         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82064         (INITIAL_BUFFER_SIZE): Remove.
82065         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82066
82067 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82068
82069         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82070         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82071         Use the _ONCE methods, for efficiency.
82072         Check for fcntl.h.  In test program, include <errno.h>
82073         and <fcntl.h> if available.  Remove old K&R cruft from
82074         test program.  Check for common errors in GNU/Linux,
82075         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82076         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82077         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82078         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82079         name accordingly.
82080         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82081         accommodate new getcwd.c.
82082         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82083         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82084         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82085         that's all we need now.
82086
82087 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82088
82089         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82090         argp-parse.c depends on getopt internals, that means we should
82091         always use our getopt, to be on the safe side.
82092         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82093         order not to spoil the result of an eventual previous invocation
82094         of gl_GETOPT_SUBSTITUTE.
82095
82096 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82097
82098         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82099         redefinition warnings. To avoid them, include the defines
82100         in `#if !defined __need_getopt ... #endif'. The only place
82101         where __getopt_argv_const is used is in definitions
82102         of getopt_long and getopt_long_only below, which are as well
82103         protected by `#ifndef __need_getopt'.
82104         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82105         __need_getopt after including <stdio.h> and <unistd.h> These
82106         headers might have defined it.
82107
82108 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82109
82110         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82111
82112 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82113
82114         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82115         (futimens): New function, which uses futimes if available.
82116         (futimens, utimens): Support timespec==NULL, with same semantics
82117         as utime and utimens.
82118         * lib/utimens.h (futimens): New decl.
82119
82120 2004-11-23  Jim Meyering  <jim@meyering.net>
82121
82122         * lib/getopt_.h: Remove trailing blanks.
82123
82124 2004-11-23  Jim Meyering  <jim@meyering.net>
82125
82126         * lib/__fpending.c: Add comment.
82127
82128 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82129
82130         * modules/canonicalize (Depends-on): Add xreadlink.
82131         Problem reported by James Youngman.
82132
82133 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82134
82135         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82136         New macros.
82137         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82138         optopt): Use them instead of invoking ## directly; otherwise, the
82139         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82140
82141 2004-11-19  Bruno Haible  <bruno@clisp.org>
82142
82143         * lib/strtok_r.c: Move comments from here...
82144         * lib/strtok_r.h: ... to here.
82145
82146 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82147
82148         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82149         implementations that mishandle size_t overflow.
82150
82151 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82152
82153         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82154         might fail.  Problem reported by Yoann Vandoorselaere.
82155         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82156         implementations that mishandle size_t overflow.
82157
82158 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82159
82160         * modules/canon-host (Depends-on): Add strdup.
82161
82162 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82163
82164         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82165
82166 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82167
82168         * lib/canon-host.c: Include "strdup.h".
82169         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82170         Use strdup instead of malloc/strcpy to duplicate strings.
82171
82172         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82173         (human_space_before_unit): New constant.
82174         * lib/human.c (human_readable): Support it.
82175
82176         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82177         (xgetcwd): Set errno correctly when failing.
82178         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82179         the failure is actually due to a PATH_MAX problem.
82180
82181         Further getopt changes to make it more likely that glibc will
82182         buy the changes back.
82183         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82184         (getopt): Use it, so to preserve glibc semantic
82185         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82186         when compiling for libc.
82187         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82188         (getopt_long, getopt_long_only): Use it.
82189
82190         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82191         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82192         (getopt): Argv is now char * const *, as per standard.
82193         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82194         not char *__getopt_argv_const *.
82195         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82196         _getopt_long_only_r): Likewise.
82197         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82198         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82199         _getopt_long_r, _getopt_long_only_r): Likewise.
82200         * lib/getopt_.h (__getopt_argv_const): Remove.
82201         (getopt): Argv is now char * const *, as per standard.
82202
82203         * lib/getdate.y (tORDINAL): New token.
82204         (day, relunit): Allow it for relative times.
82205         (relative_time_table): Use tORDINAL for ordinals.
82206
82207 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82208
82209         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82210         Document that "second" isn't allowed as an ordinal number.
82211
82212 2004-11-16  Jim Meyering  <jim@meyering.net>
82213
82214         * modules/closeout (Depends-on): Add fpending.
82215
82216 2004-11-15  Jim Meyering  <jim@meyering.net>
82217
82218         * lib/closeout.c: Include "__fpending.h" once again.
82219         Include <stdbool.h>.
82220         (close_stdout): Don't fail just because stdout was closed initially,
82221         since some programs don't write to stdout in the normal course of
82222         operation (other than --version and --help), and we don't want this
82223         function to make e.g. `touch file >&-' fail.
82224         But do fail if it was closed and someone has tried to write to it.
82225         E.g., `printf foo >&-' must fail.
82226
82227 2004-11-13  Jim Meyering  <jim@meyering.net>
82228
82229         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82230
82231 2004-11-12  Simon Josefsson  <jas@extundo.com>
82232
82233         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82234         small doc fix is still pending.
82235
82236 2004-11-11  Simon Josefsson  <jas@extundo.com>
82237
82238         * modules/strtok_r: New file.
82239
82240         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82241         strtok_r.
82242
82243 2004-11-11  Simon Josefsson  <jas@extundo.com>
82244
82245         * m4/strtok_r.m4: New file.
82246
82247         * m4/getopt.m4: Replace opterr.
82248
82249 2004-11-11  Simon Josefsson  <jas@extundo.com>
82250
82251         * lib/strtok_r.h, strtok_r.c: New file.
82252
82253 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82254
82255         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82256         of replacing opterr, getopt, etc.  This should handle the
82257         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82258
82259 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82260
82261         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82262         we can stop lying to compilers about the constness of argv when we
82263         are compiled outside glibc.
82264         (getopt, getopt_long, getopt_long_only): Use it.
82265         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82266         _getopt_internal, getopt): Likewise.
82267         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82268         _getopt_long_only_r): Likewise.
82269         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82270         _getopt_long_r, _getopt_long_only_r): Likewise.
82271
82272         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82273         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82274         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82275         the other external symbols.
82276         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82277         declaration, since the above renaming now works around collisions.
82278
82279 2004-11-11  Jim Meyering  <jim@meyering.net>
82280
82281         * lib/linebreak.c: Remove trailing blanks.
82282         * lib/alloca_.h: Likewise.
82283         * lib/acosl.c: Likewise.
82284         * lib/euidaccess.c: Likewise.
82285         * lib/allocsa.h: Likewise.
82286
82287 2004-11-10  Simon Josefsson  <jas@extundo.com>
82288
82289         * m4/getaddrinfo.m4: New file.
82290
82291 2004-11-10  Simon Josefsson  <jas@extundo.com>
82292
82293         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82294
82295 2004-11-10  Simon Josefsson  <jas@extundo.com>
82296
82297         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82298         getaddrinfo.
82299
82300         * modules/getaddrinfo: New file.
82301
82302 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82303
82304         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82305
82306 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82307
82308         * lib/mktime.c (SHR): New macro, which is a portable
82309         substitute for >> that should work even on Crays.
82310         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82311         Problem reported by Mark D. Baushke in
82312         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82313         * lib/getdate.y (SHR): Likewise.
82314         (tm_diff): Use it.
82315         * lib/strftime.c (SHR): Likewise.
82316         (tm_diff): Use it.
82317         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82318         quote_these_too, so that right shifts are well defined.  All uses
82319         changed.
82320
82321 2004-11-10  Jim Meyering  <jim@meyering.net>
82322
82323         Ensure that no close failure goes unreported.
82324         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82325         return early when it seems there's nothing to flush.
82326         Don't include __fpending.h.
82327
82328 2004-11-10  Jim Meyering  <jim@meyering.net>
82329
82330         * modules/closeout (Depends-on): Remove fpending.
82331
82332 2004-11-10  Jim Meyering  <jim@meyering.net>
82333
82334         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
82335
82336 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
82339         gl_FUNC_STRFTIME.
82340         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
82341         and AC_REQUIRE when possible, to avoid duplicate checks.
82342         Check for <wchar.h>.
82343
82344 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
82345
82346         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
82347
82348 2004-11-09  Bruno Haible  <bruno@clisp.org>
82349
82350         * m4/sockpfaf.m4: New file.
82351
82352 2004-11-05  Bruno Haible  <bruno@clisp.org>
82353
82354         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
82355         Reported by Mark D. Baushke <mdb@cvshome.org>.
82356
82357 2004-11-04  Bruno Haible  <bruno@clisp.org>
82358
82359         2004-09-11  Bruno Haible  <bruno@clisp.org>
82360                 * allocsa.valgrind: New file.
82361         2004-02-06  Bruno Haible  <bruno@clisp.org>
82362                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
82363                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
82364                 Reported by Christopher Seip <chris.seip@hp.com>.
82365
82366 2004-11-04  Bruno Haible  <bruno@clisp.org>
82367
82368         * modules/allocsa (Files): Add lib/allocsa.valgrind.
82369         (Makefile.am): Distribute it.
82370
82371 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
82372
82373         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
82374         with errno == ERANGE if the buffer is too small.
82375         Problem reported by Mark D. Baushke.
82376
82377 2004-11-03  Albert Chin  <china@thewrittenword.com>
82378             Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
82381         equivalent, substitute $ac_type for equivalent type rather than
82382         blindly using uint32_t *always* which won't work if uint32_t is not
82383         available.  Define _UINT32_T to work around typedef of uint32_t if
82384         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
82385         2.5.1.
82386
82387 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82388
82389         * m4/jm-macros.m4: Sync from coreutils.
82390         (gl_MACROS): Check for mbrlen, for pathchk.
82391         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
82392
82393 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         * lib/xreadlink.c (MAXSIZE): New macro.
82396         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
82397         size does not exceed MAXSIZE.  Avoid cast.
82398         As suggested by Mark D. Baushke in
82399         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
82400         if readlink fails with buffer size just under MAXSIZE, try again
82401         with MAXSIZE.
82402
82403 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
82404
82405         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
82406
82407 2004-11-02  Derek R. Price  <derek@ximbiot.com>
82408         and  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
82411         (get_date): Overparenthesize to avoid GCC warning.
82412
82413 2004-11-02  Bruno Haible  <bruno@clisp.org>
82414
82415         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
82416         returns void.
82417
82418 2004-11-02  Bruno Haible  <bruno@clisp.org>
82419
82420         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
82421         function returns void.
82422
82423 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82424
82425         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
82426         fflush_unlocked, flockfile, funlockfile, funlockfile,
82427         fputs_unlocked, putc_unlocked.
82428
82429 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82430
82431         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82432         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
82433         already declared.
82434
82435 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82436
82437         * modules/getdate (Files): Add doc/getdate.texi.
82438         (Depends-on): Add setenv, xalloc.
82439
82440 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82441
82442         * lib/getdate.y: Add support for TZ="foo" within a date string.
82443         Fix some bugs near time_t boundaries.  Reject dates with
82444         out-of-range components, e.g., "Sept 31".
82445         Include <stdlib.h>, "setenv.h", "xalloc.h".
82446         (ISDIGIT_LOCALE): Remove; unused.
82447         Note that the TZ and time functions used here are not reentrant.
82448         (mktime_ok, get_tz): New functions.
82449         (TZBUFSIZE): New constant.
82450         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
82451         This requires that we sometimes generate our own TZ="XXX..." setting.
82452
82453 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82454
82455         * doc/getdate.texi: New file, from coreutils with modifications for
82456         the new TZ parsing.
82457
82458 2004-10-27  Derek R. Price  <derek@ximbiot.com>
82459
82460         * lib/mktime.c (not_equal_tm): Remove redundant check.
82461
82462 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82463
82464         * modules/regex (lib_SOURCES): Add regex.c.
82465         Reported by James Youngman in
82466         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
82467
82468 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82469
82470         * lib/getdate.y: Use Bison 1.875 features, and some minor
82471         code cleanups.  This change does not affect semantics.
82472         Don't include <stdlib.h>; no longer needed.
82473         Don't include unlocked-io.h; only the "#if TEST" code uses
82474         stdio, and performance isn't crucial there.
82475         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
82476         Bison 1.875 features as described below.
82477         All uses of "PC." replaced by "pc->".
82478         (YYSTYPE): Add a forward declaration.
82479         (yylex, yyerror): Use full prototypes in forward decls.
82480         Use "%pure-parser" rather than obsolescent "%pure_parser".
82481         Use %parse-param and %lex-param instead of obsolescent
82482         YYPARSE_PARAM and YYLEX_PARAM.
82483         (meridian_table, month_and_day_table, time_units_table,
82484         relative_time_table, time_zone_table, military_table,
82485         lookup_zone, lookup_word, get_date):
82486         Use NULL instead of 0 where appropriate.
82487         (to_hour): Avoid abort (), to avoid a dependency on
82488         stdlib.h.
82489         (yyerror, yylex): Now accepts parser_control * arg.
82490         (main) [TEST]: Use '\0' rather than 0 for char.
82491
82492 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82493
82494         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
82495
82496 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
82497
82498         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
82499         It's now the caller's responsibility to handle the case where
82500         !HAVE_GETPAGESIZE && !defined getpagesize.
82501
82502         * lib/mktime.c (leapyear): Arg is long int, not int.
82503
82504 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
82507
82508 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
82509
82510         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
82511         missing.  Problem reported by James Youngman.
82512
82513 2004-10-16  Simon Josefsson  <jas@extundo.com>
82514
82515         * gnulib-tool: Fix comments.  Fix parse problem.
82516         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
82517
82518 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
82521         implementation of getopt_long.  Problem reported by Alexander Taler in:
82522         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
82523
82524 2004-10-15  Bruno Haible  <bruno@clisp.org>
82525
82526         * gnulib-tool: Untabify. Initialize supplied_libname.
82527         (func_usage): More homogenous output.
82528         (func_modules_transitive_closure, func_modules_to_filelist,
82529         func_emit_lib_Makefile_am): New functions.
82530         (func_import): New function, extracted from big case statement. Use
82531         func_get_license, func_modules_transitive_closure,
82532         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
82533         opt_lgpl. Don't use test -a, as it's not portable.
82534         (func_create_testdir): Use func_modules_transitive_closure,
82535         func_modules_to_filelist, func_emit_lib_Makefile_am.
82536
82537 2004-10-15  Bruno Haible  <bruno@clisp.org>
82538
82539         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
82540
82541 2004-10-15  Bruno Haible  <bruno@clisp.org>
82542
82543         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
82544         the portions belonging to each module.
82545         Suggested by Derek Robert Price <derek@ximbiot.com>.
82546
82547 2004-10-12  Simon Josefsson  <jas@extundo.com>
82548
82549         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
82550         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
82551         to real functions.
82552
82553 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82554
82555         * modules/vsnprintf: New file.
82556
82557 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82558
82559         * m4/vsnprintf.m4: New file.
82560
82561 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82562
82563         * lib/vsnprintf.h: New file.
82564         * lib/vsnprintf.c: New file.
82565
82566 2004-10-11  Bruno Haible  <bruno@clisp.org>
82567
82568         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
82569         vsnprintf.
82570
82571 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82572
82573         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
82574
82575 2004-10-07  Bruno Haible  <bruno@clisp.org>
82576
82577         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
82578         fits into the provided buffer.
82579
82580 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82581
82582         * lib/diacrit.c, diacrit.h: Add GPL notice.
82583
82584         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
82585         notice.
82586         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
82587         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
82588         This avoids a potential constant-folding bug.
82589
82590 2004-10-05  Bruno Haible  <bruno@clisp.org>
82591
82592         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
82593         for the declaration of strsep.
82594
82595 2004-10-05  Bruno Haible  <bruno@clisp.org>
82596
82597         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
82598
82599 2004-10-04  Simon Josefsson  <jas@extundo.com>
82600
82601         * modules/memmem: New file.
82602         * tests/test-memmem.c: New file.
82603         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
82604
82605 2004-10-04  Simon Josefsson  <jas@extundo.com>
82606
82607         * m4/memmem.m4: New file.
82608
82609 2004-10-04  Simon Josefsson  <jas@extundo.com>
82610
82611         * lib/memmem.h: New file.
82612         * lib/memmem.c: New file, taken from glibc.
82613
82614 2004-10-04  Simon Josefsson  <jas@extundo.com>
82615
82616         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
82617         '#ifdef USE_UNLOCKED_IO'.
82618
82619 2004-10-04  Simon Josefsson  <jas@extundo.com>
82620
82621         * config/srclist.txt: Add memmem from glibc.
82622
82623 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82624
82625         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
82626
82627         * modules/argmatch, modules/argp, modules/closeout, modules/error,
82628         modules/exclude, modules/getdate, modules/getline,
82629         modules/getndelim2, modules/getpass, modules/getpass-gnu,
82630         modules/getusershell, modules/linebuffer, modules/md5,
82631         modules/mountlist, modules/posixtm, modules/readtokens,
82632         modules/readutmp, modules/regex, modules/sha1,
82633         modules/version-etc, modules/yesno:
82634         Remove dependency on unlocked-io.
82635
82636 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
82639
82640         * m4/unlocked-io.m4: Add copyright notice.
82641         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
82642
82643 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
82646         * lib/xmalloc.c (xmemdup): Likewise.
82647         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
82648         XFREE): Remove these long-obsolescent macros.
82649         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
82650         * lib/xstrdup.c: Remove.
82651
82652         * lib/regex.c (re_comp): Cast gettext return value to char *,
82653         Problem reported by Martin Neitzel via Mark D. Baushke.
82654
82655 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
82656
82657         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
82658         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
82659         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
82660         regex.c, sha1.c, version-etc.c, yesno.c:
82661         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
82662         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
82663         the includer's responsibility.
82664
82665         Sync from coreutils.
82666
82667         * lib/modechange.c (mode_compile): Don't decrement a pointer that
82668         points to the start of a string, as the C Standard says the
82669         resulting behavior is undefined.
82670
82671         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
82672         simple -> simple_backups, numbered_existing ->
82673         numbered_existing_backups, numbered -> numbered_backups
82674         to avoid shadowing problems.  All uses changed.
82675         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
82676         * lib/backupfile.c (check_extension, numbered_backup):
82677         Rename locals to avoid shadowing 'basename'.
82678         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
82679         once.
82680
82681         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
82682         * lib/.cvsignore: Add getopt.h.
82683
82684 2004-10-04  Bruno Haible  <bruno@clisp.org>
82685
82686         * modules/README: New file.
82687         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
82688         not a module.
82689
82690 2004-10-02  Jim Meyering  <jim@meyering.net>
82691
82692         * lib/dirfd.h, getpagesize.h: Add copyright notice.
82693
82694 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82695
82696         * modules/strsep: New file.
82697
82698 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82699
82700         * m4/strsep.m4: New file.
82701
82702 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82703
82704         * lib/strsep.h: New file.
82705         * lib/strsep.c: New file.
82706
82707 2004-10-01  Simon Josefsson  <jas@extundo.com>
82708
82709         * lib/snprintf.c (snprintf): Handle size==0.
82710
82711 2004-10-01  Simon Josefsson  <jas@extundo.com>
82712             Bruno Haible  <bruno@clisp.org>
82713
82714         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
82715         (snprintf): Declare 'args'.
82716
82717 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
82718
82719         * lib/snprintf.c: Remove comments as to why each header is needed.
82720
82721 2004-10-01  Bruno Haible  <bruno@clisp.org>
82722
82723         * MODULES.html.sh: Add strsep.
82724
82725 2004-09-30  Simon Josefsson  <jas@extundo.com>
82726
82727         * modules/snprintf: New file.
82728
82729 2004-09-30  Simon Josefsson  <jas@extundo.com>
82730
82731         * m4/snprintf.m4: New file.
82732
82733 2004-09-30  Simon Josefsson  <jas@extundo.com>
82734
82735         * lib/snprintf.h, lib/snprintf.c: New files.
82736
82737 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82738
82739         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
82740         (hol_entry_help): Never translate an empty string.
82741         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
82742         * lib/argp.h (OPTION_NO_TRANS): New option.
82743
82744 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82745
82746         * modules/argp (Maintainer): Replace Simon Josefsson
82747         by Sergey Poznyakoff.
82748
82749 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82750
82751         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
82752         changes merged back into glibc.
82753
82754 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
82755
82756         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
82757
82758 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82759
82760         * lib/xvasprintf.c: Include xalloc.h.
82761         (xvasprintf): Use xalloc_die, not xmalloc_die.
82762
82763 2004-09-29  Bruno Haible  <bruno@clisp.org>
82764
82765         * modules/alloca-opt: New file, derived from modules/alloca.
82766         * modules/allocsa: Depend on alloca-opt instead of alloca.
82767         * modules/setenv: Likewise.
82768         * modules/vasnprintf: Likewise.
82769         * MODULES.html.sh: Add alloca-opt.
82770
82771 2004-09-28  Simon Josefsson  <jas@extundo.com>
82772
82773         * gnulib-tool: New parameter --lgpl, to asseert that modules are
82774         LGPL, and to replace license template from GPL to LGPL.
82775
82776 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82777
82778         * modules/dummy: Change license to LGPL.
82779
82780 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
82781
82782         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
82783
82784 2004-09-24  Simon Josefsson  <jas@extundo.com>
82785
82786         * modules/minmax (License): Change from GPL to LGPL.
82787
82788 2004-09-23  Simon Josefsson  <jas@extundo.com>
82789
82790         * gnulib-tool (--import): Typo.
82791
82792 2004-09-23  Simon Josefsson  <jas@extundo.com>
82793
82794         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
82795
82796 2004-09-22  Bruno Haible  <bruno@clisp.org>
82797
82798         * modules/*: Add 'License' field.
82799         * gnulib-tool: Accept --extract-license option.
82800         (func_get_license): New function.
82801
82802 2004-09-21  Bruno Haible  <bruno@clisp.org>
82803
82804         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
82805         Reported by Simon Josefsson.
82806
82807 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
82810         gl_AC_TYPE_LONG_LONG.
82811
82812 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
82813
82814         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
82815
82816 2004-09-18  Simon Josefsson  <jas@extundo.com>
82817         and  Paul Eggert  <eggert@cs.ucla.edu>
82818
82819         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
82820         calls with autoreconf.  Define GL_LIB.
82821
82822 2004-09-14  Karl Berry  <karl@gnu.org>
82823
82824         * config/srclist.txt: unsync setenv.c, sigh.
82825
82826 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82827
82828         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
82829         Problem reported by Bruno Haible in:
82830         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
82831
82832 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
82833
82834         * config/srclist.txt: Comment out argp-pvh.c.
82835
82836 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
82837
82838         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
82839         in case some system header has #define'd it.  Problem reported by
82840         Soeren D. Schulze in
82841         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
82842
82843 2004-09-09  Karl Berry  <karl@gnu.org>
82844
82845         * regex.[ch]: delete from the root.  These were supposed to be
82846                 synced with emacs cvs, but this has not happened for about
82847                 a year, and anyway nothing else uses emacs regex.[ch].
82848                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
82849                 lib/regex[.ch] is untouched.
82850
82851 2004-09-09  Bruno Haible  <bruno@clisp.org>
82852
82853         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
82854
82855 2004-09-09  Bruno Haible  <bruno@clisp.org>
82856
82857         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
82858         modifications.
82859         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
82860
82861 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82862
82863         * modules/xvasprintf: New file.
82864         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
82865
82866 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
82867
82868         * lib/xvasprintf.h: New file.
82869         * lib/xvasprintf.c: New file.
82870         * lib/xasprintf.c: New file.
82871
82872 2004-09-08  Bruno Haible  <bruno@clisp.org>
82873
82874         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
82875
82876 2004-09-08  Bruno Haible  <bruno@clisp.org>
82877
82878         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
82879         length is > INT_MAX.
82880         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
82881         more.
82882
82883 2004-09-08  Bruno Haible  <bruno@clisp.org>
82884
82885         * lib/stdint_.h: New file, taken from GNU clisp.
82886
82887 2004-09-08  Bruno Haible  <bruno@clisp.org>
82888             Oskar Liljeblad  <oskar@osk.mine.nu>
82889
82890         * modules/stdint: New file.
82891         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
82892
82893 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82894
82895         Import from coreutils.
82896         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
82897         strings on unbounded length.  alloca's performance benefits aren't
82898         that important here.
82899         (V_STRDUP): Remove.
82900         (parse_with_separator): New function, with most of the internals
82901         of the old parse_user_spec.  Allow user to omit both user and group,
82902         for compatibility with FreeBSD.
82903         Clone only the user name, not the entire spec.
82904         Do not set *uid, *gid unless entirely successful.
82905         Avoid memory leak in some failing cases.
82906         Fix regression for USER.GROUP reported by Dmitry V. Levin in
82907         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
82908         (parse_user_spec): Rewrite to use parse_with_separator.
82909
82910 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * modules/userspec: Don't depend on alloca.
82913
82914 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82915
82916         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
82917
82918 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82919
82920         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
82921         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
82922         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
82923
82924 2004-08-16  Simon Josefsson  <jas@extundo.com>
82925
82926         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
82927         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
82928         Add --dry-run for --import.
82929         Let user provided command line parameters override configure.ac
82930         settings.
82931
82932 2004-08-12  Simon Josefsson  <jas@extundo.com>
82933
82934         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
82935         as discussed with Paul Eggert in threads rooted at
82936         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
82937         and
82938         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
82939         Before, the test was empty, and relied on ELIDE_CODE in source
82940         code.)
82941         (gl_PREREQ_GETOPT): New macro.
82942         (gl_GETOPT): Use them.
82943
82944 2004-08-12  Simon Josefsson  <jas@extundo.com>
82945
82946         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
82947         * lib/getopt_.h: Renamed from getopt.h.
82948
82949 2004-08-12  Simon Josefsson  <jas@extundo.com>
82950
82951         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
82952         Change default library name from libfoo to libgnu.
82953         Now, if you have a configure.ac that says:
82954                 gl_SOURCE_BASE(gl)
82955                 gl_M4_BASE(gl/m4)
82956                 gl_MODULES(error getopt etcetera)
82957                 gl_INIT
82958         you can import all you need by running:
82959                 ../gnulib/gnulib-tool --import
82960
82961         * modules/getopt (Files): Rename getopt.h to getopt_.h.
82962         (Makefile.am): Rewrite, use logic from argz.
82963         (Include): Use <getopt.h> instead of "getopt.h".
82964
82965 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82966
82967         * modules/argp (Files): Add m4/unlocked-io.m4.
82968         (Depends-on): Add extensions.
82969
82970 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82971
82972         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82973         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82974         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82975         Check for program_invocation_name, program_invocation_short_name,
82976         flockfile, funlockfile, features.h, _getopt_long_only_r.
82977
82978 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82979
82980         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82981         its complicated substitute.
82982         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82983         and program_invocation_name.
82984         (__argp_basename) [!_LIBC]: Remove; the only use was
82985         replaced by its body.
82986         (__argp_short_program_name): Change condition from
82987         !defined __argp_short_program_name to
82988         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82989         to match argp-namefrob.h.
82990         (__argp_failure): Don't assume strerror_r returns char *.
82991         * lib/argp-parse.c (N_): Define unconditionally.
82992         (argp_default_options): Fill out initializers with 0 to avoid
82993         gcc warnings.
82994
82995 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82996
82997         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82998         getopt1.c.
82999
83000 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83001
83002         Merge from coreutils.
83003
83004         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83005
83006         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83007         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83008
83009 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83010
83011         Merge from coreutils.
83012
83013         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83014         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83015         for Reliant Unix 5.43.
83016
83017         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83018         (union fooround): Use uintmax_t, not long int.
83019         The rest is a merge from libc:
83020         [defined _LIBC]: Include <shlib-compat.h>.
83021         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83022
83023         * lib/settime.c (settime): Recode to avoid warning with
83024         Sun Forte C 6U2.
83025
83026         * lib/strverscmp.c: Convert to UTF-8.
83027
83028 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83031         m4/uintmax_t.m4.
83032
83033 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83034
83035         * modules/xalloc-die: New file.
83036         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83037
83038         * modules/md5 (Files): Add m4/uint32_t.m4.
83039         * modules/sha1: Renamed from modules/sha.
83040         (Files):
83041         Rename lib/sha.h to lib/sha1.h.
83042         Rename lib/sha.c to lib/sha1.c.
83043         Rename m4/sha.m4 to m4/sha1.m4.
83044         (lib_SOURCES): Likewise.
83045         (configure.ac): Rename gl_SHA to gl_SHA1.
83046         (Include): sha.h -> sha1.h.
83047
83048 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83049
83050         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83051         * m4/sha1.m4: Renamed from sha.m4.
83052         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83053
83054 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83055
83056         * lib/obstack.h (obstack_empty_p):
83057         Don't assume that chunk->contents is suitably aligned.
83058         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83059         Likewise. Problem reported by Benno in
83060         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83061
83062         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83063         readable.  This could be improved further but it'd take some work.
83064
83065 2004-08-08  Simon Josefsson  <jas@extundo.com>
83066
83067         * modules/xgethostname (Depends-on): Remove exit and error (not
83068         used).
83069
83070         * modules/getpass-gnu: Add getpass.h.
83071         (Depends-on): Add stdbool.
83072         * modules/getpass: Add getpass.h.
83073
83074 2004-08-08  Simon Josefsson  <jas@extundo.com>
83075
83076         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83077         Check getpass declaration.
83078
83079 2004-08-08  Simon Josefsson  <jas@extundo.com>
83080
83081         * lib/xgethostname.c: Don't include error.h (not used).
83082
83083         * lib/getpass.h: Add.
83084         * lib/getpass.c: Include getpass.h first.
83085
83086 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83087
83088         * lib/xalloc-die.c: New file.
83089         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83090         All uses removed.
83091         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83092         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83093         xalloc-die.c.
83094         (_, N_, xalloc_die): Move to xalloc-die.c.
83095         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83096         so that we needn't mess with xalloc_msg_memory_exhausted.
83097
83098         * lib/sha1.h: Renamed from sha.h.
83099         (SHA1_H): Renamed from _SHA_H.
83100         (sha1_ctx): Renamed from sha_ctx.
83101         (sha1_init_ctx): Renamed from sha_init_ctx.
83102         (sha1_process_block): Renamed from sha_process_block.
83103         (sha1_process_bytes): Renamed from sha_process_bytes.
83104         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83105         (sha1_read_ctx): Renamed from sha_read_ctx.
83106         (sha1_stream): Renamed from sha_stream.
83107         (sha1_buffer): Renamed from sha_buffer.
83108         * lib/sha1.c: Likewise; renamed from sha.c.
83109         Do not include <sys/types.h>.
83110         Include <stddef.h> rather than <stdlib.h>.
83111
83112 2004-08-08  Bruno Haible  <bruno@clisp.org>
83113
83114         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83115         FILESYSTEM_PREFIX_LEN.
83116         * lib/progreloc.c: Likewise.
83117         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83118
83119 2004-08-06  Simon Josefsson  <jas@extundo.com>
83120
83121         * modules/progname (Depends-on): Don't depend on stdbool.
83122
83123 2004-08-06  Simon Josefsson  <jas@extundo.com>
83124
83125         * modules/getsubopt: New file.
83126         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83127         getsubopt.
83128
83129 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83130
83131         More merge from coreutils.
83132
83133         * m4/utimens.m4, m4/utimecmp.m4: New files.
83134         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83135         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83136         prereq.m4, sha.m4: Import changes from coreutils.
83137
83138 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83139
83140         More merge from coreutils.
83141         * modules/raise, modules/readtokens0, modules/utimens:
83142         * modules/utimecmp, module/xnanosleep: New files.
83143         * modules/strftime: Add lib/strftime.h.
83144         Change include from <time.h> to "strftime.h".
83145         * modules/yesno: Add lib/yesno.h.
83146         * modules/backupfile: Remove lib/addext.c.
83147         * modules/euidaccess: Add stat-macros.h.
83148         * modules/canonicalize, modules/euidaccess,
83149         modules/filemode, modules/lchown, modules/makepath,
83150         modules/rmdir, modules/stat: Likewise.
83151
83152 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83153
83154         Merge from tar.
83155         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83156         SIZE_MAX is a valid preprocessor constant.
83157         (__argp_basename): Change from "#ifndef _LIBC"
83158         to "#ifndef __argp_short_program_name", so that
83159         we don't compile these functions for tar.
83160
83161         More merges from coreutils.
83162         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83163         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83164         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83165         * lib/addext.c: Remove; no longer needed.
83166         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83167         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83168         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83169         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83170         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83171         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83172         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83173         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83174         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83175         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83176         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83177         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83178         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83179         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83180         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83181         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83182         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83183         Import changes from coreutils.
83184
83185 2004-08-05  Simon Josefsson  <jas@extundo.com>
83186
83187         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83188
83189 2004-08-05  Simon Josefsson  <jas@extundo.com>
83190
83191         * m4/getsubopt.m4: New file.
83192
83193 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83194
83195         Merge from coreutils.
83196
83197         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83198         * m4/getcwd-path-max.m4: New files.
83199
83200         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83201         FILESYSTEM_PREFIX_LEN ->
83202         FILE_SYSTEM_PREFIX_LEN.
83203         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83204         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83205         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83206         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83207
83208         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83209         prerequisite modules now handle the DOS stuff.
83210         Don't check for unistd.h.
83211
83212 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83213
83214         Merge from coreutils.
83215
83216         * lib/.gdb-history: Remove; this doesn't belong here.
83217
83218         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83219         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83220         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83221         * lib/getcwd.c: New files.
83222
83223         * lib/dirname.h: Include <stdbool.h>.
83224         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83225         for consistency with POSIX terminology.  All uses changed.
83226         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83227         (strip_trailing_slashes): Use bool for booleans.
83228         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83229
83230         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83231         sometimes returns a positive errno value even when it succeeds.
83232         (print_errno_message) [!LIBC]: Fall back on strerror if
83233         __strerror_r fails.
83234
83235         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83236         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83237         (longest_relative_suffix): New function.
83238         (path_concat): Use it.  Assume first argument is not NULL.
83239         Port to DOS.  Omit redundant separators.
83240         Report an error instead of returning NULL.
83241         Use mempcpy instead of memcpy.
83242         (xpath_concat): Remove: not declared or used.
83243
83244         * lib/same.h: Include <stdbool.h>
83245         (same_name): Return bool, not int.
83246         * lib/same.c (same_name): Likewise.
83247         (errno): Don't declare; we assume C89 or better now.
83248
83249         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83250         if not already defined.
83251
83252         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83253         * lib/dup-safer.c (errno): Likewise.
83254
83255 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83256
83257         Merge from coreutils.
83258         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83259         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83260         * modules/path-concat: Don't depend on strdup.
83261
83262 2004-08-03  Simon Josefsson  <jas@extundo.com>
83263
83264         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83265         * lib/progname.h: Don't include stdbool.h.
83266
83267 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83268
83269         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83270         * MODULES.html.sh (func_all_modules): Remove fatal.
83271
83272 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83273
83274         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83275
83276 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83277
83278         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83279         working.
83280
83281 2004-08-02  Simon Josefsson  <jas@extundo.com>
83282
83283         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83284         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83285         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83286
83287 2004-08-01  Simon Josefsson  <jas@extundo.com>
83288
83289         * lib/xgetdomainname.c: Include stdlib.h, for free().
83290
83291 2004-07-19  Bruno Haible  <bruno@clisp.org>
83292
83293         * MODULES.html.sh (func_all_modules): Add dummy.
83294
83295 2004-07-16  Simon Josefsson  <jas@extundo.com>
83296
83297         * modules/dummy: New file.
83298
83299 2004-07-16  Simon Josefsson  <jas@extundo.com>
83300
83301         * lib/dummy.c: New file.
83302
83303 2004-07-16  Bruno Haible  <bruno@clisp.org>
83304
83305         * lib/backupfile.h: Add extern "C" for C++.
83306         * lib/closeout.h: Likewise.
83307         * lib/copy-file.h: Likewise.
83308         * lib/findprog.h: Likewise.
83309         * lib/full-write.h: Likewise.
83310         * lib/pathname.h: Likewise.
83311         * lib/progname.h: Likewise.
83312         * lib/stpcpy.h: Likewise.
83313         * lib/stpncpy.h: Likewise.
83314         * lib/strcase.h: Likewise.
83315         * lib/strstr.h: Likewise.
83316         * lib/xalloc.h: Likewise.
83317
83318         * lib/mbswidth.h: Add extern "C" for C++.
83319         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83320
83321 2004-07-13  Robert Millan  <robertmh@gnu.org>
83322
83323         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83324
83325 2004-07-09  Simon Josefsson  <jas@extundo.com>
83326
83327         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83328         failed without this.)
83329
83330 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83331
83332         * modules/chown (Files): Add lib/fchown-stub.c, since
83333         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
83334
83335 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
83336
83337         * lib/fchown-stub.c: New file.
83338
83339 2004-06-24  Jim Meyering  <jim@meyering.net>
83340
83341         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
83342
83343 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83344
83345         * modules/argz: Omit "#include".
83346
83347         * MODULES.html.sh (func_all_modules): Add calloc, to match
83348         2004-06-01 addition of calloc module.
83349
83350 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83351
83352         * m4/argz.m4: New file, which is autoupdated from libtool.
83353
83354 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83355
83356         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
83357         libtool.
83358
83359 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83360
83361         * config/srclist-update: Don't insist on "USA." before the
83362         close-comment, as libtool omits the period and puts the */ on a
83363         separate line.
83364         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
83365         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
83366
83367 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
83368
83369         * modules/argz: New file.
83370         * MODULES.html.sh (func_all_modules): Add argz.
83371
83372 2004-06-12  Jim Meyering  <jim@meyering.net>
83373         and  Paul Eggert  <eggert@cs.ucla.edu>
83374
83375         * modules/hash (Files): Add lib/xalloc.h.
83376         * modules/pipe (Depends-on): Add wait-process.
83377         * modules/stat (Depends-on): Add xalloc.
83378         * modules/userspec (Files): Add lib/userspec.h.
83379         * modules/xstrto
83380
83381         Upgrade from gettext-0.13.
83382         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
83383         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
83384         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
83385
83386 2004-06-10  Jim Meyering  <jim@meyering.net>
83387
83388         * lib/calloc.c: New file.
83389
83390 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
83391
83392         * lib/getdate.y (yylex): Allow space between sign and number.
83393         Problem reported by Dan Jacobson.
83394
83395 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83396
83397         Merge from coreutils CVS.
83398
83399         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
83400         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
83401         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
83402         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
83403         xstrtol.m4: Fix copyright date and/or serial number.
83404
83405         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
83406         See if we need an fchown replacement.
83407         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
83408         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
83409         and use the replacement function if we detect either defect.
83410
83411         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
83412         gl_UTIMECMP.
83413
83414 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
83415         and  Jim Meyering  <jim@meyering.net>
83416
83417         Merge from coreutils CVS.
83418
83419         * lib/stat-macros.h: New file, with contents from file-type.h
83420         and coreutils' system.h.
83421         * lib/file-type.c: Include "stat-macros.h".
83422         * lib/file-type.h (file_type): Move all macro definitions to new file,
83423         stat-macros.h.
83424
83425         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
83426         Wrap old code with this conditional.
83427         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
83428         function that does not dereference symlinks.
83429         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
83430
83431         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
83432         dependency problems.
83433         (xreadlink): Accept new arg SIZE, for efficiency.
83434         All decls and uses changed.
83435         * lib/xreadlink.h: Include <stddef.h>, for size_t.
83436
83437         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
83438         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
83439
83440         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
83441         sysexits.h.
83442
83443 2004-06-01  Jim Meyering  <jim@meyering.net>
83444
83445         * m4/calloc.m4: New file.
83446
83447 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
83448
83449         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
83450         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
83451         Also, fix a typo in a diagnostic.
83452
83453 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83454
83455         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
83456         or AC_FUNC_REALLOC.
83457
83458 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
83459
83460         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
83461         macros to be defined.
83462         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
83463         the allocator returns NULL because the requested size is zero.
83464
83465 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83466
83467         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
83468         var.  Add comment explaining why libc still defines it.  This
83469         merges the following patch from glibc:
83470         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
83471
83472 2004-05-20  Andreas Schwab  <schwab@suse.de>
83473
83474         * m4/free.m4: Replace free if it not known to work, not the other
83475         way round.
83476
83477 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
83478
83479         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
83480         present in glibc since revision 1.1 of this file.
83481         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
83482         obstack_alignment_mask, obstack_alloc, obstack_base,
83483         obstack_blank, obstack_blank_fast, obstack_chunk_size,
83484         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
83485         obstack_grow0, obstack_init, obstack_int_grow,
83486         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
83487         obstack_next_free, obstack_object_size, obstack_ptr_grow,
83488         obstack_ptr_grow_fast, obstack_room): Remove declarations of
83489         nonexistent functions.
83490
83491 2004-05-18  Karl Berry  <karl@gnu.org>
83492
83493         * config/srclist.txt: break link for vasnprintf.c.
83494
83495 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83496
83497         Port obstack to the AS/400, where pointers are 16 bytes wide and
83498         you cannot cast an integer to a valid pointer.  This patch is
83499         currently waiting to be integrated into glibc; see
83500         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
83501
83502         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
83503         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
83504         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
83505         (struct obstack): temp member is now a union of a pointer and
83506         an integer, instead of an integer.  All integer uses changed.
83507         This does not affect the physical layout of struct obstack,
83508         except on hosts (like the AS/400) where the size or alignment of
83509         void * is greater than that of ptrdiff_t.
83510         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
83511         __STDC__)]: Store temporary in pointer member of union, not
83512         integer member.
83513         * lib/obstack.c: Include <stddef.h>, for offsetof.
83514         (struct fooalign): Remove; it doesn't need a name.
83515         (union fooround): Change double to long double, and add void *.
83516         (DEFAULT_ALIGNMENT): Use offsetof to compute.
83517         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
83518         not a macro.  Hence the values are always int; so remove all
83519         casts-to-int in uses.
83520
83521 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83522
83523         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
83524         we can get this patch merged into glibc.
83525
83526 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83527             Paul Eggert  <eggert@cs.ucla.edu>
83528
83529         * m4/argp: Depend on alloca.
83530
83531 2004-05-17  Derek R. Price  <derek@ximbiot.com>
83532             Paul Eggert  <eggert@cs.ucla.edu>
83533
83534         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
83535         freecoding.
83536
83537 2004-05-17  Bruno Haible  <bruno@clisp.org>
83538
83539         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
83540         precision that consists of a '.' followed by an empty digit string.
83541         Patch by Tor Lillqvist <tml@iki.fi>.
83542
83543 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83544
83545         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
83546         for backward compatibility with older code.  We need our own
83547         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
83548         it under some other name, and our alloca.h will define it.
83549
83550 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83551             Derek Price  <derek@ximbiot.com>
83552
83553         * lib/alloca.c: Include <alloca.h>, to get our interface.
83554         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
83555         include <alloca.h> first.  Use C89 prototype for alloca; this
83556         requires including <stddef.h> for size_t.  Use extern "C" if C++.
83557         Use #elif for simplicity, since we can assume C89 now.
83558         Don't try to source the system alloca.h since it will not be found
83559         and to prevent recursively including its replacement.
83560         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
83561         * lib/regex.c: Likewise.
83562
83563 2004-05-16  Derek Price  <derek@ximbiot.com>
83564             Paul Eggert  <eggert@cs.ucla.edu>
83565
83566         getline cleanup.  This changes the getndelim2 API: both order of
83567         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
83568         no delimiter).
83569
83570         * lib/getline.c: Don't include stddef.h or stdio.h, since our
83571         interface does that.
83572         (getline): Always use getdelim, so that we don't have two
83573         copies of this code.
83574         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
83575         if available.
83576         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
83577         (GETNDELIM2_MAXIMUM): New macro.
83578         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
83579         instead of the old practice of delim2==0.  All callers changed.
83580         Return -1 on overflow, instead of returning junk.
83581         Do not set *linesize unless allocation succeeds.
83582         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
83583         that we include sys/types.h.
83584         * lib/getnline.h: Likewise.
83585         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
83586         (getndelim2): Reorder arguments.
83587         * lib/getnline.c (getnline, getndelim):
83588         Don't discard the NMAX argument.
83589         (getnline): Invoke getndelim, to avoid code duplication.
83590         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
83591         of (size_t) -1 by callers of the getnline family.
83592
83593 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83594
83595         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
83596         Check for gettimeofday.
83597         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
83598         Check for settimeofday, stime.
83599
83600 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83601
83602         * lib/nanosleep.c (suspended): Change its type from int to
83603         sig_atomic_t volatile.
83604         (first_call): Make it private to rpl_nanosleep, and have it
83605         be zero initially as that's a bit faster.
83606         (my_usleep): Round up fractional times instead of truncating them,
83607         as this is the usual meaning for 'sleep'.
83608
83609         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
83610         doesn't work.
83611         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
83612         (ENOSYS): Define if not defined.
83613         (settime): Fall back on stime if it exists and settimeofday fails.
83614         But don't bother with fallbacks if a method fails with errno == EPERM.
83615
83616 2004-05-11  Jim Meyering  <jim@meyering.net>
83617
83618         Prior to this change, the save_cwd caller required read access to the
83619         current directory on most systems (ones with the fchdir function).
83620
83621         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
83622         fails, try write-only, and finally, resort to using xgetcwd.
83623
83624 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83625
83626         * lib/obstack.c, obstack.h: Import changes from libc.
83627
83628 2004-04-28  Bruno Haible  <bruno@clisp.org>
83629
83630         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
83631         also implicitly appends .exe to executables.
83632         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
83633         accepts Windows pathnames.
83634         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83635         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83636         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
83637         Treat Cygwin like Windows, since it now accepts Windows pathnames.
83638         Reported by Derek Robert Price <derek@ximbiot.com>.
83639
83640 2004-04-21  Karl Berry  <karl@gnu.org>
83641
83642         * config/srclist.txt (localcharset.c): break sync.
83643
83644 2004-04-20  Paul Eggert  <eggert@twinsun.com>
83645
83646         * m4/host-os.m4: Add a copyright notice.
83647
83648 2004-04-20  Jim Meyering  <jim@meyering.net>
83649
83650         Change UTILS_ to gl_ in AC_DEFINE'd names.
83651         Change utils_- and jm_-prefixed variables, too.
83652         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
83653         UTILS_FUNC_MKDIR_TRAILING_SLASH.
83654         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
83655
83656         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
83657         Don't emit trailing blanks.
83658         Also rename jm_-prefixed variables to have gl_ prefix.
83659
83660         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
83661         Also rename jm_-prefixed variables to have gl_ prefix.
83662
83663         * m4/jm-macros.m4: Reflect the renamings.
83664         * m4/prereq.m4: Likewise.
83665
83666 2004-04-20  Jim Meyering  <jim@meyering.net>
83667
83668         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
83669         memory.
83670
83671 2004-04-20  Jim Meyering  <jim@meyering.net>
83672             Bruno Haible  <bruno@clisp.org>
83673
83674         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
83675         memory when realloc fails.
83676
83677 2004-04-19  Jim Meyering  <jim@meyering.net>
83678
83679         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
83680         now that readutmp.c may call `free (0)'.
83681
83682 2004-04-19  Bruno Haible  <bruno@clisp.org>
83683
83684         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
83685         * m4/inttypes_h.m4: Likewise.
83686         * m4/stdint_h.m4: Likewise.
83687         * m4/intmax_t.m4: Likewise.
83688         * m4/uintmax_t.m4: Likewise.
83689
83690 2004-04-18  Jim Meyering  <jim@meyering.net>
83691
83692         * m4/prereq.m4: Don't forbid jm_ prefix.
83693
83694         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
83695         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
83696         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
83697         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
83698         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
83699         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
83700         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
83701         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
83702         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
83703         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
83704         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
83705         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
83706         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
83707         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
83708         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
83709         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
83710         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
83711         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
83712         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
83713
83714 2004-04-18  Jim Meyering  <jim@meyering.net>
83715
83716         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
83717         failure, don't leak memory and do call END_UTMP_ENT.
83718
83719 2004-04-16  Jim Meyering  <jim@meyering.net>
83720
83721         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
83722         coreutils' stat program.
83723         (gl_PREREQ): Don't require jm_PREREQ_STAT.
83724
83725 2004-04-11  Paul Eggert  <eggert@twinsun.com>
83726
83727         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
83728         C89.
83729         (CHAR_BIT): Remove, since we assume C89.
83730         Include <stdint.h> if available, as per current Autoconf CVS advice.
83731
83732 2004-03-31  Jim Meyering  <jim@meyering.net>
83733
83734         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
83735         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
83736         * m4/xalloc.m4: Likewise.
83737
83738 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83739
83740         Merge from coreutils.
83741
83742         * m4/inttostr.m4: New file.
83743         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
83744         Require AM_STDBOOL_H and gl_TIMESPEC instead.
83745         Require gl_CLOCK_TIME.
83746         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
83747
83748 2004-03-30  Paul Eggert  <eggert@twinsun.com>
83749
83750         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
83751         not bool, to be more consistent with Unix conventions.
83752         Suggested by Bruno Haible.
83753
83754         Merge from coreutils.
83755
83756         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
83757         * lib/umaxtostr.c: New files.
83758
83759         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
83760         the usual <time.h> dance.
83761         (get_date): Change signature to support fractional time stamps.
83762         All callers changed.
83763         * lib/getdate.y: Include "getdate.h" first, as we can now
83764         assume C89 and don't need to worry about 'const'.
83765         Similarly, include "unlocked-io.h" near start, not in middle.
83766         Include <limits.h>.
83767         (textint.value): Use long int rather than int.
83768         (textint.digits): Use size_t rather than int.
83769         (BILLION, LOG10_BILLION): New constants.
83770         (parser_control): New member rel_ns.  Members day_ordinal,
83771         time_zone, month, day, hour, minutes, rel_year, rel_month,
83772         rel_day, rel_hour, rel_minutes, rel_seconds
83773         are now long int, not int.  Member seconds is now struct timespec,
83774         not int.  New member timespec_seen.  Members dates_seen, days_seen,
83775         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
83776         not int.
83777         (%union.intval): Now long int, not int.
83778         New member timespec.
83779         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
83780         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
83781         (spec): Now is a timespec or an item list.
83782         (timespec, items): New nonterminals.
83783         (time, rel, relunit, number, get_date):
83784         Add support for fractional seconds.
83785         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
83786         (gmtime, localtime, mktime): Remove decls; not needed with C89.
83787         (to_hour): First arg is now long int, not int.
83788         (to_year): Returns long int, not int.
83789         Don't treat year -70 like 70.
83790         (tm_diff): Returns long int, not int.
83791         (lookup_word): Use bool instead of int when appropriate.
83792         (yylex): Use size_t for count, not int.
83793         Detect overflow when parsing large integer constants.
83794         Add support for fractions.
83795         (get_date): Make pointers 'const' if possible.
83796         Use more-portable code to detect integer overflow.
83797         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
83798         Don't use ctime; it's not reliable if the year has >4 digits.
83799
83800         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
83801         This is for compatibility with BSD.
83802
83803         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
83804         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
83805         From coreutils' system.h.
83806
83807         * lib/userspec.c: Don't include "posixver.h".
83808         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
83809         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
83810         compatible extension.  Simplify code by removing a boolean int
83811         that was always nonzero if a string was nonnull.
83812
83813 2004-03-30  Jim Meyering  <jim@meyering.net>
83814
83815         Merge from coreutils.
83816
83817         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
83818         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
83819         on some systems one must include <grp.h> before it.
83820         Reported by Christian Krackowizer.
83821
83822 2004-03-30  Jim Meyering  <jim@meyering.net>
83823
83824         Merge from coreutils.
83825
83826         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
83827
83828         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
83829         an empty input stream.
83830
83831         * lib/readtokens.c: Include <stdbool.h>.
83832         (readtoken): Use `size_t' rather than int/long.
83833         All callers adjusted.
83834         Use `bool' rather than `int' where appropriate.
83835         Use memset rather than an explicit loop.
83836         Use x2nrealloc rather than xrealloc.
83837         Allow the use of `\0' as a delimiter.
83838         (readtokens): Likewise.
83839         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
83840
83841 2004-03-30  Jim Meyering  <jim@meyering.net>
83842
83843         * m4/realloc.m4: Remove file, since now it does no more than
83844         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
83845         the `configure.ac' section of module/realloc.
83846         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
83847
83848 2004-03-30  Bruno Haible  <bruno@clisp.org>
83849
83850         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
83851         nonnull.
83852
83853 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83854
83855         Merge changes to getloadavg.c from coreutils and Emacs.
83856
83857         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
83858         Define to an expression, not to the empty string.
83859         Include cloexec.h and xalloc.h.
83860         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
83861         Use set_cloexec_flag rather than rolling our own.
83862         * lib/cloexec.c, lib/cloexec.h: New files.
83863
83864 2004-03-29  Paul Eggert  <eggert@twinsun.com>
83865
83866         * m4/cloexec.m4: New file.
83867
83868 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83869
83870         * lib/getopt.h: Sync with libc CVS.
83871
83872 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83873             Bruno Haible  <bruno@clisp.org>
83874
83875         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
83876         mbswidth.
83877
83878 2004-03-18  Paul Eggert  <eggert@twinsun.com>
83879             Bruno Haible  <bruno@clisp.org>
83880
83881         * lib/mbswidth.h: Include <wchar.h> only if
83882         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
83883         <wchar.h>.
83884         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
83885
83886 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83887
83888         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
83889         Sync with libc CVS.
83890         * lib/getopt_int.h: New file, also synced from libc.
83891
83892 2004-03-09  Paul Eggert  <eggert@twinsun.com>
83893
83894         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
83895         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
83896         Bring back getopt.c, getopt.h, getopt1.c.
83897
83898 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83899
83900         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
83901         All uses changed.  Check for sa_sigaction member; this fixes
83902         a bug first reported by Jason Andrade in
83903         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83904
83905 2004-03-07  Paul Eggert  <eggert@twinsun.com>
83906
83907         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
83908         '#if' expressions.  Unlike the code it replaces, it does not
83909         depend on (defined _SC_PAGESIZE).  However, it does depend on
83910         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
83911         first reported by Jason Andrade in
83912         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
83913
83914 2004-02-25  Simon Josefsson  <jas@extundo.com>
83915
83916         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
83917
83918 2004-02-25  Simon Josefsson  <jas@extundo.com>
83919
83920         * lib/strdup.h: New file.
83921         * lib/strdup.c: Include it.
83922         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
83923         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
83924
83925 2004-02-23  Karl Berry  <karl@gnu.org>
83926
83927         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
83928         (from fencepost.gnu.org:/gd/gnuorg).
83929
83930 2004-02-23  Karl Berry  <karl@gnu.org>
83931
83932         * config/srclistvars.sh (GNUORG) [karl]: redefine.
83933         * config/srclist.txt: add maintain/standards documents.
83934
83935 2004-02-18  Bruno Haible  <bruno@clisp.org>
83936
83937         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
83938         Reported by Derek Robert Price <derek@ximbiot.com>.
83939
83940 2004-02-16  Karl Berry  <karl@gnu.org>
83941
83942         * config/mkinstalldirs, install-sh: update from automake.
83943
83944 2004-02-06  Karl Berry  <karl@gnu.org>
83945
83946         * m4/po.m4: update from gettext 0.14.1.
83947
83948 2004-02-06  Karl Berry  <karl@gnu.org>
83949
83950         * lib/config.charset: update from gettext 0.14.1.
83951
83952 2004-02-05  Paul Eggert  <eggert@twinsun.com>
83953
83954         Add comments and code, prompted by suggestions from Bruno Haible
83955         for sh-quote.
83956         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
83957         describing the enum quoting_style values.
83958         * lib/quotearg.c (quotearg_alloc): New function.
83959         (quotearg_buffer_restyled): Treat lone { and } as special.
83960         Treat = as special.  Work around bug with older shells
83961         that "see" a '\' that is really the 2nd byte of a multibyte char.
83962         Quote empty string with shell_quoting_style.
83963
83964 2004-02-03  Bruno Haible  <bruno@clisp.org>
83965
83966         * m4/pipe.m4: New file, from GNU gettext.
83967
83968 2004-02-03  Bruno Haible  <bruno@clisp.org>
83969
83970         * lib/pipe.h: New file, from GNU gettext.
83971         * lib/pipe.c: New file, from GNU gettext.
83972
83973 2004-01-27  Bruno Haible  <bruno@clisp.org>
83974
83975         * m4/execute.m4: New file, from GNU gettext.
83976
83977 2004-01-27  Bruno Haible  <bruno@clisp.org>
83978
83979         * lib/execute.h: New file, from GNU gettext.
83980         * lib/execute.c: New file, from GNU gettext.
83981         * lib/w32spawn.h: New file, from GNU gettext.
83982
83983 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83984
83985         Merge from diffutils.
83986
83987         * lib/file-type.c (file_type): Add typed memory objects.
83988         * lib/file-type.h (S_TYPEISTMO): New macro.
83989
83990         * lib/c-stack.h (c_stack_action): Remove argv argument.
83991         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83992         (die): Don't calculate message unless segv_action returns.
83993         (get_stack_location, min_address_from_argv, max_address_from_argv,
83994         volatile stack_base, volatile_stack_size): Remove.
83995         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83996         that every segmentation violation is a stack overflow.  (Ouch!)
83997         See Debian bug 136249 (still outstanding) for more info about why
83998         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83999
84000 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84001
84002         Exit-status fix from coreutils.
84003
84004         Use exit_failure consistently in place of EXIT_FAILURE,
84005         so that program exit statuses are consistent on failure.
84006
84007         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84008         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84009         * lib/argmatch.h: Comment fix to match the above.
84010         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84011         Now a macro referring to exit_failure, instead of a separate
84012         variable.  Include "exitfail.h" to get it.
84013         * lib/xstrtol.h: Include "exitfail.h".
84014         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84015
84016         * lib/long-options.c (parse_long_options): Use prototype
84017         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84018         for clarity.
84019
84020 2004-01-21  Jim Meyering  <jim@meyering.net>
84021
84022         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84023         so as not to conflict with a different-sized __mktime_internal
84024         function in GNU libc.
84025         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84026         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84027
84028 2004-01-20  Karl Berry  <karl@gnu.org>
84029
84030         * config/config.guess: update from config.
84031
84032         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84033
84034 2004-01-20  Bruno Haible  <bruno@clisp.org>
84035
84036         Safer stack allocation.
84037         * lib/setenv.c: Include allocsa.h.
84038         (alloca): Remove fallback definition.
84039         (freea): Remove macro.
84040         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84041         instead of freea.
84042
84043 2004-01-20  Bruno Haible  <bruno@clisp.org>
84044
84045         * m4/eealloc.m4: New file, from GNU gettext.
84046
84047 2004-01-20  Bruno Haible  <bruno@clisp.org>
84048
84049         * m4/allocsa.m4: New file, from GNU gettext.
84050
84051 2004-01-20  Bruno Haible  <bruno@clisp.org>
84052
84053         * lib/xallocsa.h: New file, from GNU gettext.
84054         * lib/xallocsa.c: New file, from GNU gettext.
84055
84056 2004-01-20  Bruno Haible  <bruno@clisp.org>
84057
84058         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84059
84060 2004-01-20  Bruno Haible  <bruno@clisp.org>
84061
84062         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84063         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84064         specially.
84065
84066 2004-01-20  Bruno Haible  <bruno@clisp.org>
84067
84068         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84069         patch.
84070
84071 2004-01-20  Bruno Haible  <bruno@clisp.org>
84072
84073         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84074
84075 2004-01-20  Bruno Haible  <bruno@clisp.org>
84076
84077         * lib/eealloc.h: New file.
84078
84079 2004-01-20  Bruno Haible  <bruno@clisp.org>
84080
84081         * lib/binary-io.h: Avoid warnings on Cygwin.
84082
84083 2004-01-20  Bruno Haible  <bruno@clisp.org>
84084
84085         * lib/allocsa.h: New file, from GNU gettext.
84086         * lib/allocsa.c: New file, from GNU gettext.
84087
84088 2004-01-18  Karl Berry  <karl@gnu.org>
84089
84090         * doc/gpl.texi, doc/lgpl.texi: new files.
84091
84092 2004-01-18  Karl Berry  <karl@gnu.org>
84093
84094         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84095         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84096
84097 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84098
84099         Merge from coreutils.
84100
84101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84102         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84103         (gl_DEFAULT_POSIX2_VERSION): Move
84104         the documentation from 'configure' into 'config.hin',
84105         so that 'configure --help' isn't burdened by it and
84106         we don't have to worry about its formatting there.
84107         Reword the documentation so that it's more succinct
84108         and can be run together into a single paragraph.
84109         * m4/same.m4 (gl_SAME): Check for pathconf.
84110
84111 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84112
84113         Merge from coreutils.
84114
84115         * lib/posixver.c: Include posixver.h.
84116
84117         * lib/same.c: Include <stdbool.h>, <limits.h>.
84118         (_POSIX_NAME_MAX): Define if not defined.
84119         (MIN): New macro.
84120         (same_name): If file names are silently truncated, report
84121         that the file names are the same if they are the same after
84122         the silent truncation.
84123
84124         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84125         conversion function.
84126         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84127         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84128         longer needed.
84129
84130 2004-01-15  Jim Meyering  <jim@meyering.net>
84131
84132         Merge from coreutils.
84133
84134         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84135         if no library is required.
84136         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84137         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84138         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84139         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84140         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84141         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84142         value, $ac_cv_search_crypt, if it's "none required".
84143         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84144         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84145         not gl_FUNC_GETLOADAVG.
84146         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84147         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84148
84149 2004-01-15  Jim Meyering  <jim@meyering.net>
84150
84151         Merge from coreutils.
84152
84153         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84154         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84155         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84156
84157         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84158         optional configure-time default.
84159
84160         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84161
84162         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84163
84164 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84165
84166         Merge from coreutils.
84167
84168         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84169         value, $ac_cv_search_nanosleep, if it's "none required".
84170
84171 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84172
84173         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84174         with like-named macro in fnmatch.c.
84175         (EXT): Use an internal constant instead.
84176
84177         Merge fnmatch patches from glibc.
84178         * lib/fnmatch.c (mbsinit): Remove define.
84179         Add libc_hidden_ver (__fnmatch, fnmatch).
84180         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84181         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84182
84183 2004-01-14  Karl Berry  <karl@gnu.org>
84184
84185         * config/install-sh: update from automake.
84186
84187 2004-01-13  Karl Berry  <karl@gnu.org>
84188
84189         * config/install-sh: update from automake.
84190
84191 2004-01-09  Karl Berry  <karl@gnu.org>
84192
84193         * config/install-sh: update from automake.
84194
84195 2004-01-05  Karl Berry  <karl@gnu.org>
84196
84197         * config/config.{sub,guess}: update from config.
84198
84199 2003-12-31  Karl Berry  <karl@gnu.org>
84200
84201         * config/depcomp: update from automake.
84202
84203 2003-12-14  Karl Berry  <karl@gnu.org>
84204
84205         * lib/config.charset: update from gettext-runtime.
84206
84207 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84208
84209         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84210         Bug reported by Alfred M. Szmidt.
84211
84212 2003-12-03  Bruno Haible  <bruno@clisp.org>
84213
84214         * m4/gettext.m4: Upgrade from gettext-0.13.
84215         * m4/po.m4: Upgrade from gettext-0.13.
84216         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84217         * m4/intmax.m4: New file, from gettext-0.13.
84218         * m4/printf-posix.m4: New file, from gettext-0.13.
84219
84220 2003-11-29  Karl Berry  <karl@gnu.org>
84221
84222         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84223
84224 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84225             Bruno Haible  <bruno@clisp.org>
84226
84227         * lib/printf-parse.h: Don't include sys/types.h.
84228         (ARG_NONE): New macro.
84229         (char_directive): Change type of *arg_index fields to size_t.
84230         * lib/printf-parse.c: Don't include sys/types.h.
84231         (SSIZE_MAX): Remove macro.
84232         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84233         Remove unnecessary overflow check.
84234         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84235         fields.
84236
84237 2003-11-25  Bruno Haible  <bruno@clisp.org>
84238
84239         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84240
84241 2003-11-25  Bruno Haible  <bruno@clisp.org>
84242
84243         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84244         gt_TYPE_SSIZE_T.
84245
84246 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84247
84248         * modules/alloca: Remove dependency on xalloc.
84249
84250 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84251
84252         * lib/alloca.c: Remove dependency on xalloc module.
84253         (xalloc_die): Remove.
84254         (memory_full) [!defined emacs]: New macro.
84255         [!defined emacs]: Don't include xalloc.h.
84256         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84257         address arithmetic overflows.  Change datatypes a bit to avoid
84258         unnecessary casts.
84259
84260 2003-11-22  Jim Meyering  <jim@meyering.net>
84261
84262         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84263         s/size/size_t/.
84264
84265 2003-11-21  Karl Berry  <karl@gnu.org>
84266
84267         * config/config.{sub,guess}: update from config.
84268
84269 2003-11-18  Karl Berry  <karl@gnu.org>
84270
84271         * config/config.{sub,guess}: update from config.
84272
84273         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84274
84275 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84276
84277         * README: Mention that S+T cannot overflow if S is the size of
84278         an existing object and T is sufficiently small.
84279
84280 2003-11-17  Jim Meyering  <jim@meyering.net>
84281
84282         On systems without utime and without a utimes function capable of
84283         dealing with a NULL struct utimbuf* argument, this utime replacement
84284         could -- in unusual circumstances -- leak a file descriptor.
84285         * lib/utime.c: Include <unistd.h> and <errno.h>.
84286         (utime_null): Be sure to close `fd' and to preserve errno.
84287         Reported by Geoff Collyer via Arnold Robbins.
84288
84289 2003-11-17  Bruno Haible  <bruno@clisp.org>
84290
84291         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84292         (Depends-on): Add xsize.
84293
84294 2003-11-17  Bruno Haible  <bruno@clisp.org>
84295
84296         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84297
84298 2003-11-17  Bruno Haible  <bruno@clisp.org>
84299
84300         * lib/vasnprintf.c (alloca): Remove fallback definition.
84301         (freea): Remove definition.
84302         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84303         Reported by Paul Eggert.
84304
84305 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84306             Bruno Haible  <bruno@clisp.org>
84307
84308         Protect against address arithmetic overflow.
84309         * lib/printf-args.h: Include stddef.h.
84310         (arguments): Change type of field 'count' to size_t.
84311         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84312         'unsigned int' where appropriate.
84313         * lib/printf-parse.h: Include sys/types.h.
84314         (char_directive): Change type of *arg_index fields to ssize_t.
84315         (char_directives): Change type of fields 'count', max_*_length to
84316         size_t.
84317         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84318         (SSIZE_MAX): Define fallback value.
84319         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84320         instead of 'int' where appropriate. Check a_allocated, d_allocated
84321         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84322         * lib/vasnprintf.c: Include xsize.h.
84323         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84324         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84325         overflow. Avoid wraparound when converting a width or precision from
84326         decimal to binary.
84327
84328 2003-11-16  Bruno Haible  <bruno@clisp.org>
84329
84330         Update from GNU gettext.
84331         * lib/printf-parse.c: Generalize to it can be compiled for wide
84332         strings.
84333         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
84334         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
84335         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
84336         SNPRINTF): New macros.
84337         Don't include <alloca.h> if the file is used inside libintl.
84338         (local_wcslen): New function, for Solaris 2.5.1.
84339         (VASNPRINTF): Use it instead of wcslen.
84340
84341 2003-11-16  Bruno Haible  <bruno@clisp.org>
84342
84343         * lib/xsize.h (xmax): New function.
84344         (xsum, xsum3, xsum4): Declare as "pure" functions.
84345
84346 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84347
84348         * modules/xalloc (Files): Undo latest change, since xalloc.h
84349         no longer needs SIZE_MAX or PTRDIFF_MAX.
84350
84351 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84352
84353         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
84354         gl_PTRDIFF_MAX.
84355
84356 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84357
84358         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
84359         "return", to pacify some unknown compiler.  Problem reported
84360         by Joerg Schilling.
84361
84362 2003-11-12  Paul Eggert  <eggert@twinsun.com>
84363
84364         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
84365         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
84366         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
84367         heuristic is just as accurate as far as we know, and it removes a
84368         dependency on size_max.m4 and ptrdiff_max.m4.
84369
84370 2003-11-11  Bruno Haible  <bruno@clisp.org>
84371
84372         * modules/xsize (Files): Add m4/size_max.m4.
84373         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
84374
84375 2003-11-11  Bruno Haible  <bruno@clisp.org>
84376
84377         * m4/size_max.m4: New file.
84378         * m4/ptrdiff_max.m4: New file.
84379         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
84380         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
84381         (gl_XALLOC): Invoke it.
84382
84383 2003-11-11  Bruno Haible  <bruno@clisp.org>
84384
84385         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
84386         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
84387         defined.
84388
84389 2003-11-10  Paul Eggert  <eggert@twinsun.com>
84390
84391         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
84392         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
84393         rejected some allocations of exactly SIZE_MAX - 2 bytes.
84394         From Bruno Haible.
84395         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
84396         not (size_t) -1, since it's defined here.
84397
84398 2003-11-09  Karl Berry  <karl@gnu.org>
84399
84400         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
84401
84402 2003-11-06  Paul Eggert  <eggert@twinsun.com>
84403
84404         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
84405         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
84406         Reject sizes of exactly SIZE_MAX bytes.
84407         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
84408         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
84409
84410 2003-11-05  Bruno Haible  <bruno@clisp.org>
84411
84412         * lib/xsize.h: Include limits.h, to avoid a possible collision with
84413         SIZE_MAX defined in <limits.h> on Solaris.
84414
84415 2003-11-04  Jim Meyering  <jim@meyering.net>
84416
84417         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
84418         variable names, rather than @VAR@.
84419         * modules/poll: Likewise.
84420
84421 2003-11-04  Bruno Haible  <bruno@clisp.org>
84422
84423         * modules/xsize: New file.
84424         * modules/linebreak: Depend on xsize.
84425         * MODULES.html.sh (func_all_modules): Add xsize.
84426
84427 2003-11-04  Bruno Haible  <bruno@clisp.org>
84428
84429         * m4/xsize.m4: New file.
84430
84431 2003-11-04  Bruno Haible  <bruno@clisp.org>
84432
84433         * lib/xsize.h: New file.
84434         * lib/linebreak.c: Include xsize.h.
84435         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
84436         argument for overflow.
84437         Suggested by Paul Eggert.
84438
84439 2003-11-03  Karl Berry  <karl@gnu.org>
84440
84441         * config/config.{guess,sub}: update from config.
84442
84443 2003-11-03  Jim Meyering  <jim@meyering.net>
84444
84445         * modules/userspec (lib_SOURCES): Add userspec.h.
84446         (Include): Add "userspec.h".
84447         Improve description.
84448
84449 2003-11-03  Jim Meyering  <jim@meyering.net>
84450
84451         * lib/userspec.c: Include "userspec.h".
84452         * lib/userspec.h: New file.
84453
84454 2003-11-03  Bruno Haible  <bruno@clisp.org>
84455
84456         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
84457
84458 2003-11-03  Bruno Haible  <bruno@clisp.org>
84459
84460         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
84461         available, to avoid (extremely rare) race condition.
84462         Suggested by Paul Eggert.
84463
84464 2003-11-02  Karl Berry  <karl@gnu.org>
84465
84466         * config/srclist.txt (vasprintf.c): sync broken, sigh.
84467
84468 2003-10-31  Paul Eggert  <eggert@twinsun.com>
84469
84470         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
84471         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
84472         (read_filesystem_list): Set and use me_type_malloced.
84473         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
84474         whatever the type happens to be), for brevity and consistency.
84475         Check for size calculation overflow on Alphas running OSF/1.
84476
84477 2003-10-31  Jim Meyering  <jim@meyering.net>
84478
84479         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
84480
84481         * lib/linebuffer.c: Include <string.h> for declaration of memset.
84482
84483 2003-10-30  Paul Eggert  <eggert@twinsun.com>
84484             Bruno Haible  <bruno@clisp.org>
84485
84486         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
84487         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
84488
84489 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
84490
84491         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
84492         netbsd*-gnu*.  Suggested by Robert Millan.
84493
84494 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84495
84496         * modules/group-member: Depend on stdbool.
84497
84498 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84499
84500         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
84501
84502 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84503
84504         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
84505         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
84506         after the 'gnu' in these cases.  This fixes some bugs in the
84507         previous change, and is based on suggestions by Robert Millan.
84508
84509 2003-10-29  Paul Eggert  <eggert@twinsun.com>
84510
84511         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
84512         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
84513         no longer needed.
84514         * lib/quotearg.c (quotearg_n_options): Use it.
84515         * lib/group-member.c: Include <stdbool.h>.
84516         (free_group_info): Arg is now const *; don't free arg.
84517         (get_group_info): Now returns bool and accepts struct group_info *,
84518         rather than returning a malloc'ed struct group_info *.
84519         All uses changed.  Check for overflow in internal size calculation.
84520
84521         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
84522         rather than xmalloc/xrealloc.
84523         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
84524         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
84525         conformance bug: the old code used a pointer after freeing the
84526         storage that it addressed.
84527         * lib/hash.c (hash_initialize): Simplify the code by using
84528         xalloc_oversized rather than doing it by hand.
84529         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
84530         the buffer preserved.  Use free and xmalloc instead.
84531         * lib/quotearg.c (quotearg_n_options): Likewise.
84532         Use a simpler test for size overflow.  Don't use xalloc_oversized
84533         because unsigned int might be wider than size_t (!); this suggests
84534         that we should switch from unsigned int to size_t for slot numbers.
84535
84536 2003-10-28  Paul Eggert  <eggert@twinsun.com>
84537
84538         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
84539         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
84540         NetBSD kernels.  Requested by Richard Stallman.
84541
84542 2003-10-27  Paul Eggert  <eggert@twinsun.com>
84543
84544         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
84545         to allocate the returned structure.  Do not allocate a subarray,
84546         as x2nrealloc will do that.
84547         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
84548         instead of xnrealloc.
84549         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
84550
84551 2003-10-27  Bruno Haible  <bruno@clisp.org>
84552
84553         * lib/stdbool_.h: Better support for BeOS.
84554
84555 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84556
84557         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
84558         now uses inline.
84559
84560 2003-10-26  Paul Eggert  <eggert@twinsun.com>
84561
84562         * lib/xalloc.h (xalloc_oversized): New static inline function, for
84563         callers that want to do their own size-overflow checking.  Include
84564         <stdbool.h>, since xalloc_oversized returns bool.
84565         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
84566         to use xalloc_oversized.
84567
84568         Add two functions x2realloc, x2nrealloc, for programs that grow
84569         arrays dynamically by doubling their sizes.
84570         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
84571         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
84572         New functions.
84573
84574         Port to C99 semantics for 'inline' of external functions.
84575         Bug reported by Bruno Haible.
84576         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
84577         with the old contents of xnmalloc.
84578         (xnmalloc, xmalloc): Use it.
84579         (xnrealloc_inline): New static inline function,
84580         with the old contents of xnrealloc.
84581         (xnrealloc, xrealloc): Use it.
84582
84583         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
84584         that.
84585
84586 2003-10-26  Karl Berry  <karl@gnu.org>
84587
84588         * config/srclist.txt (COPYING.DOC): no longer available from
84589         /gd/gnuorg; don't know where the ultimate source is.
84590
84591 2003-10-25  Paul Eggert  <eggert@twinsun.com>
84592
84593         Fix several address-calculation bugs in the hash modules,
84594         plus some minor code cleanup.
84595
84596         * lib/hash.h: Include <stdbool.h>, for bool.
84597         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
84598         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
84599         hash_get_n_entries, hash_get_max_bucket_length,
84600         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
84601         hash_rehash): Use size_t rather than unsigned.
84602         * lib/hash.c (struct hash_table, hash_get_n_buckets,
84603         hash_get_n_buckets_used, hash_get_n_entries,
84604         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
84605         hash_get_entries, hash_do_for_each, hash_string, is_prime,
84606         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
84607         Likewise.
84608         (SIZE_MAX): Define if not defined.
84609         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
84610         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
84611         hash_print):
84612         Use const * when possible.
84613         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
84614         (check_tuning): Fix bug: if tuning parameters were very close to
84615         0 or 1, rounding errors could have caused subscript violations.
84616         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
84617         (hash_initialize): Add 'fail:' label
84618         to free table and return NULL, and use it to simplify code.
84619         Use calloc rather than clearing the storage ourself.
84620         (hash_initialize, hash_rehash): Check for arithmetic overflow in
84621         buffer size calculations.
84622         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
84623         Include <stddef.h>, for size_t.
84624         * lib/hash-pjw.c (hash_pjw): Likewise.
84625         Switch to method described by Bruno Haible.
84626         Include <limits.h>, for CHAR_BIT.
84627         (SIZE_BITS): New macro.
84628
84629 2003-10-23  Paul Eggert  <eggert@twinsun.com>
84630
84631         * m4/getline.m4 (AM_FUNC_GETLINE):
84632         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
84633         hosts.  Problem reported by Derek Robert Price in
84634         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
84635         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
84636         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
84637
84638 2003-10-21  Paul Eggert  <eggert@twinsun.com>
84639
84640         * lib/getndelim2.c (getndelim2): When size calculation overflows,
84641         ceiling the allocation at NMAX bytes rather than silently
84642         discarding input bytes before NMAX is reached.  This makes
84643         a difference only if NMAX exceeds SIZE_MAX / 2.
84644
84645         * lib/obstack.c: Merge from glibc.
84646         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
84647         Add libc_hidden_def (_obstack_newchunk).
84648         (_obstack_free) [! defined _LIBC]: Remove.
84649         [defined _LIBC]: Make a strong alias from obstack_free, rather than
84650         a clone of the function body.
84651         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
84652         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
84653
84654         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
84655         glibc.
84656         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
84657         arg to memcpy.
84658
84659         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
84660         (obstack_ptr_grow_fast, obstack_int_grow_fast):
84661         Don't use lvalue casts, as GCC plans to remove support for them
84662         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
84663         was also present in the non-GCC version, indicating that this
84664         code had always been buggy and had never been widely used.
84665         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
84666         Use the fast variant of each macro, rather than copying the
84667         definiens of the fast variant; that way, we'll be more likely to
84668         catch future bugs in the fast variants.
84669
84670 2003-10-20  Bruno Haible  <bruno@clisp.org>
84671
84672         * modules/wait-process: New file.
84673         * MODULES.html.sh (func_all_modules): Add wait-process.
84674
84675 2003-10-20  Bruno Haible  <bruno@clisp.org>
84676
84677         * m4/wait-process.m4: New file.
84678
84679 2003-10-20  Bruno Haible  <bruno@clisp.org>
84680
84681         * lib/wait-process.h: New file, from GNU gettext.
84682         * lib/wait-process.c: New file, from GNU gettext.
84683
84684 2003-10-19  Jim Meyering  <jim@meyering.net>
84685
84686         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
84687         HPUX 10.20.
84688
84689 2003-10-18  Karl Berry  <karl@gnu.org>
84690
84691         * config/config.guess: update from config.
84692
84693 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84694
84695         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
84696         (getgroups): First arg is int, not size_t.
84697         Don't let 'free' mangle errno.
84698
84699 2003-10-16  Paul Eggert  <eggert@twinsun.com>
84700
84701         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
84702
84703 2003-10-16  Karl Berry  <karl@gnu.org>
84704
84705         * config/config.{guess,sub}: update from config.
84706
84707 2003-10-16  Jim Meyering  <jim@meyering.net>
84708
84709         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
84710         memcpy.
84711
84712 2003-10-15  Paul Eggert  <eggert@twinsun.com>
84713
84714         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
84715         (SIZE_MAX): Remove.
84716         (new_exclude, add_exclude_file): Initial size no longer needs to
84717         be a power of 2.
84718         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
84719         our own address arithmetic overflow checking.
84720
84721         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
84722         (fnmatch): Do not alloca more than 2000 wide characters;
84723         instead, use malloc for large buffers.
84724         Check for address arithmetic overflow, and return -1
84725         with errno set to ENOMEM in that case.
84726         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
84727         (NEW_PATTERN): Do not alloca more than 8000 bytes;
84728         instead, return -1.  Check for address arithmetic overflow.
84729
84730 2003-10-14  Paul Eggert  <eggert@twinsun.com>
84731
84732         Handle invalid suffixes and overflow independently, so that
84733         callers can treat them independently as needed.  Fix some bugs in
84734         suffix handling, e.g., "100k@" was not diagnosed as an invalid
84735         suffix for a human-readable blocksize.  The major caller-visible
84736         change is the addition of a new
84737         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
84738         that both overflow and suffix chars were found.
84739
84740         * lib/human.c (humblock): Don't check separately for invalid suffix
84741         char; that is xstrtoumax's job (now that its bug is fixed).
84742         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
84743         INTMAX_MAX]: New macros.
84744         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
84745         TYPE_MAXIMUM): New macros.
84746         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
84747         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
84748         if overflow occurs, as it's what __strtol does and it's more useful
84749         in practice.
84750         (__xstrtol): If __strtol reports some error other than ERANGE,
84751         reflect it to the caller as LONGINT_INVALID.  If it reports
84752         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
84753         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
84754         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
84755         value.
84756         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
84757         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
84758         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
84759         [defined UINTMAX_MAX]: New macros.
84760
84761 2003-10-14  Bruno Haible  <bruno@clisp.org>
84762
84763         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
84764
84765 2003-10-14  Bruno Haible  <bruno@clisp.org>
84766
84767         * m4/sig_atomic_t: New file, from GNU gettext.
84768         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
84769
84770 2003-10-14  Bruno Haible  <bruno@clisp.org>
84771
84772         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
84773         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
84774         Also use volatile where needed.
84775
84776 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84777
84778         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
84779         Change maintainer from Bruno Haible to 'all'.
84780
84781 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84782
84783         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
84784
84785 2003-10-12  Paul Eggert  <eggert@twinsun.com>
84786
84787         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
84788         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
84789         and define in terms of the other primitives.
84790         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
84791         (SIZE_MAX): Define if not already defined.
84792         (array_size_overflow): New function.
84793         (xalloc_die): Abort instead of exiting if 'error' returns.
84794         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
84795         (xmalloc, xrealloc): Use them.
84796         (xcalloc): Check for address arithmetic overflow.
84797         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
84798         a bit faster than strcpy.
84799
84800 2003-10-10  Simon Josefsson  <jas@extundo.com>
84801
84802         * modules/argp (Depends-on): Add restrict and strcase.
84803
84804 2003-10-10  Simon Josefsson  <jas@extundo.com>
84805
84806         * m4/argp.m4: Add AC_C_INLINE.
84807
84808 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84809
84810         Merge getpass from libc, plus a few fixes.
84811
84812         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
84813         Include <stdbool.h>.
84814         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
84815         __fsetlocking to empty.
84816         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
84817         do include <bits/libc-lock.h>.
84818         Do not include <fcntl.h>; not needed.
84819         [_LIBC]: Include <wchar.h>.
84820         (NOTCANCEL_MODE): New macro.
84821         (flockfile, funlockfile) [_LIBC]: New macros.
84822         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
84823         [!_LIBC]: New macros.
84824         (call_fclose): New function.
84825         (getpass): Use it.  Save tty stream separately; this simplifies the
84826         code and makes it more reliable if stdin happens to equal stdout.
84827         Invoke __fsetlocking on tty.
84828         Handle thread cancellation if needed.
84829         Namespace cleanup (use __tcgetattr, __getline).
84830         Use bool for Booleans.
84831         [USE_IN_LIBIO]: Handle wide streams.
84832         [!_LIBC]: Unconditionally do the fseek, since we don't know what
84833         stream might go where.
84834
84835         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
84836         doesn't have to include <stdio.h> before us.
84837         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
84838         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
84839         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
84840         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
84841         if not declared, so that we can use getpass.c code from libc without
84842         rewriting it.
84843         (flockfile, ftrylockfile, funlockfile): New macros.
84844
84845 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84846
84847         * modules/getpass: Depend on stdbool.
84848
84849 2003-10-08  Paul Eggert  <eggert@twinsun.com>
84850
84851         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
84852
84853 2003-10-07  Karl Berry  <karl@gnu.org>
84854
84855         * config/config.{guess,sub}: update from config.
84856
84857 2003-10-06  Jim Meyering  <jim@meyering.net>
84858             Bruno Haible  <bruno@clisp.org>
84859
84860         This lets translators provide better translations for the
84861         "Written by ..." part of --version output.
84862         * lib/version-etc.h: Include stdarg.h.
84863         (version_etc_copyright): Declare as readonly.
84864         (version_etc): Make this function variadic with a NULL-terminated list
84865         of author name strings.
84866         (version_etc_va): New declaration.
84867         * lib/version-etc.c: Include stdarg.h, stdlib.h.
84868         (version_etc_copyright): Declare as readonly.
84869         (version_etc_va): New function. Provide a different translatable string
84870         for each possible number of authors < 10. Abbreviate when there are 10
84871         authors or more.
84872         (version_etc): Make this function variadic. Call version_etc_va.
84873         Suggestion from Gary V. Vaughan.
84874
84875         * lib/long-options.h (parse_long_options): Change prototype: the
84876         authors string is moved to the end and becomes variadic.
84877         * lib/long-options.c: Include stdarg.h.
84878         (parse_long_options): Make this function variadic, too.
84879         Call version_etc_va, not version_etc.
84880
84881 2003-10-06  Bruno Haible  <bruno@clisp.org>
84882
84883         * modules/version-etc-2: Remove file.
84884         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
84885
84886 2003-10-06  Bruno Haible  <bruno@clisp.org>
84887
84888         * modules/fatal-signal: New file.
84889         * MODULES.html.sh (func_all_modules): Add fatal-signal.
84890
84891 2003-10-06  Bruno Haible  <bruno@clisp.org>
84892
84893         * m4/fatal-signal.m4: New file.
84894         * m4/signalblocking.m4: New file, from GNU gettext.
84895
84896 2003-10-06  Bruno Haible  <bruno@clisp.org>
84897
84898         * lib/version-etc-2.h: Remove file.
84899         * lib/version-etc-2.c: Remove file.
84900
84901 2003-10-06  Bruno Haible  <bruno@clisp.org>
84902
84903         * lib/fatal-signal.h: New file, from GNU gettext.
84904         * lib/fatal-signal.c: New file, from GNU gettext.
84905
84906 2003-10-05  Paul Eggert  <eggert@twinsun.com>
84907
84908         * README: Rework advice for preventing empty .o files.
84909         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
84910         not <sys/types.h>.
84911
84912 2003-10-04  Karl Berry  <karl@gnu.org>
84913
84914         * lib/argp*: update from libc.
84915
84916 2003-10-04  Karl Berry  <karl@gnu.org>
84917
84918         * config/config.{guess,sub}: update from config.
84919
84920 2003-10-02  Bruno Haible  <bruno@clisp.org>
84921
84922         * modules/lchown (Include): Add lchown.h.
84923         * modules/time_r (Include): Use "..." syntax.
84924         * modules/xgetdomainname (Include): Add xgetdomainname.h.
84925
84926 2003-10-01  Simon Josefsson  <jas@extundo.com>
84927
84928         * MODULES.html.sh (func_all_modules): Move gethostname from section
84929         'based on' to section 'lacking' POSIX:2001.
84930
84931 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
84932
84933         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
84934         to output mode on the same stream.
84935
84936 2003-09-29  Paul Eggert  <eggert@twinsun.com>
84937
84938         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
84939         Fix arg typo in previous patch.
84940
84941 2003-09-28  Jim Meyering  <jim@meyering.net>
84942
84943         * lib/error.c: Correct cpp indentation.
84944
84945 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84946
84947         * modules/free: New file.
84948
84949 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84950
84951         * m4/free.m4: New file.
84952
84953 2003-09-27  Paul Eggert  <eggert@twinsun.com>
84954
84955         * lib/minmax.h (MIN, MAX)
84956         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
84957         Omit the special code that used __typeof__, since we worry that
84958         it could be more trouble than it's worth.  See:
84959         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
84960         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
84961
84962         * lib/free.c: New file.
84963
84964 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84965
84966         Trivial fixes to Makefile.am parts of module listings.
84967         * modules/strstr: Append strstr.h to lib_SOURCES.
84968         * modules/strcase: Likewise, for strcase.h.
84969
84970 2003-09-27  Karl Berry  <karl@gnu.org>
84971
84972         * config/mkinstalldirs: update from automake.
84973
84974 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84975
84976         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84977         (error_tail): Do not loop, reallocating temporary buffer, since
84978         the output cannot contain more wide characters than the input
84979         contains bytes, the size must be big enough already.  This avoids
84980         one potential size overflow calculation.  Check for size overflow
84981         when calculating temporary buffer size.  Free temporary buffer
84982         when done, if it was allocated with malloc; this plugs a memory
84983         leak.  Remove casts from void * to pointers, that are no longer
84984         needed now that we're assuming C89 or better.
84985
84986         Merge error changes from glibc.
84987
84988         * lib/error.c, error.h: Update copyright notice header to match glibc.
84989         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84990         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84991         Disable cancellation while printing error.
84992         * lib/error.h: Prepend __ to parameter names.
84993
84994 2003-09-26  Jim Meyering  <jim@meyering.net>
84995
84996         * lib/error.c (error_tail): Move some declarations
84997         into inner scope where the local variables are used.
84998
84999 2003-09-26  Bruno Haible  <bruno@clisp.org>
85000
85001         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85002         stpncpy().
85003         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85004
85005 2003-09-26  Bruno Haible  <bruno@clisp.org>
85006
85007         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85008         (stpncpy): Define as alias for gnu_stpncpy.
85009         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85010
85011 2003-09-25  Simon Josefsson  <jas@extundo.com>
85012
85013         * lib/xgetdomainname.h: New file.
85014         * lib/xgetdomainname.c: New file.
85015
85016 2003-09-25  Simon Josefsson  <jas@extundo.com>
85017             Bruno Haible  <bruno@clisp.org>
85018
85019         * modules/getdomainname: New file.
85020         * modules/xgetdomainname: New file.
85021         * MODULES.html.sh (func_all_modules): Add getdomainname,
85022         xgetdomainname.
85023
85024 2003-09-25  Simon Josefsson  <jas@extundo.com>
85025             Bruno Haible  <bruno@clisp.org>
85026
85027         * m4/getdomainname.m4: New file.
85028
85029 2003-09-25  Simon Josefsson  <jas@extundo.com>
85030             Bruno Haible  <bruno@clisp.org>
85031
85032         * lib/getdomainname.h: New file.
85033         * lib/getdomainname.c: New file.
85034
85035 2003-09-25  Karl Berry  <karl@gnu.org>
85036
85037         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85038
85039 2003-09-25  Karl Berry  <karl@gnu.org>
85040
85041         * config/install-sh: update from automake.
85042
85043 2003-09-25  Bruno Haible  <bruno@clisp.org>
85044
85045         * modules/version-etc-2: New file, from modules/version-etc with
85046         modifications.
85047         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85048
85049 2003-09-25  Bruno Haible  <bruno@clisp.org>
85050
85051         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85052         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85053
85054 2003-09-24  Simon Josefsson  <jas@extundo.com>
85055
85056         * modules/xgethostname: Add xgethostname.h.
85057
85058 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85059
85060         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85061         the buffer associated with the argument.  Bug reported by
85062         Simon Josefsson.
85063
85064 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85065
85066         * README: Document assumptions that 'int' is at least 32 bits
85067         wide, that integer arithmetic is 2's complement without overflow,
85068         that there are no holes in integer values, that adding sizes of
85069         two nonoverlapping objects can't overflow, and that all-bits-zero
85070         yields scalar zero.  Fix spelling and capitalization typos.
85071
85072 2003-09-19  Karl Berry  <karl@gnu.org>
85073
85074         * lib/argp.h: update from libc.
85075
85076 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85077
85078         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85079         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85080         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85081
85082 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85083
85084         * gnulib-tool: Use "test -h", not "test -L", for portability
85085         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85086         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85087         (sed_extract_prog): Issue s commands one-by-one, rather than
85088         using \| in one s command.
85089
85090 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85091
85092         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85093         input error, instead of returning NULL the next time we are called
85094         (and therefore losing track of errno).
85095
85096 2003-09-16  Bruno Haible  <bruno@clisp.org>
85097
85098         * gnulib-tool (func_create_testdir): Warn about duplicated
85099         dependencies.
85100
85101 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85102
85103         * modules/argmatch, modules/fatal, modules/obstack,
85104         modules/xalloc, modules/xgethostname: Sort dependencies by
85105         importance, not alphabetically.
85106
85107 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85108
85109         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85110         fails, so that the caller gets the proper errno.
85111
85112         * lib/readutmp.c (read_utmp): Likewise.
85113         Check for fstat error.  Close stream and free storage
85114         when failing.
85115
85116 2003-09-14  Karl Berry  <karl@gnu.org>
85117
85118         * config/srclist.txt (strdup.c): disable for c89 changes.
85119
85120 2003-09-14  Jim Meyering  <jim@meyering.net>
85121
85122         * lib/getloadavg.c: Correct cpp indentation.
85123         * lib/strdup.c: Likewise.
85124         * lib/vasnprintf.c: Likewise.
85125
85126 2003-09-14  Bruno Haible  <bruno@clisp.org>
85127
85128         * modules/fwriteerror: New file.
85129         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85130
85131 2003-09-14  Bruno Haible  <bruno@clisp.org>
85132
85133         * lib/fwriteerror.h: New file.
85134         * lib/fwriteerror.c: New file.
85135
85136 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85137
85138         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85139         modules/xgethostname, modules/xalloc: Depend on exit.
85140
85141 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85142
85143         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85144
85145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85146         and AC_MINIX, too, so that their extensions are available.
85147
85148         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85149         This macro has been superseded by gl_BACKUPFILE.
85150
85151         More patches to assume C89 or better.
85152
85153         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85154
85155         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85156         unconditionally.
85157         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85158         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85159         Include <string.h>, <stdlib.h> unconditionally.
85160         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85161         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85162         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85163         headers or for string.h.
85164         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85165         or strtoul.
85166
85167         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85168         headers.
85169         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85170         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85171         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85172         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85173         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85174         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85175         memcpy, memset.
85176         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85177         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85178         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85179         strtol.
85180         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85181         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85182         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85183         strtoul.
85184
85185 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85186
85187         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85188         * lib/obstack.c [!defined _LIBC]: Likewise.
85189         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85190         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85191         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85192
85193         More changes to assume C89 or better.
85194
85195         * lib/error.c (error_tail): Assume vprintf.
85196
85197         * lib/argmatch.c (getenv): Remove decl.
85198         * lib/progreloc.c (get_full_program_name): Define via prototype.
85199         * lib/setenv.c (clearenv): Likewise.
85200         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85201         needed.
85202         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85203         (malloc, memcpy): Remove decls.
85204         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85205         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85206         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85207         (memcpy): Remove macro.
85208         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85209         (__P): Remove.  All uses removed.
85210         (PTR): Remove.  All uses changed to void *.
85211         (CHAR_BIT, NULL): Remove.
85212         (spaces, zeros, memset_space, memset_zero)
85213         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85214         Remove.
85215         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85216         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85217         Define with prototype.
85218         Remove now-unnecessary prototype decl.
85219         (extra_args_spec): Assume ANSI C.  All uses changed.
85220         (extra_args_spec_iso): Remove.
85221         (my_strftime, emacs_strftimeu): Define via prototype.
85222         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85223         unconditionally.
85224         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85225         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85226         (strtoul, strtol): Remove decls.
85227         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85228         LONG_MAX): Remove.
85229         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85230         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85231         (LOCALE_PARAM_PROTO): New macro.
85232         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85233         (INTERNAL (strtol), strtol): Define with a prototype.
85234         (PARAMS): Remove.  All uses removed.
85235         * lib/tempname.c: Include <string.h> unconditionally.
85236         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85237         * lib/xgethostname.c (main): Define with a prototype.
85238         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85239         Include <stdlib.h> unconditionally.
85240         (calloc, malloc, realloc, free): Remove decls.
85241         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85242         Include <stdlib.h> unconditionally.  Sort include file names.
85243         (strtod): Remove.
85244         (xstrtod): Define with a prototype.
85245         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85246         (strtol, strtoul): Remove decls.
85247
85248 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85249
85250         More patches to assume C89 or better.
85251         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85252         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85253         string.h, memchr, STDC_HEADERS.
85254
85255 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85256
85257         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85258         Include <stdlib.h>, <string.h> unconditionally.
85259         Remove now-unnecessary cast to char *.
85260         * lib/strnlen.c: Include <string.h> unconditionally.
85261         * lib/yesno.c (yesno): Define with a prototype.
85262
85263 2003-09-11  Bruno Haible  <bruno@clisp.org>
85264
85265         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85266
85267 2003-09-10  Jim Meyering  <jim@meyering.net>
85268
85269         * lib/error.c: Correct indentation of cpp directives.
85270
85271 2003-09-10  Bruno Haible  <bruno@clisp.org>
85272
85273         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85274         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85275         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85276         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85277         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85278         <stdlib.h> and <string.h> checks.
85279         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85280         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85281
85282 2003-09-10  Bruno Haible  <bruno@clisp.org>
85283
85284         * lib/strcspn.c: Include <string.h> unconditionally.
85285         * lib/strpbrk.c: Include <string.h> unconditionally.
85286         * lib/strstr.c: Include <string.h> unconditionally.
85287         * lib/unicodeio.c: Include <string.h> unconditionally.
85288         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85289         * lib/unsetenv.c: Likewise.
85290         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85291         * lib/yesno.c: Include <stdlib.h> unconditionally.
85292         (rpmatch): Add prototype.
85293
85294 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85295
85296         More patches to assume C89 or better.
85297         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85298         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85299         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85300         or for string.h.
85301         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85302         stdlib.h.
85303         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85304         C headers.
85305         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85306         string.h.
85307         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85308         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85309         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85310         or for string.h.
85311         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85312         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85313         C headers.
85314         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85315         memcpy.
85316         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85317         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85318         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85319         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85320         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85321         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85322         string.h, free.
85323         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85324         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85325         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85326         C headers, or for string.h.
85327         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85328         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85329         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85330         headers, memory.h, stdlib.h, string.h, strings.h.
85331         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
85332         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
85333         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
85334         strchr.
85335         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
85336         headers, memory.h, string.h.
85337         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
85338         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
85339         free.
85340         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
85341         headers.
85342         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
85343         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
85344         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
85345         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
85346         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
85347
85348 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85349
85350         More K&R removal.
85351
85352         * lib/acosl.c (main): Use a prototype.
85353         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
85354         tanl.c: Likewise.
85355
85356         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
85357
85358         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
85359         (getopt, etopt_long, getopt_long_only, _getopt_internal)
85360         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
85361         with a prototype.
85362         * lib/getopt.c (const): Remove macro.
85363         Include <string.h> unconditionally.
85364         (my_index): Remove; all uses changed to strchr.
85365         (strlen): Remove decl.
85366         (exchange): Remove forward decl; no longer needed.
85367         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
85368         Define with prototype.
85369         * lib/getopt1.c (const): Remove macro.
85370         (getopt_long, getopt_long_only, main): Define with prototype.
85371
85372         * lib/getugroups.c: Include <string.h> unconditionally.
85373
85374         * lib/getusershell.c: Include <stdlib.h> unconditionally.
85375         (getusershell, setusershell, endusershell, readname, main):
85376         Define with prototypes.
85377
85378         * lib/group-member.c: Include group-member.h first.
85379         Include <stdlib.h> unconditionally.
85380
85381         * lib/hard-locale.c: Include hard-locale.h first.
85382         Include <stdlib.h>, <string.h> unconditionally.
85383
85384         * lib/hash.c (free, malloc): Remove decls.
85385         Include <stdlib.h> unconditionally.
85386
85387         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
85388         (getenv): Do not declare.
85389
85390         * lib/idcache.c: Include <string.h> unconditionally.
85391
85392         * lib/long-options.c: Include long-options.h first, to test interface.
85393         Include <stdlib.h> unconditionally.
85394
85395         * lib/makepath.c: Include makepath.h first, to test interface.
85396         Include <stdlib.h> and <string.h> unconditionally.
85397
85398         * lib/linebuffer.c: Include <stdlib.h>.
85399         (free): Remove decl.
85400
85401         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
85402         stddef.h. rpl_malloc returns void *, not char *.
85403         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
85404         prototype.
85405
85406         * lib/md5.h: Include <limits.h> unconditionally.
85407         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
85408         (__P): Remove; all uses removed.
85409         * lib/md5.c: Include "md5.h" first.
85410         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
85411         md5_buffer, md5_process_bytes, md5_process_block):
85412         Define with prototypes.
85413         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
85414         * lib/sha.c: Include "sha.h" first.
85415         Include <stdlib.h>, <string.h> unconditionally.
85416
85417         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
85418         * lib/memcmp.c (__ptr_t): Likewise.
85419         * lib/memrchr.c (__ptr_t): Likewise.
85420         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
85421         Include <string.h> unconditionally.
85422         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
85423         * lib/memchr.c: Include <stdlib.h> unconditionally.
85424         * lib/memchr.c (LONG_MAX): Remove.
85425         * lib/memrchr.c (LONG_MAX): Likewise.
85426         * lib/memchr.c (__memchr): Define via a prototype.
85427         * lib/memrchr.c (__memrchr): Likewise.
85428         * lib/memcmp.c (__P): Remove, and remove all uses.
85429         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
85430         Remove forward decls; no longer needed.
85431         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
85432         Use types required by C89 in prototype.
85433
85434         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
85435         * lib/savedir.c: Likewise.
85436         * lib/mkdir.c (free): Remove decl.
85437         * lib/rmdir.c (rmdir): Define with a prototype.
85438         * lib/savedir.c: Include savedir.h first, to test interface.
85439
85440         * lib/mktime.c (STDC_HEADERS): Remove.
85441         Include <stdlib.h>, <string.h> unconditionally.
85442
85443         * lib/modechange.c: Include <stdlib.h> unconditionally.
85444         (malloc): Remove decl.
85445
85446         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
85447         (free): Remove decl.
85448
85449         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
85450         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
85451         (This type really should be intptr_t, but that's a C99ism.)
85452         (_obstack_memcpy): Remove: all uses changed to memcpy.
85453         Include <string.h> unconditionally.
85454         (struct obstack): Assume __STDC__ for types of members
85455         chunkfun, freefun, extra_arg.
85456         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
85457         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
85458         obstack_begin, obstack_specify_allocation,
85459         obstack_specify_allocation_with_arg, obstack_chunkfun,
85460         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
85461         Remove unprototyped decls and the macros that use them.
85462         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
85463         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
85464         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
85465         (defined __STDC__ && __STDC__)]:
85466         Remove nonprototyped code.
85467         Include <stdlib.h> unconditionally.
85468         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
85469         _obstack_allocated_p, _obstack_free, obstack_free,
85470         _obstack_memory_used, print_and_abort):
85471         Define using prototypes.
85472         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
85473         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
85474         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
85475         obstack_next_free, obstack_object_size, obstack_room) [0]:
85476         Remove unused, unprototyped code.
85477
85478         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
85479
85480         * lib/physmem.c (physmem_total, physmem_available, main): Define
85481         with prototypes.
85482
85483         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
85484         (main): Define with a prototype.
85485
85486         * lib/posixver.c (getenv): Remove decl.
85487
85488         * lib/putenv.c (malloc): Returns void *, not char *.
85489         Include <string.h> unconditionally.
85490         (strchr, memcpy, NULL): Do not define.
85491
85492         * lib/readtokens.c: Include readtokens.h first, to test interface.
85493         Include <stdlib.h>, <string.h> unconditionally.
85494         (init_tokenbuffer): Define with a prototype.
85495
85496         * lib/regex.c (PARAMS): Remove.  All uses removed.
85497         All uses of _RE_ARGS removed, too.
85498         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85499         unconditionally.
85500         (bzero): Assume memset exists.
85501         (memcmp, memcpy, NULL): Remove.
85502         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
85503         char, or assignments to local vars of type signed char.
85504         (init_syntax_once, PREFIX(extract_number_and_incr),
85505         PREFIX(print_partial_compiled_pattern),
85506         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
85507         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
85508         PREFIX(regex_grow_registers), PREFIX(regex_compile),
85509         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
85510         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
85511         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
85512         wcs_compile_range, byte_compile_range, truncate_wchar,
85513         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
85514         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
85515         count_mbs_length, wcs_re_match_2_internal,
85516         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
85517         PREFIX(alt_match_null_string_p),
85518         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
85519         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
85520         regfree, PREFIX(extract_number)): Define with prototype.  Remove
85521         now-unnecessary declaration, if any.
85522         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
85523         regcomp, regexec):
85524         Remove now-unnecessary casts among pointer types.
85525         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
85526
85527         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
85528         (free): Remove decl.
85529
85530         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
85531
85532         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
85533         (free): Remove decl.
85534
85535         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
85536         * lib/xgetcwd.c: Likewise.
85537
85538         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
85539         (free): Remove decl.
85540
85541         * lib/strchrnul.c (strchrnul): Define with a prototype.
85542         Fix bug: c_in was not converted to char before searching.
85543
85544         The following changes are not K&R related:
85545
85546         * lib/group-member.h: Include <sys/types.h>, so that this file is
85547         self-contained.
85548         * lib/makepath.h: Likewise.
85549
85550         * lib/getusershell.c (readname, default_index, line_size, readname):
85551         Use size_t, not int, for sizes.
85552         (readname): If the size overflows, report an error instead of
85553         looping forever.
85554
85555 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85556
85557         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
85558         libc.
85559
85560 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85561
85562         * README: New section: portability guidelines.
85563
85564 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85565
85566         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
85567         C89 spec.
85568
85569 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
85570
85571         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
85572
85573 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85574
85575         Assume C89 or better; remove K&R cruft.
85576         A few of these changes were first proposed by Derek Robert Price
85577         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
85578
85579         * lib/addext.c: Include <string.h> unconditionally.
85580         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
85581         Don't declare getenv or malloc.
85582
85583         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
85584         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
85585         (NULL): Remove.
85586         (find_stack_direction, alloca): Use prototypes.
85587
85588         * lib/atexit.c (atexit): Define using a prototype.
85589
85590         * lib/basename.c, dirname.c, stripslash.c:
85591         Include <string.h> unconditionally.
85592
85593         * lib/bcopy.c: Include <stddef.h>.
85594         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
85595
85596         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
85597
85598         * lib/error.h (error, error_at_line, error_print_progname)
85599         [! (defined (__STDC__) && __STDC__)]: Remove decls.
85600         * lib/error.c: Include error.h first, to check interface.
85601         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85602         (VA_START): Remove; all uses changeed to va_start.
85603         (exit, strerror): Remove decls.
85604         (error_print_progname): Prototype uncondionally.
85605         Don't include <errno.h>; no longer needed.
85606         (private_strerror): Remove.
85607         (error_tail): Always define.
85608         (error, error_at_line): Assume C89 or better; always use prototypes.
85609         * lib/fatal.c: Include "fatal.h" first, to test interface.
85610         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
85611         (VA_START): Remove; all uses changed to va_start.
85612         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
85613         this case.
85614         (exit): Remove decl.
85615         (fatal): Prototype unconditionally.  Assume va_start works.
85616         Abort at end, to pacify gcc.
85617
85618         * lib/euidaccess.c (main): Define with a prototype.
85619
85620         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
85621
85622         * lib/exitfail.c: Include <stdlib.h> unconditionally.
85623
85624         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
85625         prototypes.
85626         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
85627         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
85628         (getenv): Remove decl.
85629         (fnmatch): Define using a prototype.
85630         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
85631         (FCT): Define using a prototype.
85632
85633         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
85634
85635         * lib/gethostname.c: Include <stddef.h>.
85636         (gethostname): Define with prototype.  Length is size_t, not int.
85637
85638 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85639
85640         Assume C89 or better; remove K&R cruft.
85641         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
85642         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
85643         string.h, getenv, malloc.
85644         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
85645         headers.
85646         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
85647         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
85648         do not check for strerror.
85649         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
85650         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
85651         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
85652         do not check for doprnt or vprintf.
85653         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
85654         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
85655
85656 2003-09-08  Paul Eggert  <eggert@twinsun.com>
85657
85658         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
85659         getversion.c should have been removed then, but was accidentally
85660         preserved.
85661
85662         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
85663         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
85664
85665 2003-09-08  Karl Berry  <karl@gnu.org>
85666
85667         * config/config.sub, config.guess, srclistvars.sh: update from savannah
85668                 config, forget about prep.
85669
85670         * config/depcomp, missing: update from automake.
85671
85672 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85673
85674         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
85675         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85676
85677 2003-09-07  Paul Eggert  <eggert@twinsun.com>
85678
85679         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
85680         copy_tm_result.  Bug reported by Simon Josefsson in
85681         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
85682
85683 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85684
85685         * m4/time_r.m4: New file.
85686         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
85687         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
85688         is. Check for timegm declaration.
85689         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
85690         Do not check for gmtime_r.
85691         Replace mktime if __mktime_internal does not exist and if mktime
85692         hasn't been replaced already.
85693
85694 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85695
85696         * lib/time_r.c, lib/time_r.h: New files.
85697
85698         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
85699         __localtime_r.
85700         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
85701         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
85702
85703         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
85704         __gmtime_r.
85705         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
85706         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
85707         Include <time_r.h>.
85708
85709         * lib/timegm.c: Switch to glibc implementation, with the following
85710         changes:
85711         [defined HAVE_CONFIG_H]: Include <config.h>.
85712         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
85713         (__mktime_internal) [!defined _LIBC]: New decl.
85714         (__gmtime_r) [!defined _LIBC]: New macro and function.
85715         (timegm): Use a prototype, since gnulib assumes C89.
85716         Do not bother declaring tmp to be const, as it's not really usefu.
85717         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
85718         (timegm): Declare only if HAVE_DECL_TIMEGM.
85719
85720 2003-09-06  Paul Eggert  <eggert@twinsun.com>
85721
85722         * MODULES.html.sh (func_all_modules): Add time_r.
85723         * modules/time_r: New file.
85724         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
85725         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
85726
85727 2003-09-03  Paul Eggert  <eggert@twinsun.com>
85728
85729         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
85730         Bug reported by Lute Kamstra in
85731         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
85732
85733         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
85734         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
85735         course with correspondingly smaller numbers for tomorrow and
85736         yesterday.  From Tadayoshi Funaba.  Originally installed into
85737         sh-utils on 1999-08-07, but the patch got lost (I guess during the
85738         coreutils merge?).
85739
85740 2003-08-31  Simon Josefsson  <jas@extundo.com>
85741
85742         * modules/timegm: New file.
85743         * MODULES.html.sh (func_all_modules): Add timegm.
85744
85745 2003-08-31  Simon Josefsson  <jas@extundo.com>
85746
85747         * m4/timegm.m4: New file.
85748
85749 2003-08-31  Simon Josefsson  <jas@extundo.com>
85750
85751         * lib/timegm.h: New file.
85752         * lib/timegm.c: New file.  Based on
85753         wget-1.8.2/src/http.c:mktime_from_utc.
85754
85755 2003-08-31  Karl Berry  <karl@gnu.org>
85756
85757         * lib/argp.h: update from libc.
85758
85759 2003-08-28  Bruno Haible  <bruno@clisp.org>
85760
85761         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
85762         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
85763         followed by '#define fnmatch fnmatch_posix' gives an error.
85764
85765 2003-08-28  Bruno Haible  <bruno@clisp.org>
85766
85767         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
85768         warning on QNX, which defines O_BINARY to 000000.
85769
85770 2003-08-27  Jim Meyering  <jim@meyering.net>
85771
85772         * m4/mkstemp.m4: Require that the system mkstemp be able to create
85773         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
85774         would fail after 32.  Reported by Danny Levinson.  Details here:
85775         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
85776
85777 2003-08-24  Bruno Haible  <bruno@clisp.org>
85778
85779         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
85780         MSVC7 <stdio.h> is included later.
85781
85782 2003-08-22  Simon Josefsson  <jas@extundo.com>
85783
85784         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
85785
85786 2003-08-20  Karl Berry  <karl@gnu.org>
85787
85788         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
85789
85790 2003-08-20  Bruno Haible  <bruno@clisp.org>
85791
85792         * modules/progname: New file.
85793         * MODULES.html.sh (func_all_modules): Add progname.
85794
85795 2003-08-20  Bruno Haible  <bruno@clisp.org>
85796
85797         * lib/progname.h: New file, from GNU gettext.
85798         * lib/progname.c: New file, from GNU gettext.
85799         * lib/progreloc.c: New file, from GNU gettext.
85800
85801 2003-08-19  Jim Meyering  <jim@meyering.net>
85802
85803         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
85804         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
85805
85806 2003-08-19  Bruno Haible  <bruno@clisp.org>
85807
85808         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
85809         more.
85810
85811 2003-08-19  Bruno Haible  <bruno@clisp.org>
85812
85813         * lib/xstrdup.c: Assume <string.h> exists.
85814
85815 2003-08-18  Paul Eggert  <eggert@twinsun.com>
85816
85817         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
85818         in makefile rules.
85819
85820 2003-08-18  Jim Meyering  <jim@meyering.net>
85821
85822         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
85823         * m4/lib-ld.m4: Likewise.
85824
85825 2003-08-18  Jim Meyering  <jim@meyering.net>
85826
85827         * lib/setenv.h: Indent nested cpp directive.
85828         * lib/vasnprintf.c: Remove trailing blanks.
85829
85830 2003-08-17  Simon Josefsson  <jas@extundo.com>
85831
85832         * modules/xstrndup: New file.
85833         * MODULES.html.sh (func_all_modules): Add xstrndup.
85834
85835 2003-08-17  Simon Josefsson  <jas@extundo.com>
85836
85837         * modules/argp: Fix autoconf macro name. Add more dependencies.
85838
85839 2003-08-17  Simon Josefsson  <jas@extundo.com>
85840
85841         * m4/xstrndup.m4: New file.
85842
85843 2003-08-17  Simon Josefsson  <jas@extundo.com>
85844
85845         * m4/argp.m4: New file.
85846
85847 2003-08-17  Simon Josefsson  <jas@extundo.com>
85848             Bruno Haible  <bruno@clisp.org>
85849
85850         * lib/xstrndup.h: New file.
85851         * lib/xstrndup.c: New file.
85852
85853 2003-08-17  Bruno Haible  <bruno@clisp.org>
85854
85855         * modules/strndup (Files, Include): Add lib/strndup.h.
85856
85857 2003-08-17  Bruno Haible  <bruno@clisp.org>
85858
85859         * modules/euidaccess (Files): Add lib/euidaccess.h.
85860
85861 2003-08-17  Bruno Haible  <bruno@clisp.org>
85862
85863         * lib/strndup.h: New file.
85864
85865 2003-08-17  Bruno Haible  <bruno@clisp.org>
85866
85867         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
85868         like AC_GNU_SOURCE.
85869         * modules/extensions (configure.ac): Comment out the invocation of
85870         gl_USE_SYSTEM_EXTENSIONS.
85871
85872 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85873
85874         Merges from coreutils, etc.
85875         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
85876         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
85877         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
85878         fixing a typo.
85879         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
85880         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
85881
85882 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85883
85884         Document merge from coreutils.
85885         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
85886         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
85887         * modules/utime: Add m4/utimes-null.m4.
85888
85889 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85890
85891         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
85892         space, undoing this 2003-08-12 change:
85893         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85894
85895 2003-08-16  Paul Eggert  <eggert@twinsun.com>
85896
85897         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
85898         strtoul.c from libc, undoing this 2003-08-12 change:
85899         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
85900
85901 2003-08-16  Jim Meyering  <jim@meyering.net>
85902
85903         Merges from coreutils.
85904         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
85905         prefix.  Adjust cache variables similarly.  Create 500 rather than
85906         just 300 files, to exercise bug on Darwin6.5, too.
85907         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
85908         $missing_dir.
85909         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
85910         AM_SYS_POSIX_TERMIOS.
85911         Reported by mkc@mathdogs.com.
85912         Also change use of $am_cv_sys_posix_termios
85913         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
85914         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
85915         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
85916         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
85917         in /proc/mounts until it finds one with matching device number.  This
85918         is unnecessary when the FILE argument *is* a mount point.  No stat call
85919         is necessary in that case.  So, disable the statvfs-testing code on
85920         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
85921         as RedHat bug# 84846.
85922         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85923         to 1MB, so as not to render systems with no stack size limit (e.g.,
85924         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85925         Include <unistd.h>.  On some systems,
85926         it is required for the definition of _SC_PAGESIZE.
85927
85928 2003-08-16  Jim Meyering  <jim@meyering.net>
85929
85930         Merge from coreutils.
85931         * lib/xstrtoimax.c: #else #if -> #elif.
85932         * lib/xstrtoumax.c: Likewise.
85933
85934 2003-08-16  Jim Meyering  <jim@meyering.net>
85935
85936         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
85937         * m4/utimes.m4: Removed.
85938         * m4/utimes-null.m4: Renamed from utimes.m4.
85939
85940         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
85941         to 1MB, so as not to render systems with no stack size limit (e.g.,
85942         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
85943         Include <unistd.h>.  On some systems,
85944         it is required for the definition of _SC_PAGESIZE.
85945
85946 2003-08-16  Jim Meyering  <jim@meyering.net>
85947         and Paul Eggert  <eggert@cs.ucla.edu>
85948
85949         Merges from coreutils, etc.
85950
85951         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
85952         using the latest version from cvs.  This avoids problems with #line
85953         directives using a vendor (Sun) compiler.
85954         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
85955         Don't set GETGROUPS_LIB here; now it's
85956         done via getgroups.m4's wrapper function.
85957         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
85958         rather than just in sh-util/configure.in, so that the
85959         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
85960         same.
85961         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
85962         AC_FUNC_GETLOADAVG where to find getloadavg.c.
85963         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
85964         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85965         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85966         Remove code that is now done by the newly-required macros.
85967         Append $(EXEEXT) to DF_PROG.
85968         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85969         Do not invoke or require the following here,
85970         since prereq.m4 or some gnulib .m4 now does this for us:
85971         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85972         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85973         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85974         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85975         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85976         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85977         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85978         AC_FUNC_OBSTACK.
85979         Do not replace the following functions, as this is now the job
85980         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85981         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85982         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85983         atexit getpass, strdup, getpagesize.
85984         Replace 'raise'.
85985         Do not check for the following functions, as this is now the job
85986         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85987         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85988         setregid.
85989         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85990         Check for sys/sysctl.h.
85991         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85992         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85993         of checking for ssize_t ourselves.
85994
85995         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85996         Require every macro that gnulib/modules/* suggests for us.
85997         (jm_PREREQ_ADDEXT): New macro.
85998         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85999         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86000
86001         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86002         (gl_PHYSMEM): Use it.
86003         Also check for `table' function.
86004         Check for new headers and functions.
86005         Add check for sys/sysmp.h.
86006         With suggestions from Kaveh Ghazi.
86007         Ignore headers that are present but cannot be compiled.  This
86008         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86009         C 5.4.
86010
86011 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86012
86013         Document merge from coreutils.
86014         * modules/userspec: Depend on posixver.
86015         * modules/strftime: Depend on tzset.
86016
86017 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86018
86019         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86020         rather than tab, after '#' in shell-script copyright notices.
86021         Suggested by Bruno Haible.
86022
86023 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86024
86025         * config/srclist-update: Use three spaces, rather than tab, after '#'
86026         in shell-script copyright notices.  Suggested by Bruno Haible.
86027         Remove unnecessary parenthesization in regular expression.
86028
86029 2003-08-15  Jim Meyering  <jim@meyering.net>
86030
86031         Merge from coreutils.
86032         * lib/xgethostname.c: Include <stdlib.h>.
86033         (xghostname): Don't exit for anything other than memory-related
86034         failure; just return NULL.
86035         * lib/userspec.c: Include "posixver.h".
86036         (parse_user_spec): Accept `.' as a separator only
86037         in pre-POSIX-200112 mode.
86038         * lib/strtoimax.c: Use #elif rather than #else #if.
86039         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86040         Remove function, now that we can rely on a working tzset function.
86041         [!_LIBC]: Ensure that the required autoconf test has been run.
86042         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86043         Use underlying_strftime for %r.
86044         * lib/sha.c: Merge in some clean-up and optimization changes from
86045         glibc.
86046         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86047         Ensure that it is a multiple of 64.
86048         Rearrange loop exit tests so as to avoid performing an
86049         additional fread after encountering an error or EOF.
86050         * lib/realloc.c: Update copyright date.
86051
86052 2003-08-15  Jim Meyering  <jim@meyering.net>
86053         and Paul Eggert  <eggert@twinsun.com>
86054
86055         Merge from coreutils.
86056         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86057         member but strut utmpx does not.  Needed for AIX 4.3.3.
86058         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86059
86060 2003-08-15  Jim Meyering  <jim@meyering.net>
86061         and Paul Eggert  <eggert@cs.ucla.edu>
86062
86063         Merges from coreutils, etc.
86064         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86065         Require gl_FUNC_TZSET_CLOBBER.
86066         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86067         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86068         members.
86069
86070 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86071
86072         Help the merge from coreutils.
86073         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86074         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86075         * m4/tzset.m4: Use it too.
86076
86077 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86078
86079         * modules/tzset: New file.
86080
86081 2003-08-14  Jim Meyering  <jim@meyering.net>
86082
86083         Merges from coreutils.
86084         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86085         variable names, rather than @FNMATCH_H@.
86086         * modules/alloca: Likewise for $(ALLOCA_H).
86087
86088         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86089         the three copies of the literal target, `fnmatch.h'.
86090         * modules/alloca (alloca.h): Likewise.
86091
86092 2003-08-14  Jim Meyering  <jim@meyering.net>
86093
86094         Merge from coreutils.
86095         * m4/tzset.m4: New file.
86096         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86097         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86098         otherwise, AIX 5.1 systems would end up using the latter.
86099         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86100         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86101         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86102         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86103
86104 2003-08-14  Jim Meyering  <jim@meyering.net>
86105
86106         Merge from coreutils.
86107         * lib/obstack.h: Whitespace changes.
86108         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86109         and xcalloc return values.
86110         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86111         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86112         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86113         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86114         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86115         error from mntctl.
86116         Use mntctl's return value to drive the entry-processing loop, since
86117         we can't rely on the value of the vmt_length member in the last
86118         entry.  On some systems doing so could result in exhausting
86119         virtual memory.  Based in part on a patch from Mike Jetzer.
86120
86121 2003-08-14  Jim Meyering  <jim@meyering.net>
86122         and Paul Eggert  <eggert@twinsun.com>
86123
86124         Merges from coreutils, plus other fixes.
86125         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86126         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86127         for credits and details.  Thanks to Kaveh Ghazi for helping
86128         to keep these files in sync.
86129         (ARRAY_SIZE): Define it.
86130         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86131         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86132         (memcasecmp): Don't assume size_t fits in unsigned int.
86133         Remove casts and duplicate code.
86134         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86135         (memcpy): Remove definition.
86136         Merge in some clean-up and optimization changes from glibc.
86137         [BLOCKSIZE]: Move definition to top of file.
86138         Ensure that it is a multiple of 64.
86139         Rearrange loop exit tests so as to avoid performing an
86140         additional fread after encountering an error or EOF.
86141         * lib/md5.h (md5_uintptr): Define.
86142         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86143         return to the initial working directory.  Preserve errno
86144         for caller.
86145         * lib/idcache.c: Include "xalloc.h".
86146         (xmalloc, xrealloc): Remove decls.
86147         (getuser): Remove casts no longer required in C89.
86148         * lib/human.c: Include stdio.h, for sprintf.
86149         * lib/group-member.c: Include "xalloc.h".
86150         (xmalloc, xrealloc): Remove decls.
86151         (get_group_info): Remove casts no longer required in C89.
86152         * lib/getusershell.c (readname): Remove casts no longer required in
86153         C89.
86154         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86155         * lib/getline.c: Whitespace fix, from coreutils.
86156
86157 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86158
86159         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86160         Check for isascii.
86161
86162         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86163         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86164         Undo previous (whitespace-only) change.
86165
86166 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86167
86168         * lib/exclude.c: Include <ctype.h>
86169         (IN_CTYPE_DOMAIN): New macro.
86170         (is_space): New fn.
86171         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86172         and empty lines.
86173
86174         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86175         Undo previous (whitespace-only) change.
86176
86177 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86178
86179         * config/srclist-update: Change update back to the old behavior,
86180         leaving whitespace alone.  Use one 'sed' command rather than a
86181         pipeline.
86182         (fixlicense): Now a variable, not a function.
86183         (remove_trailing_blanks): Remove.
86184         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86185         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86186         Undo previous (whitespace-only) change.
86187
86188 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86189
86190         Merge from coreutils.
86191         * modules/euidaccess: Add lib_SOURCES, include for new
86192         file euidaccess.h
86193
86194 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86195
86196         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86197         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86198         Normalize leading white space and remove trailing white space.
86199
86200         Merge from coreutils
86201         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86202
86203         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86204         0.12.1.  These files are now being upgraded automatically by
86205         ../config/srclist-update.
86206
86207 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86208
86209         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86210         Normalize leading white space and remove trailing white space.
86211         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86212         notice, as per ../config/srclist-update.
86213
86214         Merge from coreutils.
86215         * lib/euidaccess.h: New file.
86216         * lib/euidaccess.c: Include it.
86217         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86218         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86219         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86220
86221 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86222
86223         * config/srclist-update: Add copyright notice.
86224         (remove_id_lines, remove_trailing_blanks): New constants.
86225         (fixfile): Use them to normalize spacing a bit in copied files.
86226         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86227         Normalize leading white space and remove trailing white space.
86228
86229         * config/texinfo.tex: Sync with texinfo.
86230
86231         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86232         strtoul.c from libc, to merge coreutils whitespace changes.
86233
86234         * config/srclist.txt: Get the following m4 files from gettext:
86235         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86236         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86237         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86238         wint_t.m4.
86239
86240 2003-08-12  Karl Berry  <karl@gnu.org>
86241
86242         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86243         been made.
86244
86245 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86246
86247         * modules/gnu-source, m4/gnu-source.m4:
86248         Remove; we're assuming Autoconf 2.54 or later now.
86249         Suggested by Bruno Haible.
86250         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86251
86252 2003-08-11  Bruno Haible  <bruno@clisp.org>
86253
86254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86255
86256 2003-08-11  Bruno Haible  <bruno@clisp.org>
86257
86258         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86259         (vasnprintf): Use it instead of wcslen.
86260
86261 2003-08-11  Bruno Haible  <bruno@clisp.org>
86262
86263         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86264         value to ensure that _Bool promotes to int. Use #define for _Bool when
86265         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86266
86267 2003-08-10  Karl Berry  <karl@gnu.org>
86268
86269         * lib/regex.h: update from libc (whitespace fix).
86270
86271 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86272
86273         Merge some files from coreutils.  These changes were
86274         originally made by Jim Meyering.
86275         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86276         many older Unixes require this.
86277         * lib/alloca.c (alloca): Remove cast to argument of free;
86278         no longer needed in C89.
86279         * lib/alloca_.h, regex.h: Fix white space to match
86280         what GNU indent does.
86281
86282 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86283
86284         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86285         apparently Emacs's Unicode mode got confused before my 2003-08-05
86286         checkin.
86287
86288 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86289
86290         * m4/extensions.m4: New file.
86291         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86292         Require gl_USE_SYSTEM_EXTENSIONS.
86293         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86294         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86295
86296 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86297
86298         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86299         * modules/extensions, modules/gnu-source: New files.
86300         * modules/timespec, modules/unlocked-io: Depend on extensions.
86301
86302 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86303
86304         * modules/restrict: New file.
86305         * MODULES.html.sh (func_all_modules): Add restrict.
86306         * modules/regex: Depend on restrict.
86307
86308 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86309
86310         * m4/restrict.m4: New file.
86311         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86312
86313 2003-08-07  Bruno Haible  <bruno@clisp.org>
86314
86315         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86316         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86317
86318 2003-08-07  Bruno Haible  <bruno@clisp.org>
86319
86320         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86321         makes the module 'getndelim2' compatible with the module 'getline'.
86322
86323 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86324
86325         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86326         byte with "\201" to avoid glitches when editing that source file
86327         with multi-gnome-terminal.
86328
86329 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86330
86331         * lib/bumpalloc.h: Remove.
86332
86333 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86334
86335         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
86336         * modules/bumpalloc: Remove.
86337
86338 2003-08-04  Paul Eggert  <eggert@twinsun.com>
86339
86340         * lib/getloadavg.c: Change copyright notice and spacing to conform to
86341         GNU coding style.
86342
86343         Merge from coreutils.
86344         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
86345         1. From glibc.
86346         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
86347         from Karl Berry, implemented by Jim Meyering.
86348         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
86349         from Dmitry V. Levin.
86350         Remove anachronistic cast of xrealloc.
86351         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
86352         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
86353         type. Otherwise, it wouldn't compile with at least /bin/cc on
86354         ymp-cray-unicos9.0.2.X.
86355         Combine two mostly-identical uses of alloca into one.
86356         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
86357
86358 2003-08-04  Dave Love  <d.love@dl.ac.uk>
86359
86360         [From Emacs.]
86361
86362         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
86363         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
86364         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
86365         obsolete NLIST_NAME_UNION.
86366         [__GNU__]: Undef BSD and FSCALE.
86367         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
86368
86369 2003-08-03  Paul Eggert  <eggert@twinsun.com>
86370
86371         * lib/stdbool_.h (_Bool): Make it signed char, instead of
86372         an enum type, so that it's guaranteed to promote to int.  See:
86373         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
86374
86375 2003-08-03  Karl Berry  <karl@gnu.org>
86376
86377         * config/depcomp: update from automake.
86378
86379 2003-07-31  Paul Eggert  <eggert@twinsun.com>
86380
86381         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
86382         (strerror): Don't assume that a printable int fits in 14 bytes.
86383
86384 2003-07-31  Bruno Haible  <bruno@clisp.org>
86385
86386         * modules/getpass-gnu: New file.
86387         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
86388
86389 2003-07-31  Bruno Haible  <bruno@clisp.org>
86390
86391         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
86392
86393 2003-07-24  Karl Berry  <karl@gnu.org>
86394
86395         * config/missing: update from automake.
86396
86397 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
86398             Bruno Haible  <bruno@clisp.org>
86399
86400         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
86401         * lib/getline.c (getline, getdelim): Likewise.
86402         Remove _GNU_SOURCE define; now it's defined in config.h through
86403         m4/getline.m4.
86404
86405 2003-07-23  Karl Berry  <karl@gnu.org>
86406
86407         * config/config.sub: update from prep.
86408
86409 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86410
86411         * modules/xalloc (Depends-on): Add exitfail.
86412         * modules/xmemcoll: Likewise.
86413
86414 2003-07-22  Paul Eggert  <eggert@twinsun.com>
86415
86416         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
86417         over-parenthesization in macros.
86418
86419         Sync with coreutils.
86420
86421         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
86422         required by C99.
86423
86424         Use `exit_failure' for xalloc and xmemcoll instead of their own
86425         private exit-failure variables.
86426         * lib/xalloc.h (xalloc_exit_failure): Remove.
86427         * lib/xmalloc.c: Likewise.  Include exitfail.h.
86428         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
86429         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
86430         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
86431         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
86432
86433 2003-07-20  Jim Meyering  <jim@meyering.net>
86434
86435         * modules/closeout (Depends-on): Add exitfail.
86436         Suggestion from Bruno Haible.
86437
86438 2003-07-19  Karl Berry  <karl@gnu.org>
86439
86440         * config/config.sub: update from prep.
86441
86442 2003-07-18  Paul Eggert  <eggert@twinsun.com>
86443
86444         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
86445         Remove.
86446         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
86447         to test that it can stand by itself.  Include "exitfail.h".
86448         Clients should set exit_failure instead.
86449         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
86450
86451 2003-07-18  Bruno Haible  <bruno@clisp.org>
86452
86453         * modules/getndelim2: New file.
86454         * modules/getline: Share files with module getndelim2.
86455         * modules/getnline: Depend on getndelim2 instead of sharing files with
86456         it. Add getnline.c to lib_SOURCES.
86457         * MODULES.html.sh (func_all_modules): Add getndelim2.
86458
86459 2003-07-18  Bruno Haible  <bruno@clisp.org>
86460
86461         * m4/getndelim2.m4: New file.
86462         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
86463         invoke gl_PREREQ_GETNDELIM2.
86464         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
86465         gl_PREREQ_GETNDELIM2.
86466         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
86467         gl_GETNDELIM2.
86468
86469 2003-07-18  Bruno Haible  <bruno@clisp.org>
86470
86471         * lib/getndelim2.h: New file.
86472         * lib/getndelim2.c: Make into a module of its own. Include config.h,
86473         getndelim2.h.
86474         (getndelim2): Make non-static. Change return type to ssize_t.
86475         * lib/getline.h: Change argument names.
86476         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
86477         * lib/getnline.c: Include getndelim2.h.
86478
86479 2003-07-18  Andreas Schwab  <schwab@suse.de>
86480
86481         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
86482
86483 2003-07-17  Karl Berry  <karl@gnu.org>
86484
86485         * config/config.sub: update from prep.
86486
86487 2003-07-17  Bruno Haible  <bruno@clisp.org>
86488
86489         * modules/getnline: New file.
86490         * modules/getline: Add lib/getndelim2.c to source file list.
86491         * MODULES.html.sh (func_all_modules): Add getnline.
86492
86493 2003-07-17  Bruno Haible  <bruno@clisp.org>
86494
86495         * m4/getnline.m4: New file.
86496
86497 2003-07-17  Bruno Haible  <bruno@clisp.org>
86498
86499         * m4/Makefile.am.in: Remove file.
86500         * m4/Makefile.am: Remove file.
86501         * m4/Makefile.in: Remove file.
86502
86503 2003-07-17  Bruno Haible  <bruno@clisp.org>
86504
86505         * lib/getnline.h: New file.
86506         * lib/getnline.c: New file.
86507         * lib/getndelim2.c: New file, extracted from getline.c.
86508         (getndelim2): Renamed from getdelim2, with added nmax argument.
86509         * lib/getline.c: Include getndelim2.c.
86510         (getdelim2): Moved out to getndelim2.c.
86511         (getline, getdelim): Update.
86512
86513 2003-07-17  Bruno Haible  <bruno@clisp.org>
86514
86515         * lib/Makefile.am: Remove file.
86516         * lib/Makefile.in: Remove file.
86517
86518 2003-07-17  Bruno Haible  <bruno@clisp.org>
86519
86520         * configure.in: Remove file.
86521         * Makefile.in: Remove file.
86522
86523 2003-07-17  Bruno Haible  <bruno@clisp.org>
86524
86525         * MODULES.html.sh: Put the </BODY> right before </HTML>.
86526
86527 2003-07-16  Karl Berry  <karl@gnu.org>
86528
86529         * config/srclist-update: was running fixlicense twice, which caused
86530                 texinfo.tex to be nullified for some reason.  Simplify,
86531                 $gplsrc is no longer needed as far as I can see?
86532
86533 2003-07-16  Jim Meyering  <jim@meyering.net>
86534
86535         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
86536
86537 2003-07-15  Paul Eggert  <eggert@twinsun.com>
86538
86539         * config/srclist.txt: Get the following files from gettext-runtime/intl
86540         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
86541         ref-del.sin.  From Bruno Haible.
86542         * config/srclist-update (fixfile): Change grep pattern again, since the
86543         previous fix didn't work (there was another trailing $).  Use
86544         '[$]' to escape the $s.
86545
86546 2003-07-15  Karl Berry  <karl@gnu.org>
86547
86548         * lib/vasnprintf.c: update from gettext.
86549
86550 2003-07-15  Karl Berry  <karl@gnu.org>
86551
86552         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
86553         gets expanded when surrounded by '$'.
86554
86555 2003-07-15  Jim Meyering  <jim@meyering.net>
86556
86557         * modules/save-cwd: Don't depend on error.  From Derek Price.
86558
86559 2003-07-15  Jim Meyering  <jim@meyering.net>
86560
86561         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
86562
86563 2003-07-14  Simon Josefsson  <jas@extundo.com>
86564
86565         * modules/mempcpy: New file.
86566         * MODULES.html.sh (func_all_modules): Add mempcpy.
86567
86568 2003-07-14  Simon Josefsson  <jas@extundo.com>
86569
86570         * m4/mempcpy.m4: New file.
86571
86572 2003-07-14  Simon Josefsson  <jas@extundo.com>
86573
86574         * lib/mempcpy.h: New file.
86575         * lib/mempcpy.c: New file.
86576
86577 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86578
86579         * modules/getdate, modules/posixtm: Depend on mktime.
86580
86581 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86582
86583         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
86584         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
86585         unicodeio.c, unicodeio.h, unlocked-io.h:
86586         Switch from LGPL to GPL.
86587
86588 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86589
86590         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
86591         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
86592         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
86593         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
86594         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
86595         updated automatically by ../config/srclist-update.  This changes
86596         their license from LPGL to GPL.
86597
86598 2003-07-14  Paul Eggert  <eggert@twinsun.com>
86599
86600         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
86601         assumed to refer to the root of the most recent stable gettext version.
86602         * config/srclistvars.sh: Add defaults for eggert.
86603         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
86604         Match "This program" as well as "The program".  This is needed
86605         for gettext.
86606
86607 2003-07-14  Jim Meyering  <jim@meyering.net>
86608
86609         Don't emit diagnostics.  Let callers do that.
86610         * lib/save-cwd.c: Don't include "error.h".
86611         (save_cwd): Don't call error.  Ensure that errno is valid
86612         when returning nonzero.
86613
86614         * lib/save-cwd.h (restore_cwd): Update prototype.
86615         * lib/save-cwd.c (restore_cwd): Remove two parameters.
86616         Simplify.  Don't call error upon failure.  Let callers do that.
86617         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
86618         when auditing is enabled.  But don't bother updating the #if.
86619
86620 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
86621
86622         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
86623         it breaks C++ compilation.
86624         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
86625
86626 2003-07-10  Simon Josefsson  <jas@extundo.com>
86627
86628         * modules/strchrnul (Makefile.am): Add strchrnul.h.
86629
86630 2003-07-10  Jim Meyering  <jim@meyering.net>
86631
86632         * m4/clock_time.m4: Remove trailing blank.
86633         * m4/intmax_t.m4: Likewise.
86634
86635 2003-07-10  Jim Meyering  <jim@meyering.net>
86636
86637         * lib/vasnprintf.c: Remove trailing blanks.
86638         Make cpp indentation consistent.
86639
86640 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86641
86642         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
86643         posixver.c, strftime.c, strnlen.c, strverscmp.c:
86644         Switch from LGPL to GPL.
86645
86646 2003-07-09  Paul Eggert  <eggert@twinsun.com>
86647
86648         * config/srclist.txt: Sort sublists.  Add
86649         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
86650         that differ from gnulib for one reason or another; we'd like this list
86651         to be smaller but for now let's document what we have.
86652
86653 2003-07-08  Paul Eggert  <eggert@twinsun.com>
86654
86655         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
86656         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
86657         and sweeter "eval x=$x".
86658         * config/srclist.txt: Get lib/argp* from glibc.
86659
86660 2003-07-07  Paul Eggert  <eggert@twinsun.com>
86661
86662         * lib/mktime.c: Fix some boundary cases and remove need for floating
86663         point.
86664
86665         Issue a compile-time diagnostic if time_t is floating point, or if
86666         two's complement arithmetic is not in effect, or if arithmetic
86667         right shift does not propagate the sign.  These assumptions were
86668         all in the original code but they weren't checked.
86669
86670         (TIME_T_MIDPOINT, verify): New macros.
86671         (__isleap): Remove; it has integer overflow problems.
86672         (leapyear): New function, without those problems.
86673         (ydhms_tm_diff): Remove; splitting into two parts.
86674         (ydhms_diff): New function, containing the arithmetic part of
86675         the old ydhms_tm_diff function.  Issue a compile-time
86676         diagnostic if we are not using C99 integer division.
86677         Avoid casts when possible.
86678         (guess_time_tm): New function, containing the checking part of
86679         the old ydhms_tm_diff function.  Return the new value, rather than
86680         the difference between it and the old.  Accept a new argument T
86681         so that *T specifies the old value.  Check for overflow in the result.
86682
86683         (__mktime_internal): Use a time_t offset, not a long int offset.
86684         This undoes the 2003-06-04 change, which is no longer needed now
86685         that we have better overflow checking.
86686         (localtime_offset): Likewise.
86687
86688         (__mktime_internal): Avoid harmful overflow on hosts where time_t
86689         and long are 64-bit but int is only 32-bit.
86690         (ydhms_diff): Use long int to store year1 and yday1.
86691         Issue a compile-time diagnostic if long int is not wide enough.
86692
86693         (__mktime_internal): Use long int to store adjusted year and yday.
86694         Use plain C rather than preprocessor commands, if that doesn't
86695         affect efficiency.
86696         Check for overflow (and try to repair) after each probe
86697         rather than checking only at the very end.  This avoids some bugs
86698         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
86699         does not equal GMT offset at maximum time).
86700         Use integer to check for overflow rather than floating point; this
86701         is more portable to non-IEEE hosts, and is a tad faster.
86702         When we detect that we are oscillating between two values,
86703         don't check whether tm_isdst has the requested value, since
86704         we already know the answer.  When tm_isdst has the wrong value,
86705         use a different heuristic to find the right one, based on the
86706         extreme values actually observed in practice in tz2003a,
86707         rather than the (overly optimistic) "previous 3 calendar quarters".
86708
86709         (not_equal_tm, print_tm, check_result): Use "const T" rather than
86710         "T const" to accommodate glibc style.
86711         (check_result): Use less-confusing report format.  "long" -> "long int.
86712         (main): Likewise.
86713         Don't loop if the iteration overflows time_t.
86714         Allow a negative step in the iteration.
86715
86716 2003-07-06  Karl Berry  <karl@gnu.org>
86717
86718         * config/depcomp: update from automake.
86719         * config/config.sub: update from prep.
86720
86721 2003-07-03  Karl Berry  <karl@gnu.org>
86722
86723         * config/config.guess: update from prep.
86724
86725 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86726
86727         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
86728         xreadlink.c now includes it unconditionally.
86729
86730 2003-07-01  Paul Eggert  <eggert@twinsun.com>
86731
86732         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
86733         having it depend on HAVE_SYS_TYPES_H.
86734
86735 2003-07-01  Bruno Haible  <bruno@clisp.org>
86736
86737         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
86738         <sys/types.h> should be sufficient.
86739         Reported by Paul Eggert.
86740
86741 2003-06-26  Karl Berry  <karl@gnu.org>
86742
86743         * config/depcomp: update from automake.
86744
86745 2003-06-26  Bruno Haible  <bruno@clisp.org>
86746
86747         * modules/human: Depend on module stdbool.
86748
86749 2003-06-25  Bruno Haible  <bruno@clisp.org>
86750
86751         * modules/readlink: New file.
86752         * modules/xreadlink: Depend on it.
86753         * MODULES.html.sh (func_all_modules): Add readlink.
86754
86755 2003-06-25  Bruno Haible  <bruno@clisp.org>
86756
86757         * m4/readlink.m4: New file.
86758
86759 2003-06-25  Bruno Haible  <bruno@clisp.org>
86760
86761         * lib/readlink.c: New file.
86762
86763 2003-06-22  Karl Berry  <karl@gnu.org>
86764
86765         * config/srclist.txt: update mkinstalldirs from automake.
86766         * config/mkinstalldirs: update.
86767
86768 2003-06-22  Bruno Haible  <bruno@clisp.org>
86769
86770         Portability to mingw32.
86771         * m4/ssize_t.m4: New file, from GNU gettext.
86772         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
86773         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
86774
86775 2003-06-22  Bruno Haible  <bruno@clisp.org>
86776
86777         * modules/safe-read: Add m4/ssize_t.m4.
86778         * modules/xreadlink: Add m4/ssize_t.m4.
86779
86780 2003-06-20  Bruno Haible  <bruno@clisp.org>
86781
86782         Assume C89, so PARAMS isn't needed.
86783         * lib/unicodeio.h (PARAMS): Remove.
86784         * lib/unicodeio.c: Don't use PARAMS.
86785
86786 2003-06-18  Karl Berry  <karl@gnu.org>
86787
86788         * config/config.{guess,sub}: update from prep.
86789
86790 2003-06-18  Jim Meyering  <jim@meyering.net>
86791
86792         Merge changes from coreutils.
86793         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
86794         Remove explicit declarations of xmalloc and realloc.
86795         Include xalloc.h.
86796         (read_utmp): Remove anachronistic cast of xmalloc.
86797
86798 2003-06-17  Paul Eggert  <eggert@twinsun.com>
86799
86800         Assume C89, so PARAMS isn't needed.
86801         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
86802         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
86803         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
86804         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
86805         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
86806         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
86807         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
86808         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
86809         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
86810         lib/xstrtod.h, lib/xstrtol.h: Likewise.
86811         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
86812         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
86813         no longer needed. Anyway, config.h should always be included before any
86814         other file.
86815
86816 2003-06-11  Simon Josefsson  <jas@extundo.com>
86817
86818         * modules/sysexits: New file.
86819         * MODULES.html.sh (func_all_modules): Add sysexits.
86820
86821 2003-06-11  Simon Josefsson  <jas@extundo.com>
86822
86823         * lib/sysexit_.h: New file.
86824
86825 2003-06-11  Derek Price  <derek@ximbiot.com>
86826
86827         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
86828         necessary.
86829
86830 2003-06-11  Bruno Haible  <bruno@clisp.org>
86831
86832         * m4/sysexits.m4: New file.
86833
86834 2003-06-10  Simon Josefsson  <jas@extundo.com>
86835
86836         * lib/argp.h: New file, from glibc.
86837         * lib/argp-ba.c: New file, from glibc.
86838         * lib/argp-eexst.c: New file, from glibc.
86839         * lib/argp-fmtstream.c: New file, from glibc.
86840         * lib/argp-fmtstream.h: New file, from glibc.
86841         * lib/argp-fs-xinl.c: New file, from glibc.
86842         * lib/argp-help.c: New file, from glibc.
86843         * lib/argp-namefrob.h: New file, from glibc.
86844         * lib/argp-parse.c: New file, from glibc.
86845         * lib/argp-pv.c: New file, from glibc.
86846         * lib/argp-pvh.c: New file, from glibc.
86847         * lib/argp-xinl.c: New file, from glibc.
86848
86849 2003-06-10  Simon Josefsson  <jas@extundo.com>
86850
86851         * modules/strchrnul: New file.
86852
86853 2003-06-10  Simon Josefsson  <jas@extundo.com>
86854
86855         * modules/argp: New file.
86856
86857 2003-06-10  Simon Josefsson  <jas@extundo.com>
86858
86859         * m4/strchrnul.m4: New file.
86860
86861 2003-06-10  Simon Josefsson  <jas@extundo.com>
86862
86863         * lib/strchrnul.h: New file.
86864         * lib/strchrnul.c: New file.
86865
86866 2003-06-10  Bruno Haible  <bruno@clisp.org>
86867
86868         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
86869
86870 2003-06-07  Karl Berry  <karl@gnu.org>
86871
86872         * config/config.{guess,sub}: update from prep.
86873
86874 2003-06-07  Jim Meyering  <jim@meyering.net>
86875
86876         * modules/strtod: Use $(...) notation, not @...@ for
86877         AC_REPLACE'd variables.
86878         * modules/localcharset: Likewise.
86879
86880 2003-06-07  Jim Meyering  <jim@meyering.net>
86881
86882         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
86883         in place of my name in the copyright comment.
86884         Remove definition and uses of __P.
86885
86886         From coreutils.
86887         * lib/stat.c: Don't declare xmalloc explicitly.
86888         Instead, include "xalloc.h".
86889         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
86890         xrealloc, and xcalloc return values.
86891         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
86892         Improve comment.
86893         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
86894
86895 2003-06-07  Bruno Haible  <bruno@clisp.org>
86896
86897         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
86898         avoid AC_CONFIG_LINKS.
86899         * modules/fnmatch (Makefile.am): Use explicit creation rule for
86900         fnmatch.h, to avoid AC_CONFIG_LINKS.
86901         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
86902
86903 2003-06-07  Bruno Haible  <bruno@clisp.org>
86904
86905         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
86906         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
86907         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86908         directory.
86909         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
86910         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
86911         directory.
86912
86913 2003-06-06  Jim Meyering  <jim@meyering.net>
86914
86915         Merge from coreutils.
86916         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
86917         Consolidate declarations and initializations of *_base* locals.
86918
86919         Merge from coreutils.
86920         This avoids a core dump on systems without GNU putenv,
86921         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
86922         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
86923         (unsetenv): New static function, from GNU libc.
86924         (rpl_putenv): Use it.
86925
86926         * lib/modechange.c: Remove trailing blanks.
86927
86928         Merge from coreutils.
86929         * lib/fsusage.c: Remove declaration of statfs.
86930         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
86931
86932         * lib/posixtm.c: Include <stdbool.h> unconditionally.
86933
86934 2003-06-06  Jim Meyering  <jim@meyering.net>
86935
86936         * lib/stdbool_.h: Renamed from stdbool.h.in.
86937
86938 2003-06-06  Jim Meyering  <jim@meyering.net>
86939             Bruno Haible  <bruno@clisp.org>
86940
86941         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
86942         Adjust Makefile.am snippet not to redirect directly to target.
86943         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
86944
86945 2003-06-05  Paul Eggert  <eggert@twinsun.com>
86946
86947         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
86948         mismatch, look in future quarters as well as past.  This fixes a
86949         bug when processing fall-backwards gaps immediately after a long
86950         period of daylight-saving time.
86951
86952         * lib/mktime.c: Assume freestanding C89 or better.
86953         (HAVE_LIMITS_H): Remove.  Assume it's 1.
86954         (__P): Remove; not used.
86955         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
86956         (mktime, not_equal_tm, print_tm, check_result,
86957         main): Use prototypes.  Use const * where appropriate.
86958         (main): Fix typo in testing code that uncovered by above changes.
86959         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
86960
86961 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86962
86963         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
86964         locale.h, localeconv.  This merges changes from coreutils.
86965
86966         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86967         It can be removed after the next Autoconf is released.
86968         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86969         needed.
86970
86971 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86972
86973         * lib/mktime.c: Fix Debian bug 177940
86974         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86975         (localtime_offset): Now long int, not time_t, because we want it
86976         to be guaranteed to be signed.  All uses changed.
86977         (__mktime_internal): If overflow would occur when adding offset,
86978         don't add it.
86979
86980         Merge 'human' changes from coreutils.  Rewrite to support
86981         locale-specific notations like thousands separators.
86982         * lib/human.c: Simplify authorship notice.
86983         Include human.h immediately after config.h.
86984         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86985         <limits.h>: Do not include, since human.h does.
86986         (SIZE_MAX, UINTMAX_MAX): New macros.
86987         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86988         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86989         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86990         (power_letter): Renamed from suffixes.
86991         (generate_suffix_backwards): Remove.
86992         (adjust_value): Now takes int style (because of human.h changes)
86993         and long double value (for greater precision on some platforms).
86994         (group_number): New function.
86995         (human_readable): Use it.  Use integer options, not enum.
86996         Put the options before the sizes in the arg list.
86997         Support all the new options.
86998         The old human_readable function has been removed;
86999         use inttostr.h instead.
87000         (human_readable, default_block_size, humblock):
87001         Use uintmax_t, not int, for block sizes.
87002         (human_readable_inexact, block_size_types): Remove.
87003         (block_size_opts): New constant.
87004         (human_options): Renamed from human_block_size, with new signature
87005         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87006         * lib/human.h: Add copyright and authorship notice.
87007         Include <limits.h> and <stdbool.h> unconditionally.
87008         (PARAMS): Remove.  All uses removed.
87009         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87010         (enum human_inexact_style): Remove tag; now a nameless enum.
87011         (human_floor, human_ceiling, human_round_to_even): Now have
87012         values 2, 0, 1 rather than -1, 1, 0.
87013         (human_group_digits, human_suppress_point_zero, human_autoscale,
87014         human_base_1024, human_SI, human_B): New constants.
87015         (human_readable_inexact, human_block_size): Remove.
87016         (human_readable): Size args are now uintmax_t, not int.
87017         (human_options): New decl.
87018
87019         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87020         unnecessary now that we assume C89 or better.  This change
87021         imported from coreutils.
87022
87023         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87024         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87025         in the 2003-05-30 sync from glibc.
87026
87027         .h files should stand alone, but we shouldn't include <sys/types.h>
87028         if we can get away with just <stddef.h>.
87029
87030         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87031         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87032         rather than <sys/types.h>, as we merely need size_t.
87033         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87034         to get size_t.
87035         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87036         Include <stdio.h>, to get FILE.
87037         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87038         memcasecmp.h has included <stddef.h> and all we need is size_t.
87039         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87040         our interface, instead of including <sys/types.h>
87041
87042 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87043
87044         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87045         now, as glibc mktime is buggy on non-glibc systems.
87046
87047 2003-06-03  Karl Berry  <karl@gnu.org>
87048
87049         * config/config.sub: update from prep.
87050
87051 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87052
87053         [from coreutils]
87054         Fix some minor time-related bugs with POSIX time arguments.
87055         Some valid time stamps were being rejected (notably -1, and
87056         time stamps before 1900 on 64-bit hosts).  And some invalid
87057         time stamps were being accepted, e.g. September 31.
87058
87059         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87060         that we can return (time_t) -1 successfully.
87061         * lib/posixtm.c: Likewise.
87062         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87063         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87064         (t): Remove static var.
87065         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87066         of static var.  All uses changed.
87067         (year): Do not reject years before 1900; they can occur with
87068         64-bit time_t.
87069         (posix_time_parse): Do not check for out-of-range components;
87070         that is now the caller's responsibility, since our checks were
87071         only approximations.
87072         (posixtime): Use mktime to check for out-of-range components,
87073         since it knows them exactly.
87074         If mktime returns (time_t) -1, check whether an error actually occurred
87075         by invoking localtime on -1.
87076         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87077         posixtime failures better.
87078         Improve the test data (in comments only).
87079
87080 2003-06-02  Karl Berry  <karl@gnu.org>
87081
87082         * config/mkinstalldirs (version): new variable.
87083         (--version): new option.
87084         (usage): improve message.
87085
87086 2003-05-30  Karl Berry  <karl@gnu.org>
87087
87088         * lib/mktime.c: update from libc.
87089
87090 2003-05-30  Bruno Haible  <bruno@clisp.org>
87091
87092         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87093         * config/config.rpath: Upgrade to gettext-0.12.1.
87094
87095 2003-05-30  Bruno Haible  <bruno@clisp.org>
87096
87097         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87098         * m4/nls.m4: New file, from gettext-0.12.1.
87099         * m4/po.m4: New file, from gettext-0.12.1.
87100         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87101
87102 2003-05-30  Bruno Haible  <bruno@clisp.org>
87103
87104         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87105         * lib/localcharset.h: Likewise.
87106         * lib/localcharset.c: Likewise.
87107
87108 2003-05-29  Karl Berry  <karl@gnu.org>
87109
87110         * config/config.rpath: update from gettext.
87111
87112 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87113
87114         Assume the headers required for C89 freestanding compilers.
87115         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87116         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87117         * m4/human.m4 (gl_HUMAN): Likewise.
87118         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87119         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87120         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87121         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87122         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87123         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87124
87125 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87126
87127         Assume the headers required for C89 freestanding compilers.
87128         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87129         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87130         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87131         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87132         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87133         define, since <limits.h> is guaranteed to do that.
87134         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87135         * lib/exclude.c: Include <stdbool.h> unconditionally.
87136         * lib/tempname.c: Include <stddef.h> unconditionally.
87137         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87138         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87139         <stddef.h> does that.
87140         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87141         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87142         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87143         needed.
87144         * lib/xstrtol.c: Likewise.
87145         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87146         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87147
87148         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87149         warnings on some platforms.
87150
87151         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87152         arbitrarily.
87153
87154 2003-05-26  Jim Meyering  <jim@meyering.net>
87155
87156         Merge in a change from coreutils:
87157         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87158         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87159         that condition, rather than `-1' which is slightly misleading.
87160         Change the name of the cache variable to have the gl_ prefix.
87161         Prompted by a patch from Richard Dawe for DJGPP.
87162
87163 2003-05-24  Karl Berry  <karl@gnu.org>
87164
87165         * config/config.guess: update from prep.
87166
87167 2003-05-22  Karl Berry  <karl@gnu.org>
87168
87169         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87170
87171 2003-05-20  Karl Berry  <karl@gnu.org>
87172
87173         * config/config.guess: update from prep.
87174
87175 2003-05-18  Karl Berry  <karl@gnu.org>
87176
87177         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87178         might actually be set by the user.
87179
87180         * config/depcomp, install-sh, mdate-sh: update from automake.
87181
87182 2003-05-17  Bruno Haible  <bruno@clisp.org>
87183
87184         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87185         invalid expansion for AC_EGREP_CPP.
87186         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87187         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87188         Suggested by Akim Demaille <akim@epita.fr> in
87189         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87190
87191 2003-05-12  Jim Meyering  <jim@meyering.net>
87192
87193         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87194         the space-padded-by-default conversion specifiers, %e, %k, %l.
87195
87196 2003-05-12  Bruno Haible  <bruno@clisp.org>
87197
87198         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87199         the string is longer than 4 KB.
87200
87201 2003-05-11  Karl Berry  <karl@gnu.org>
87202
87203         * config/config.{guess,sub}: update from prep.
87204
87205 2003-05-09  Bruno Haible  <bruno@clisp.org>
87206
87207         * modules/error: Add m4/strerror_r.m4 to file list.
87208
87209 2003-05-03  Bruno Haible  <bruno@clisp.org>
87210
87211         Upgrade to Unicode-4.0.
87212         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87213         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87214         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87215         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87216         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87217         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87218         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87219         Change width of U+E0100..U+E01EF from 1 to 0.
87220
87221 2003-04-25  Jim Meyering  <jim@meyering.net>
87222
87223         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87224         of type size_t, not int.
87225
87226 2003-04-25  Bruno Haible  <bruno@clisp.org>
87227
87228         * lib/copy-file.c: Include <stddef.h>, for size_t.
87229
87230 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87231
87232         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87233         code which expansion is under static control.  Patch imported from
87234         Akim Demaille's patch to Bison; see
87235         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87236
87237 2003-04-14  Bruno Haible  <bruno@clisp.org>
87238
87239         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87240
87241 2003-04-11  Jim Meyering  <jim@meyering.net>
87242
87243         Merge changes from Coreutils.
87244
87245         2003-03-22  Jim Meyering  <jim@meyering.net>
87246
87247         * lib/strftime.c (widen): Cast alloca return value to proper type.
87248
87249         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87250
87251         From GNU libc.
87252         * lib/strftime.c (my_strftime): Handle very large width
87253         specifications for numeric values correctly.  Improve checks for
87254         overflow.
87255
87256         2003-01-19  Jim Meyering  <jim@meyering.net>
87257
87258         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87259         definitions.
87260         (nl_get_alt_digit) [! defined my_strftime]: Define.
87261         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87262         _nl_get_alt_digit and _nl_get_walt_digit.
87263
87264         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87265         libc. These changes have no effect outside of _LIBC.
87266
87267 2003-04-10  Bruno Haible  <bruno@clisp.org>
87268
87269         * modules/findprog: New file.
87270         * MODULES.html.sh (func_all_modules): Add it.
87271
87272 2003-04-10  Bruno Haible  <bruno@clisp.org>
87273
87274         * m4/findprog.m4: New file.
87275         * m4/eaccess.m4: New file.
87276
87277 2003-04-10  Bruno Haible  <bruno@clisp.org>
87278
87279         * lib/findprog.h: New file, from GNU gettext.
87280         * lib/findprog.c: New file, from GNU gettext.
87281
87282 2003-04-05  Jim Meyering  <jim@meyering.net>
87283
87284         Merge changes from Coreutils.
87285
87286         * lib/exclude.h (PARAMS): Remove definition and uses.
87287         * lib/exclude.c: Remove uses of `PARAMS'.
87288
87289         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87290         Add test-cases for DOS filenames. Declare program_name.
87291         (main): Set up program_name.  Patch by Rich Dawe.
87292
87293         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87294         error from mntctl.
87295         Use mntctl's return value to drive the entry-processing loop, since
87296         we can't rely on the value of the vmt_length member in the last
87297         entry.  On some systems doing so could result in exhausting
87298         virtual memory.  Based in part on a patch from Mike Jetzer.
87299
87300 2003-04-04  Bruno Haible  <bruno@clisp.org>
87301
87302         * modules/linebreak: New file.
87303         * MODULES.html.sh (func_all_modules): Add it.
87304
87305 2003-04-04  Bruno Haible  <bruno@clisp.org>
87306
87307         * m4/linebreak.m4: New file.
87308
87309 2003-04-04  Bruno Haible  <bruno@clisp.org>
87310
87311         * lib/linebreak.h: New file, from GNU gettext.
87312         * lib/linebreak.c: New file, from GNU gettext with slight
87313         modifications.
87314         * lib/lbrkprop.h: New file, from GNU gettext.
87315
87316 2003-04-03  Bruno Haible  <bruno@clisp.org>
87317
87318         * modules/utf8-ucs4: New file.
87319         * modules/utf16-ucs4: New file.
87320         * modules/ucs4-utf8: New file.
87321         * modules/ucs4-utf16: New file.
87322         * MODULES.html.sh (func_all_modules): Add them.
87323
87324 2003-04-03  Bruno Haible  <bruno@clisp.org>
87325
87326         * m4/utf-ucs4.m4: New file.
87327         * m4/ucs4-utf.m4: New file.
87328
87329 2003-04-03  Bruno Haible  <bruno@clisp.org>
87330
87331         * lib/utf8-ucs4.h: New file, from GNU gettext.
87332         * lib/utf16-ucs4.h: New file, from GNU gettext.
87333         * lib/ucs4-utf8.h: New file, from GNU gettext.
87334         * lib/ucs4-utf16.h: New file, from GNU gettext.
87335
87336 2003-04-02  Bruno Haible  <bruno@clisp.org>
87337
87338         * modules/binary-io: New file.
87339         * MODULES.html.sh (func_all_modules): Add it.
87340
87341 2003-04-02  Bruno Haible  <bruno@clisp.org>
87342
87343         * lib/binary-io.h: New file, from GNU gettext.
87344
87345 2003-04-01  Bruno Haible  <bruno@clisp.org>
87346
87347         * modules/pathname: New file.
87348         * MODULES.html.sh (func_all_modules): Add it.
87349
87350 2003-04-01  Bruno Haible  <bruno@clisp.org>
87351
87352         * lib/pathname.h: New file, from GNU gettext.
87353         * lib/concatpath.c: New file, from GNU gettext.
87354
87355 2003-03-30  Bruno Haible  <bruno@clisp.org>
87356
87357         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
87358
87359 2003-03-30  Bruno Haible  <bruno@clisp.org>
87360
87361         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
87362         function chown() doesn't exist.
87363
87364 2003-03-28  Bruno Haible  <bruno@clisp.org>
87365
87366         * modules/copy-file: New file.
87367         * MODULES.html.sh (func_all_modules): Add it.
87368
87369 2003-03-28  Bruno Haible  <bruno@clisp.org>
87370
87371         * m4/copy-file.m4: New file.
87372
87373 2003-03-28  Bruno Haible  <bruno@clisp.org>
87374
87375         * lib/copy-file.h: New file, from GNU gettext.
87376         * lib/copy-file.c: New file, from GNU gettext.
87377
87378 2003-03-18  Jim Meyering  <jim@meyering.net>
87379
87380         * lib/quote.c (quote_n): Fix typo in comment.
87381
87382 2003-03-18  Bruno Haible  <bruno@clisp.org>
87383
87384         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
87385         checking.
87386         * m4/onceonly_2_57.m4: Likewise.
87387
87388 2003-03-17  Bruno Haible  <bruno@clisp.org>
87389
87390         * m4/onceonly.m4: Require autoconf 2.54 or newer.
87391         (m4_quote): Remove macro.
87392         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
87393
87394 2003-03-14  Jim Meyering  <jim@meyering.net>
87395
87396         Merge changes from Coreutils.
87397         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
87398         to be const, in order to avoid warnings.
87399         (obstack_room): Likewise.
87400         (obstack_empty_p): Likewise.
87401
87402 2003-03-14  Bruno Haible  <bruno@clisp.org>
87403
87404         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
87405         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
87406
87407 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87408
87409         Merge changes from Bison.
87410         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
87411         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
87412         when compiling Bison 1.875's `bitset bset = obstack_alloc
87413         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
87414         * lib/hash.c: Include <stdbool.h> unconditionally.
87415
87416 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87417
87418         * m4/onceonly.m4 (m4_quote): New macro.
87419         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
87420         Quote AC_FOREACH variable-expansions properly.
87421
87422 2003-03-13  Paul Eggert  <eggert@twinsun.com>
87423
87424         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
87425
87426 2003-03-09  Paul Eggert  <eggert@twinsun.com>
87427
87428         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
87429         Reported by Bruce Becker; see:
87430         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
87431
87432 2003-03-03  Paul Eggert  <eggert@twinsun.com>
87433             Bruno Haible  <bruno@clisp.org>
87434
87435         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
87436         Reported by John Hughes, see
87437         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
87438
87439 2003-02-20  Bruno Haible  <bruno@clisp.org>
87440
87441         * MODULES.html.sh (func_all_modules): Add poll.
87442
87443 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87444
87445         * modules/poll: New file.
87446
87447 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87448
87449         * lib/poll_.h: New file.
87450         * lib/poll.c: New file.
87451
87452 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
87453
87454         * m4/poll.m4: New file.
87455
87456 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87457
87458         * modules/mathl: New file.
87459
87460 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87461
87462         * lib/mathl.h: New file.
87463         * lib/acosl.c: New file.
87464         * lib/asinl.c: New file.
87465         * lib/atanl.c: New file.
87466         * lib/ceill.c: New file.
87467         * lib/cosl.c: New file.
87468         * lib/expl.c: New file.
87469         * lib/floorl.c: New file.
87470         * lib/frexpl.c: New file.
87471         * lib/ldexpl.c: New file.
87472         * lib/logl.c: New file.
87473         * lib/sincosl.c: New file.
87474         * lib/sinl.c: New file.
87475         * lib/sqrtl.c: New file.
87476         * lib/tanl.c: New file.
87477         * lib/trigl.c: New file.
87478         * lib/trigl.h: New file.
87479
87480 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
87481
87482         * m4/mathl.m4: New file.
87483
87484 2003-02-18  Bruno Haible  <bruno@clisp.org>
87485
87486         * MODULES.html.sh (func_all_modules): Add mathl.
87487
87488 2003-02-17  Bruno Haible  <bruno@clisp.org>
87489
87490         * modules/mkdtemp: New module.
87491         * MODULES.html.sh (func_all_modules): Add it.
87492
87493 2003-02-17  Bruno Haible  <bruno@clisp.org>
87494
87495         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
87496
87497 2003-02-17  Bruno Haible  <bruno@clisp.org>
87498
87499         * lib/mkdtemp.h: New file, from GNU gettext.
87500         * lib/mkdtemp.c: New file, from GNU gettext.
87501
87502 2003-02-02  Jim Meyering  <jim@meyering.net>
87503
87504         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
87505         e.g. glibc-2.2.93.
87506
87507 2003-01-31  Bruno Haible  <bruno@clisp.org>
87508
87509         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
87510         'rpl_rename'.
87511         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
87512         'rpl_strnlen'.
87513         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
87514         'rpl_strtod'.
87515         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
87516         'rpl_utime'.
87517
87518 2003-01-31  Bruno Haible  <bruno@clisp.org>
87519
87520         * lib/rename.c: #undef rename before defining rpl_rename.
87521         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
87522
87523 2003-01-30  Bruno Haible  <bruno@clisp.org>
87524
87525         * modules/vasnprintf, modules/vasprintf: New modules.
87526         * MODULES.html.sh (func_all_modules): Add them.
87527
87528 2003-01-30  Bruno Haible  <bruno@clisp.org>
87529
87530         * m4/signed.m4: New file, from GNU gettext.
87531         * m4/longdouble.m4: New file, from GNU gettext.
87532         * m4/wchar_t.m4: New file, from GNU gettext.
87533         * m4/wint_t.m4: New file, from GNU gettext.
87534         * m4/vasnprintf.m4: New file.
87535         * m4/vasprintf.m4: New file.
87536
87537 2003-01-30  Bruno Haible  <bruno@clisp.org>
87538
87539         * lib/printf-args.h: New file, from GNU gettext.
87540         * lib/printf-args.c: New file, from GNU gettext.
87541         * lib/printf-parse.h: New file, from GNU gettext.
87542         * lib/printf-parse.c: New file, from GNU gettext.
87543         * lib/vasnprintf.h: New file, from GNU gettext.
87544         * lib/vasnprintf.c: New file, from GNU gettext.
87545         * lib/asnprintf.c: New file, from GNU gettext.
87546         * lib/vasprintf.h: New file, from GNU gettext with modifications.
87547         * lib/vasprintf.c: New file, from GNU gettext.
87548         * lib/asprintf.c: New file, from GNU gettext.
87549
87550 2003-01-29  Bruno Haible  <bruno@clisp.org>
87551
87552         * modules/stpncpy: New module.
87553         * MODULES.html.sh (func_all_modules): Add it.
87554
87555 2003-01-29  Bruno Haible  <bruno@clisp.org>
87556
87557         * m4/stpncpy.m4: New file.
87558
87559 2003-01-29  Bruno Haible  <bruno@clisp.org>
87560
87561         * lib/stpncpy.h: New file, from GNU gettext with modifications.
87562         * lib/stpncpy.c: New file, from GNU gettext with modifications.
87563
87564 2003-01-28  Bruno Haible  <bruno@clisp.org>
87565
87566         * modules/c-ctype: New module.
87567         * MODULES.html.sh (func_all_modules): Add it.
87568
87569 2003-01-28  Bruno Haible  <bruno@clisp.org>
87570
87571         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
87572         Paul Eggert.
87573         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
87574         Paul Eggert.
87575
87576 2003-01-27  Bruno Haible  <bruno@clisp.org>
87577
87578         * modules/xsetenv: New module.
87579         * MODULES.html.sh (func_all_modules): Add it.
87580
87581 2003-01-27  Bruno Haible  <bruno@clisp.org>
87582
87583         * lib/xsetenv.h: New file, from GNU gettext.
87584         * lib/xsetenv.c: New file, from GNU gettext.
87585
87586 2003-01-23  Jim Meyering  <jim@meyering.net>
87587
87588         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
87589         from working on systems without dirfd (at least Irix and OSF1/Tru64).
87590
87591 2003-01-23  Bruno Haible  <bruno@clisp.org>
87592
87593         * modules/minmax: New module.
87594         * MODULES.html.sh (func_all_modules): Add it.
87595
87596 2003-01-23  Bruno Haible  <bruno@clisp.org>
87597
87598         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
87599         Eggert.
87600
87601 2003-01-22  Bruno Haible  <bruno@clisp.org>
87602
87603         * modules/exit: New module.
87604         * MODULES.html.sh (func_all_modules): Add it.
87605
87606 2003-01-22  Bruno Haible  <bruno@clisp.org>
87607
87608         * lib/exit.h: New file, from GNU gettext.
87609
87610 2003-01-19  Bruno Haible  <bruno@clisp.org>
87611
87612         * gnulib-tool: Recognize option --extract-maintainer.
87613         (func_get_maintainer): New function.
87614         * modules/*: Add Maintainer entry.
87615
87616 2003-01-16  Jim Meyering  <jim@meyering.net>
87617
87618         * m4/regex.m4: The `regex' struct is both input and output.
87619         Initialize it before each use.  Patch by Tim Waugh.
87620
87621 2003-01-16  Bruno Haible  <bruno@clisp.org>
87622
87623         * MODULES.html.sh: Add a table of contents. Add the module name as
87624         leftmost column. Add hyperlinks.
87625
87626 2003-01-15  Bruno Haible  <bruno@clisp.org>
87627
87628         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
87629
87630 2003-01-15  Bruno Haible  <bruno@clisp.org>
87631
87632         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
87633         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
87634         suffix.
87635
87636 2003-01-15  Bruno Haible  <bruno@clisp.org>
87637
87638         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
87639
87640 2003-01-15  Bruno Haible  <bruno@clisp.org>
87641
87642         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
87643         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
87644
87645 2003-01-14  Jim Meyering  <jim@meyering.net>
87646
87647         * lib/same.c (same_name): Tweak a comment.
87648
87649 2003-01-14  Bruno Haible  <bruno@clisp.org>
87650
87651         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
87652         when a string comparison is sufficient.
87653
87654 2003-01-14  Bruno Haible  <bruno@clisp.org>
87655
87656         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
87657         'unsigned int'.
87658
87659 2003-01-14  Bruno Haible  <bruno@clisp.org>
87660
87661         * lib/hash-pjw.c: Add comment about low quality of this function.
87662
87663 2003-01-13  Bruno Haible  <bruno@clisp.org>
87664
87665         * modules/stpcpy: Distribute lib/stpcpy.h.
87666         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
87667
87668 2003-01-13  Bruno Haible  <bruno@clisp.org>
87669
87670         * modules/*: Add a description.
87671         * modules/strpbrk: Fix Makefile.am snippet.
87672         * modules/strtoimax: Fix dependencies.
87673         * modules/strtoumax: Likewise.
87674
87675 2003-01-13  Bruno Haible  <bruno@clisp.org>
87676
87677         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
87678         * modules/alloca (Makefile.am): All object files depend on alloca.h.
87679         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
87680
87681 2003-01-13  Bruno Haible  <bruno@clisp.org>
87682
87683         * gnulib-tool (func_create_testdir): Store config/* files in the main
87684         directory.
87685         * config.rpath: Move to ...
87686         * config/config.rpath: ... here.
87687         * modules/gettext: Contains config/config.rpath, not config.rpath.
87688         * modules/iconv: Likewise.
87689
87690 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87691
87692         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87693         to avoid collisions with libcurses and libreadline.
87694
87695         * m4/getstr.m4: Remove.
87696         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
87697
87698 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87699
87700         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87701         to avoid collisions with libcurses and libreadline.
87702
87703         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
87704         * lib/getstr.h, getstr.c: Remove.
87705         * lib/getline.c: Include "getline.h", to check interface.
87706         Move body of old getstr.c here: this defines MIN_CHUNK and
87707         declares getdelim2, which is renamed from getstr.
87708         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
87709
87710         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
87711         All uses changed.
87712         * lib/linebuffer.h: Likewise.
87713         (readline): Remove backward-compatibility macro.
87714
87715 2003-01-12  Paul Eggert  <eggert@twinsun.com>
87716
87717         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
87718         to avoid collisions with libcurses and libreadline.
87719         * getstr: Remove.
87720         * MODULES.html.sh: Remove getstr.
87721         * modules/getline: Depend on unlocked-io, not getstr.
87722
87723 2003-01-12  Jim Meyering  <jim@meyering.net>
87724
87725         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
87726
87727 2003-01-10  Bruno Haible  <bruno@clisp.org>
87728
87729         * modules/alloca: Change Makefile.am requirements. Simplify Include
87730         requirements. Add lib/alloca_.h to file list.
87731
87732 2003-01-10  Bruno Haible  <bruno@clisp.org>
87733
87734         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
87735
87736 2003-01-10  Bruno Haible  <bruno@clisp.org>
87737
87738         * lib/alloca_.h: New file.
87739         * lib/getdate.y: Unconditionally include alloca.h.
87740         * lib/makepath.c: Likewise.
87741         * lib/setenv.c: Likewise.
87742         * lib/userspec.c: Likewise.
87743
87744 2003-01-09  Karl Berry  <karl@gnu.org>
87745
87746         * MODULES.html.sh: include `dirname $0` in PATH, to find
87747         gnulib-tool.
87748
87749 2003-01-09  Bruno Haible  <bruno@clisp.org>
87750
87751         * modules/stdbool: Change configure.ac, Makefile.am requirements.
87752         Simplify Include requirements. Add lib/stdbool.h.in to file list.
87753
87754 2003-01-09  Bruno Haible  <bruno@clisp.org>
87755
87756         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
87757
87758 2003-01-09  Bruno Haible  <bruno@clisp.org>
87759
87760         * lib/stdbool.h.in: New file.
87761
87762 2003-01-09  Bruno Haible  <bruno@clisp.org>
87763
87764         * gnulib-tool (func_all_modules): Ignore files ending in ~.
87765         * MODULES.html.sh: Likewise.
87766
87767 2003-01-08  Jim Meyering  <jim@meyering.net>
87768
87769         * lib/full-write.c: Undefine and define-away `const' after inclusion
87770         of errno.h, not before.  Suggestion from Bruno Haible.
87771
87772 2003-01-08  Bruno Haible  <bruno@clisp.org>
87773
87774         * modules/full-read: Depend on full-write.
87775
87776 2003-01-08  Bruno Haible  <bruno@clisp.org>
87777
87778         * lib/safe-read.c: Include specification header first, to ensure its
87779         selfcontainedness.
87780         * lib/full-write.c: Likewise.
87781
87782 2003-01-07  Jim Meyering  <jim@meyering.net>
87783
87784         * lib/full-write.c: Rework so that it may serve to define full_read,
87785         too.
87786         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
87787
87788 2003-01-07  Bruno Haible  <bruno@clisp.org>
87789
87790         * lib/strtoimax.c: Include <stdint.h> as an alternative to
87791         <inttypes.h>.
87792         * lib/xstrtol.h: Likewise.
87793         * lib/xstrtoimax.c: Likewise.
87794         * lib/xstrtoumax.c: Likewise.
87795         * lib/human.h: Likewise.
87796
87797         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
87798         on systems that have <inttypes.h> but not <stdint.h>.
87799
87800 2003-01-07  Bruno Haible  <bruno@clisp.org>
87801
87802         * MODULES.html.sh: Add copyright notice.
87803         (missed_files): Omit CVS directory entries.
87804         (func_module): Make it work with sed-3.02.
87805         * MODULES.txt: Remove file.
87806
87807 2003-01-06  Jim Meyering  <jim@meyering.net>
87808
87809         * lib/version-etc.c: Update year in translatable copyright string.
87810
87811 2003-01-03  Karl Berry  <karl@gnu.org>
87812
87813         * config/config.{guess,sub}: update from prep.
87814
87815 2003-01-02  Karl Berry  <karl@gnu.org>
87816
87817         * doc/COPYING.DOC: belatedly updated to 1.2.
87818
87819 2003-01-01  Karl Berry  <karl@gnu.org>
87820
87821         * gnulib-tool (func_verify_module): report module name $module in
87822         error message, not $1.
87823         * gnulib-tool (create-testdir): don't complain if destdir couldn't
87824         be created, only if it doesn't exist.
87825         * gnulib-tool (last_checkin_date): don't expand the $Date here.
87826
87827 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87828
87829         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
87830
87831 2002-12-31  Paul Eggert  <eggert@twinsun.com>
87832
87833         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
87834         memcmp if strcoll doesn't work.
87835
87836 2002-12-31  Bruno Haible  <bruno@clisp.org>
87837
87838         * lib/utime.c (utime_null): No need to call ftruncate if the file was
87839         nonempty.
87840
87841 2002-12-31  Bruno Haible  <bruno@clisp.org>
87842
87843         * lib/memcoll.c (STRCOLL): New macro.
87844         (memcoll): Use it.
87845
87846 2002-12-31  Bruno Haible  <bruno@clisp.org>
87847
87848         * lib/localcharset.h: New file.
87849         * lib/localcharset.c: Include it.
87850         * lib/unicodeio.c: Likewise.
87851
87852 2002-12-31  Bruno Haible  <bruno@clisp.org>
87853
87854         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
87855         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
87856
87857 2002-12-31  Bruno Haible  <bruno@clisp.org>
87858
87859         * lib/getline.h: Include <stddef.h>, for size_t.
87860
87861         * lib/unicodeio.h: Include <stddef.h>, for size_t.
87862         * lib/unicodeio.c: Don't include <stddef.h>.
87863
87864 2002-12-31  Bruno Haible  <bruno@clisp.org>
87865
87866         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
87867         HAVE_TM_ZONE.
87868
87869 2002-12-24  Karl Berry  <karl@gnu.org>
87870
87871         * config/config.guess: update from prep.
87872
87873 2002-12-24  Bruno Haible  <bruno@clisp.org>
87874
87875         General infrasructure.
87876         * m4/README: Rewritten.
87877         * m4/onceonly.m4: New file.
87878         * m4/onceonly_2_57.m4: New file.
87879
87880         Module atexit.
87881         * m4/atexit.m4: New file.
87882
87883         Module strtod.
87884         * m4/strtod.m4: New file.
87885
87886         Module strtol.
87887         * m4/strtol.m4: New file.
87888
87889         Module strtoul.
87890         * m4/strtoul.m4: New file.
87891
87892         Module memchr.
87893         * m4/memchr.m4: New file.
87894
87895         Module memcmp.
87896         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
87897         (jm_FUNC_MEMCMP): Invoke it.
87898
87899         Module memcpy.
87900         * m4/memcpy.m4: New file.
87901
87902         Module memmove.
87903         * m4/memmove.m4: New file.
87904
87905         Module memset.
87906         * m4/memset.m4: New file.
87907
87908         Module strcspn.
87909         * m4/strcspn.m4: New file.
87910
87911         Module strpbrk.
87912         * m4/strpbrk.m4: New file.
87913
87914         Module strstr.
87915         * m4/strstr.m4: New file.
87916
87917         Module strerror.
87918         * m4/strerror.m4: New file.
87919
87920         Module mktime.
87921         * m4/mktime.m4: Renamed from jm-mktime.m4.
87922         (gl_PREREQ_MKTIME): New macro.
87923         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
87924
87925         Module malloc.
87926         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
87927         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
87928         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
87929
87930         Module realloc.
87931         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
87932         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
87933         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
87934
87935         Module strftime.
87936         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
87937         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
87938         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
87939         gl_TM_GMTOFF.
87940         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
87941
87942         Module xalloc.
87943         * m4/xalloc.m4: New file.
87944
87945         Module alloca.
87946         * m4/alloca.m4: New file.
87947
87948         Module putenv.
87949         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
87950         (jm_FUNC_PUTENV): Invoke it.
87951
87952         Module setenv.
87953         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
87954         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
87955         when invoked twice.
87956         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
87957         gt_FUNC_SETENV.
87958
87959         Module memrchr.
87960         * m4/memrchr.m4: New file.
87961
87962         Module stpcpy.
87963         * m4/stpcpy.m4: New file.
87964
87965         Module strcase.
87966         * m4/strcase.m4: New file.
87967
87968         Module strdup.
87969         * m4/strdup.m4: New file.
87970
87971         Module strnlen.
87972         * m4/strnlen.m4: New file.
87973
87974         Module strndup.
87975         * m4/strndup.m4: New file.
87976
87977         Module xstrtod.
87978         * m4/xstrtod.m4: New file.
87979
87980         Module xstrtol.
87981         * m4/xstrtol.m4: New file.
87982
87983         Module getdate.
87984         * m4/getdate.m4: New file.
87985
87986         Module unlocked-io.
87987         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87988         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87989         * m4/jm-glibc-io.m4n: Remove file.
87990
87991         Module long-options.
87992         * m4/long-options.m4: New file.
87993
87994         Module md5.
87995         * m4/md5.m4: New file.
87996
87997         Module sha.
87998         * m4/sha.m4: New file.
87999
88000         Module getstr.
88001         * m4/getstr.m4: New file.
88002
88003         Module getline.
88004         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88005         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88006         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88007         simply getline. Infoke gl_PREREQ_GETLINE.
88008
88009         Module obstack.
88010         * m4/obstack.m4: New file.
88011
88012         Module hash.
88013         * m4/hash.m4: New file.
88014
88015         Module readtokens.
88016         * m4/readtokens.m4: New file.
88017
88018         Module strverscmp.
88019         * m4/strverscmp.m4: New file.
88020
88021         Module stdbool.
88022         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88023         OSF/1.
88024
88025         Module strtoll.
88026         * m4/strtoll.m4: New file.
88027
88028         Module strtoull.
88029         * m4/strtoull.m4: New file.
88030
88031         Module strtoimax.
88032         * m4/strtoimax.m4: New file.
88033
88034         Module strtoumax.
88035         * m4/strtoumax.m4: New file.
88036
88037         Module xstrtoimax.
88038         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88039         jm_AC_PREREQ_XSTRTOIMAX.
88040         Moved the strtol prerequisites to strtol.m4.
88041         Moved the strtoll prerequisites to strtoll.m4.
88042         Moved the strtoimax prerequisites to strtoimax.m4.
88043
88044         Module xstrtoumax.
88045         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88046         jm_AC_PREREQ_XSTRTOUMAX.
88047         Moved the strtoul prerequisites to strtoul.m4.
88048         Moved the strtoull prerequisites to strtoull.m4.
88049         Moved the strtoumax prerequisites to strtoumax.m4.
88050
88051         Module chown.
88052         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88053         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88054
88055         Module dup2.
88056         * m4/dup2.m4: New file.
88057
88058         Module ftruncate.
88059         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88060         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88061
88062         Module getgroups.
88063         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88064         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88065
88066         Module gettimeofday.
88067         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88068         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88069         gl_PREREQ_GETTIMEOFDAY.
88070
88071         Module mkdir.
88072         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88073         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88074
88075         Module mkstemp.
88076         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88077         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88078         jm_AC_TYPE_UINTMAX_T.
88079         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88080
88081         Module stat.
88082         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88083         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88084
88085         Module lstat.
88086         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88087         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88088
88089         Module timespec.
88090         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88091         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88092         * m4/st_mtim.m4: Indentation.
88093
88094         Module nanosleep.
88095         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88096         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88097         gl_PREREQ_NANOSLEEP.
88098
88099         Module regex.
88100         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88101         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88102         (gl_REGEX): New macro.
88103
88104         Module rename.
88105         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88106         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88107
88108         Module rmdir.
88109         * m4/rmdir.m4: New file.
88110
88111         Module utime.
88112         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88113         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88114         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88115
88116         Module dirname.
88117         * m4/dirname.m4: New file.
88118
88119         Module getopt.
88120         * m4/getopt.m4: New file.
88121
88122         Module unistd-safer.
88123         * m4/unistd-safer.m4: New file.
88124
88125         Module fnmatch.
88126         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88127         declaration.
88128         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88129         (gl_FUNC_FNMATCH_POSIX): New macro.
88130         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88131         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88132         simply fnmatch.
88133
88134         Module exclude.
88135         * m4/exclude.m4: New file.
88136
88137         Module human.
88138         * m4/human.m4: New file.
88139
88140         Module acl.
88141         * m4/acl.m4: Nop.
88142
88143         Module backupfile.
88144         * m4/backupfile.m4: New file.
88145         * m4/d-ino.m4: Indentation.
88146
88147         Module fsusage.
88148         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88149         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88150         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88151
88152         Module dirfd.
88153         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88154         requirements.
88155
88156         Module euidaccess.
88157         * m4/euidaccess.m4: New file.
88158
88159         Module file-type.
88160         * m4/file-type.m4: New file.
88161
88162         Module fileblocks.
88163         * m4/fileblocks.m4: New file.
88164
88165         Module filemode.
88166         * m4/filemode.m4: New file.
88167
88168         Module isdir.
88169         * m4/isdir.m4: New file.
88170
88171         Module lchown.
88172         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88173         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88174
88175         Module makepath.
88176         * m4/makepath.m4: New file.
88177
88178         Module modechange.
88179         * m4/modechange.m4: New file.
88180
88181         Module mountlist.
88182         * m4/mountlist.m4: New file.
88183         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88184         Indentation.
88185
88186         Module path-concat.
88187         * m4/path-concat.m4: New file.
88188
88189         Module pathmax.
88190         * m4/pathmax.m4: New file.
88191
88192         Module same.
88193         * m4/same.m4: New file.
88194
88195         Module save-cwd.
88196         * m4/save-cwd.m4: New file.
88197
88198         Module savedir.
88199         * m4/savedir.m4: New file.
88200
88201         Module xgetcwd.
88202         * m4/xgetcwd.m4: New file.
88203         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88204
88205         Module xreadlink.
88206         * m4/xreadlink.m4: New file.
88207
88208         Module safe-read.
88209         * m4/safe-read.m4: New file.
88210
88211         Module safe-write.
88212         * m4/safe-write.m4: New file.
88213
88214         Module closeout.
88215         * m4/closeout.m4: New file.
88216
88217         Module stdio-safer.
88218         * m4/stdio-safer.m4: New file.
88219
88220         Module getpass.
88221         * m4/getpass.m4: New file.
88222
88223         Module getugroups.
88224         * m4/getugroups.m4: New file.
88225
88226         Module group-member.
88227         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88228         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88229
88230         Module idcache.
88231         * m4/idcache.m4: New file.
88232
88233         Module userspec.
88234         * m4/userspec.m4: New file.
88235
88236         Module gettime.
88237         * m4/clock_time.m4: New file.
88238         * m4/gettime.m4: New file.
88239
88240         Module settime.
88241         * m4/settime.m4: New file.
88242
88243         Module posixtm.
88244         * m4/posixtm.m4: New file.
88245
88246         Module gethostname.
88247         * m4/gethostname.m4: New file.
88248
88249         Module canon-host.
88250         * m4/canon-host.m4: New file.
88251
88252         Module gettext.
88253         * m4/codeset.m4: New file, from gettext-0.11.5.
88254         * m4/gettext.m4: New file, from gettext-0.11.5.
88255         * m4/glibc21.m4: New file, from gettext-0.11.5.
88256         * m4/iconv.m4: New file, from gettext-0.11.5.
88257         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88258         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88259         * m4/inttypes.m4: New file, from gettext-0.11.5.
88260         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88261         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88262         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88263         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88264         * m4/lib-link.m4: New file, from gettext-0.11.5.
88265         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88266         * m4/progtest.m4: New file, from gettext-0.11.5.
88267         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88268         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88269         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88270
88271         Module localcharset.
88272         * m4/localcharset.m4: New file.
88273
88274         Module hard-locale.
88275         * m4/hard-locale.m4: New file.
88276
88277         Module mbswidth.
88278         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88279         onceonly macros.
88280         * m4/mbrtowc.m4: Add comment.
88281
88282         Module memcasecmp.
88283         * m4/memcasecmp.m4: New file.
88284
88285         Module memcoll.
88286         * m4/memcoll.m4: New file.
88287
88288         Module unicodeio.
88289         * m4/unicodeio.m4: New file.
88290
88291         Module rpmatch.
88292         * m4/rpmatch.m4: New file.
88293
88294         Module yesno.
88295         * m4/yesno.m4: New file.
88296
88297         Module exitfail.
88298         * m4/exitfail.m4: New file.
88299
88300         Module c-stack.
88301         * m4/c-stack.m4 (gl_C_STACK): New macro.
88302         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88303
88304         Module error.
88305         * m4/error.m4 (gl_ERROR): New macro.
88306         (jm_PREREQ_ERROR): Use onceonly macros.
88307
88308         Module fatal.
88309         * m4/fatal.m4: New file.
88310
88311         Module getloadavg.
88312         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88313         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88314
88315         Module getpagesize.
88316         * m4/getpagesize.m4: New file.
88317
88318         Module getusershell.
88319         * m4/getusershell.m4: New file.
88320
88321         Module physmem.
88322         * m4/physmem.m4: New file.
88323
88324         Module posixver.
88325         * m4/posixver.m4: New file.
88326
88327         Module quotearg.
88328         * m4/quotearg.m4: New file.
88329
88330         Module quote.
88331         * m4/quote.m4: New file.
88332
88333         Module readutmp.
88334         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
88335
88336         Module sig2str.
88337         * m4/sig2str.m4: New file.
88338
88339         Other.
88340         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
88341         ulonglong.m4.
88342         * m4/intmax_t.m4: New file.
88343         * m4/d-type.m4: Indentation.
88344         * m4/jm-macros.m4: Update.
88345         * m4/prereq.m4 (jm_PREREQ): Update.
88346         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
88347         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
88348         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
88349         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
88350         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
88351         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
88352         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
88353         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
88354         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
88355         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
88356         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
88357         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
88358         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
88359         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
88360         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
88361         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
88362         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
88363         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
88364         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
88365
88366 2002-12-24  Bruno Haible  <bruno@clisp.org>
88367
88368         * MODULES.txt: Update according to m4/ changes.
88369
88370         Module gettext.
88371         * config.rpath: New file, from gettext-0.11.5.
88372
88373         * modules/*: New module descriptions.
88374         * gnulib-tool: New file.
88375         * MODULES.html.sh: New file.
88376
88377 2002-12-21  Karl Berry  <karl@gnu.org>
88378
88379         * doc/fdl.texi: update to version 1.2.
88380
88381 2002-12-19  Karl Berry  <karl@gnu.org>
88382
88383         * config/config.guess: update from prep.
88384
88385 2002-12-18  Bruno Haible  <bruno@clisp.org>
88386
88387         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
88388         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
88389
88390 2002-12-17  Bruno Haible  <bruno@clisp.org>
88391
88392         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
88393         stdlib.h, string.h.
88394
88395 2002-12-17  Bruno Haible  <bruno@clisp.org>
88396
88397         * lib/canon-host.c (strdup): Remove unused declaration.
88398
88399         * lib/fsusage.c: Include full_read.h.
88400         (get_fs_usage): Use full_read instead of safe_read.
88401
88402         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
88403
88404 2002-12-12  Karl Berry  <karl@gnu.org>
88405
88406         * config/config.guess: update from prep.
88407
88408 2002-12-11  Bruno Haible  <bruno@clisp.org>
88409
88410         * m4/setenv.m4: New file, from gettext-0.11.5.
88411
88412 2002-12-11  Bruno Haible  <bruno@clisp.org>
88413
88414         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
88415         not unsetenv().
88416         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
88417         modifications:
88418
88419         2002-12-11  Bruno Haible  <bruno@clisp.org>
88420
88421                 * setenv.c (alloca): Fall back to malloc.
88422                 (freea): New macro.
88423                 (setenv): Use freea() to free memory allocated with alloca().
88424
88425         2002-11-13  Bruno Haible  <bruno@clisp.org>
88426
88427                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
88428                 function declarations.
88429                 * unsetenv.c (unsetenv): Likewise.
88430
88431         2002-03-04  Bruno Haible  <bruno@clisp.org>
88432
88433                 Portability to AIX 4.3.3.
88434                 * unsetenv.c: New file, extracted from setenv.c.
88435                 * setenv.c: Move the unsetenv() function to unsetenv.c.
88436
88437         2001-12-20  Bruno Haible  <bruno@clisp.org>
88438
88439                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
88440                 use malloc instead. For SunOS 4.
88441
88442         2001-12-11  Bruno Haible  <bruno@clisp.org>
88443
88444                 * setenv.c: Declare alloca.
88445                 (compar_fn_t): New typedef.
88446                 (KNOWN_VALUE, STORE_VALUE): Use it.
88447
88448         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
88449         setenv.h.
88450
88451 2002-12-10  Paul Eggert  <eggert@twinsun.com>
88452
88453         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
88454         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
88455         Choose values that are less likely to collide with system fnmatch
88456         options.
88457         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
88458         defined (e.g., a pure POSIX system).
88459         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
88460         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
88461
88462 2002-12-06  Paul Eggert  <eggert@twinsun.com>
88463
88464         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
88465         a pain in practice to deal with generated m4 files.  This change
88466         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
88467
88468         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
88469         and jm-glibc-io.m4, as they are no longer a special case.
88470         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
88471         kludge and the auto-generation stuff.  Check only whether the
88472         functions are declared, not whether they exist, since older hosts
88473         that don't declare the functions can't use the optimization anyway.
88474
88475 2002-12-06  Jim Meyering  <jim@meyering.net>
88476
88477         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
88478
88479         Merge in changes from libc's misc/error.c, in preparation
88480         for the merge of gnulib's changes back into libc.
88481
88482         * lib/error.c (_): Define only if not already defined.
88483         Move definition to follow all #include directives.
88484         Include unlocked-io.h only if !_LIBC.
88485         [_LIBC]: Include <libio/libioP.h>.
88486         [USE_IN_LIBIO]: Include <libio/iolibio.h>
88487         (fflush): Tweak definition to use INTUSE.
88488         (putc): Define.
88489
88490 2002-12-05  Paul Eggert  <eggert@twinsun.com>
88491
88492         * lib/alloca.c [defined emacs]: Include "lisp.h".
88493         (xalloc_die) [defined emacs]: New macro.
88494         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
88495         [! defined emacs]: Include <xalloc.h>.
88496         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
88497         (pointer): Typedef to POINTER_TYPE *.
88498         (malloc): Remove decl; we now always use xmalloc.
88499         (alloca): Use old-style definition, since Emacs needs this.
88500         Check for arithmetic overflow when computing combined size.
88501
88502 2002-12-04  Paul Eggert  <eggert@twinsun.com>
88503
88504         Do not generate unlocked-io.h automatically, since it's easier to
88505         maintain it by hand.
88506
88507         * lib/unlocked-io.h: New file, from GNU diffutils,
88508         but with proper copyright notice and attribution.
88509         * lib/gen-uio: Remove.
88510         * lib/Makefile.am: Add copyright notice.
88511         (libfetish_a_SOURCES): Add unlocked-io.h.
88512         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
88513         (DISTCLEANFILES, io_functions): Remove macros.
88514         (EXTRA_DIST): Remove gen_uio.
88515         (unlocked-io.h): Remove rule.
88516
88517 2002-12-04  Jim Meyering  <jim@meyering.net>
88518
88519         Reflect the fact that stat.c and lstat.c are no longer generated.
88520         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
88521         (DISTCLEANFILES): Likewise.
88522         (EXTRA_DIST): Likewise.
88523         (all_local): Don't depend on stat.c or lstat.c.
88524         (stat.c, lstat.c): Remove rules.
88525         (EXTRA_DIST): Remove xstat.in.
88526
88527         * lib/xstat.in: Remove file.  Contents moved into stat.c.
88528         * lib/stat.c: New file.  Contents mostly from xstat.in.
88529         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
88530         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
88531
88532         * lib/safe-read.c: Rework so that it may serve to define safe_write,
88533         too.
88534         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
88535
88536 2002-12-03  Jim Meyering  <jim@meyering.net>
88537
88538         * lib/safe-read.c, safe-write.c: Change variable names and comments,
88539         but not semantics, to minimize the differences between these two files.
88540         (safe_read): Change comment to mention SAFE_READ_ERROR.
88541
88542         * lib/safe-read.c (IS_EINTR): Define.
88543         (safe_read): Use IS_EINTR in place of in-function cpp directives.
88544
88545 2002-12-02  Jim Meyering  <jim@meyering.net>
88546
88547         * lib/safe-read.c (EINTR): Define.
88548         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
88549         (INT_MAX): Provide fallback.
88550         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
88551
88552         * lib/safe-read.h (SAFE_READ_ERROR): Define.
88553
88554 2002-12-02  Bruno Haible  <bruno@clisp.org>
88555
88556         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
88557         Define, taken from safe-read.c.
88558         (INT_MAX): Provide fallback.
88559         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
88560         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
88561
88562         * lib/safe-read.c (EINTR): Remove definition.
88563         (safe_read): Don't use EINTR if it is absent.
88564
88565 2002-12-01  Jim Meyering  <jim@meyering.net>
88566
88567         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
88568         zero.
88569         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
88570
88571 2002-11-27  Paul Eggert  <eggert@twinsun.com>
88572
88573         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
88574         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
88575         with `if (! (value < limit)) abort ();', for readability.
88576
88577 2002-11-26  Karl Berry  <karl@gnu.org>
88578
88579         * lib/strdup.c: copy from libc again, with jim's ok.
88580         * lib/.cppi-disable: re-add strdup.c
88581
88582 2002-11-25  Karl Berry  <karl@gnu.org>
88583
88584         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
88585         instead of "strtol.c".
88586
88587 2002-11-25  Karl Berry  <karl@gnu.org>
88588
88589         * config/install-sh: update from automake for variable quoting, $0 in
88590         error msgs, etc.
88591
88592         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
88593         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
88594         entry.
88595
88596 2002-11-25  Jim Meyering  <jim@meyering.net>
88597
88598         * lib/mktime.c: Sync from libc, now that it has the latest fix.
88599
88600 2002-11-24  Karl Berry  <karl@gnu.org>
88601
88602         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
88603         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
88604
88605 2002-11-24  Jim Meyering  <jim@meyering.net>
88606
88607         Update from coreutils:
88608
88609         * lib/mktime.c: Merge in changes from libc.
88610
88611         Avoid a link-time failure on some Linux systems.
88612         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
88613         (otherwise).
88614         (__mon_yday): Declare with the STATIC attribute.
88615         (__mktime_internal): Likewise.
88616         Based on a report from Greg Schafer.
88617
88618 2002-11-23  Jim Meyering  <jim@meyering.net>
88619
88620         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
88621         Use `unsigned', not `int', as type of index.
88622
88623         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
88624
88625         * lib/fsusage.c: Remove unneeded parentheses around operands of
88626         `defined'.
88627
88628 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88629
88630         * lib/quotearg.h: Allow multiple inclusion by surrounding with
88631         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
88632         so that we can be included first.
88633         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
88634         * lib/quotearg.c: Include quotearg.h immediately after config.h.
88635         No need to include stddef.h or sys/types.h any more.
88636         Surround local include files with "", not "<>".
88637         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
88638         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
88639         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
88640         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
88641         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
88642         (ISPRINT): Remove; no longer needed now that we assume C89.
88643
88644         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
88645         Preserve errno.
88646
88647         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
88648         quotearg_char): Use SIZE_MAX rather than
88649         (size_t) -1 when we are talking about "infinity".
88650
88651         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
88652
88653 2002-11-22  Paul Eggert  <eggert@twinsun.com>
88654
88655         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
88656         hint that one should use `if (! x) abort ();' rather than `assert
88657         (x);', and anyway it's one less thing to worry about configuring.
88658         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
88659         hash_rehash, hash_insert): Use abort rather than assert.
88660
88661 2002-11-22  Bruno Haible  <bruno@clisp.org>
88662
88663         * lib/safe-read.h: Assume C89. Add comments.
88664         (safe_read): Change return type to size_t.
88665         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
88666         byte counts > SSIZE_MAX correctly.
88667         * lib/safe-write.h: New file.
88668         * lib/safe-write.c: New file.
88669         * lib/full-read.h: New file.
88670         * lib/full-read.c: New file.
88671         * lib/full-write.h: Assume C89. Add comments.
88672         * lib/full-write.c: Include safe-write.h.
88673         (full_write): Rewritten to use safe_write.
88674         Suggested by Jim Meyering and Paul Eggert.
88675
88676 2002-11-21  Jim Meyering  <jim@meyering.net>
88677
88678         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
88679
88680         Merge in changes from the coreutils.
88681
88682         2002-09-25  Paul Eggert  <eggert@twinsun.com>
88683         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
88684         <stdint.h>.
88685         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
88686         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
88687         int.  Work more efficiently if X is the same width as uintmax_t.
88688         Do not compare X to -1, to avoid bogus compiler warning.
88689         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
88690         Don't assume that f_frsize and f_bsize are the same type.
88691
88692         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
88693         warning on FreeBSD.
88694
88695         * lib/makepath.c (make_path): Restore umask *before* creating the final
88696         component.
88697         (make_path): Minor reformatting.
88698
88699         * lib/xmalloc.c: Adjust to work with new autoconf macros,
88700         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
88701         HAVE_MALLOC/HAVE_REALLOC.
88702
88703         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
88704         dummy ones.  At least on GNU/Linux systems, `auto' means something
88705         else.
88706         From Michael Stone.
88707
88708 2002-11-21  Bruno Haible  <bruno@clisp.org>
88709
88710         Remove case insensitive option matching.
88711         * lib/argmatch.h (argcasematch): Remove declaration.
88712         (ARGCASEMATCH): Remove macro.
88713         (__xargmatch_internal): Remove case_sensitive argument.
88714         (XARGMATCH): Update.
88715         (XARGCASEMATCH): Remove macro.
88716         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
88717         case_sensitive argument.
88718         (argcasematch): Remove function.
88719         (__xargmatch_internal): Remove case_sensitive argument.
88720         (main): Use XARGMATCH instead of XARGCASEMATCH.
88721
88722         * lib/xmalloc.c: Change compile-time error message. Add comment about
88723         required autoconf version.
88724
88725 2002-11-20  Paul Eggert  <eggert@twinsun.com>
88726
88727         Merge argmatch cleanups from Bison.  Assume C89.
88728
88729         * lib/argmatch.c: Include config.h here, not in argmatch.h.
88730         Include stdlib.h, for EXIT_FAILURE.
88731         Always include <string.h>, since we assume C89.
88732         (EXIT_FAILURE): Remove pre-C89 bug workaround.
88733         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
88734         Include <stddef.h> instead, since it's all we need for size_t.
88735         (PARAMS): Remove.  All uses removed.
88736         (ARRAY_CARDINALITY): Do not bother to #undef.
88737         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
88738         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88739         Remove unnecessary parentheses.
88740         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
88741         Insert necessary parentheses.
88742         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
88743         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
88744
88745 2002-11-19  Bruno Haible  <bruno@clisp.org>
88746
88747         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
88748         * lib/mbswidth.h: Include <stddef.h>, for size_t.
88749
88750         * lib/mbswidth.h (PARAMS): Remove macro.
88751         (mbswidth, mbsnwidth): Use ANSI C function declarations.
88752         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
88753
88754         * lib/gcd.h (PARAMS): Remove macro.
88755         (gcd): Use ANSI C function declarations.
88756         * lib/gcd.c (gcd): Likewise.
88757
88758 2002-11-15  Bruno Haible  <bruno@clisp.org>
88759
88760         * lib/strcspn.c: Include <stddef.h>.
88761         (strcspn): Use ANSI C function declaration. Change return type to
88762         size_t. Use NULL.
88763         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
88764         (strpbrk): Use NULL.
88765         * lib/strpbrk.h (PARAMS): Remove macro.
88766         (strpbrk): Use ANSI C function declaration.
88767         * lib/strstr.c: Don't include <sys/types.h>.
88768         * lib/strstr.h (PARAMS): Remove macro.
88769         (strstr): Use ANSI C function declarations.
88770
88771 2002-11-14  Karl Berry  <karl@gnu.org>
88772
88773         * config/mkinstalldirs: `do' on separate line, instead of
88774         `for var; do'.
88775
88776 2002-11-06  Bruno Haible  <bruno@clisp.org>
88777
88778         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
88779         * lib/gcd.c (gcd): Likewise.
88780
88781 2002-11-05  Bruno Haible  <bruno@clisp.org>
88782
88783         * lib/gcd.h: New file, from gettext-0.11.5.
88784         * lib/gcd.c: New file, from gettext-0.11.5.
88785
88786 2002-11-05  Bruno Haible  <bruno@clisp.org>
88787
88788         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88789         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88790         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88791         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
88792
88793         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
88794         <libintl.h>.
88795         * lib/makepath.c: Include gettext.h instead of <locale.h> and
88796         <libintl.h>.
88797
88798         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
88799         * lib/human.c: Include gettext.h instead of <libintl.h>.
88800         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
88801         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
88802         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
88803         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
88804         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
88805         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
88806         (textdomain): Remove definition.
88807         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
88808
88809         * lib/long-options.c: Remove include of <libintl.h> and definition of
88810         _.
88811         * lib/same.c: Remove include of <libintl.h> and definition of _.
88812
88813 2002-11-04  Owen Taylor  <otaylor@redhat.com>
88814
88815         * lib/config.charset: A few additions for Solaris.
88816
88817 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88818
88819         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
88820         * lib/localcharset.c (locale_charset): Declare as extern "C".
88821
88822 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
88823
88824         * lib/config.charset: msdos in uk_UA uses CP1125.
88825
88826 2002-11-04  Bruno Haible  <bruno@clisp.org>
88827
88828         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
88829         * lib/strcase.h: New file, from GNU gettext-0.11.5.
88830         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
88831         * lib/strstr.h: New file, from GNU gettext-0.11.5.
88832         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
88833
88834 2002-11-04  Bruno Haible  <bruno@clisp.org>
88835
88836         * lib/localcharset.c (locale_charset): Don't return an empty string.
88837
88838 2002-11-04  Bruno Haible  <bruno@clisp.org>
88839
88840         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
88841         aliases.
88842
88843 2002-11-04  Bruno Haible  <bruno@clisp.org>
88844
88845         * lib/config.charset: Update for newest glibc. Add canonical names
88846         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
88847
88848 2002-11-04  Bruno Haible  <bruno@clisp.org>
88849
88850         * lib/config.charset: Add support for NetBSD.
88851
88852 2002-11-04  Bruno Haible  <bruno@clisp.org>
88853
88854         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
88855
88856 2002-11-01  Bruno Haible  <bruno@clisp.org>
88857
88858         * configure.in: Add AC_CONFIG_AUX_DIR call.
88859         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
88860         test/Makefile.
88861         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
88862
88863 2002-09-28  Karl Berry  <karl@gnu.org>
88864
88865         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
88866         installed automake until the next release, since changes have been
88867         made.
88868
88869 2002-09-25  Karl Berry  <karl@gnu.org>
88870
88871         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
88872         * lib/getopt*: copy from libc/posix.
88873         * lib/gettext.h: copy from gettext.
88874         * lib/.cppi-disable: add strdup.c, gettext.h.
88875
88876 2002-09-25  Karl Berry  <karl@gnu.org>
88877
88878         * config/srclist.txt: enable gettext.h check.
88879         * config/config.{guess,sub}: update from prep.
88880         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
88881                 from automake 1.6.3.
88882         See srclist*.
88883
88884 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
88885
88886         * regex.c (PATFETCH): Remove the translating fetch.
88887         (PATFETCH_RAW): Rename to PATFETCH.
88888         (set_image_of_range): New fun.
88889         (SET_RANGE_TABLE_WORK_AREA): Use it.
88890         (regex_compile): Don't translate the pattern chars so eagerly.
88891         Only do it when inserting an `exactn' bytecode or when handling
88892         a char-range.
88893         (mutually_exclusive_p): Avoid empty statement.
88894
88895 2002-07-06  Jim Meyering  <meyering@lucent.com>
88896
88897         * m4/README: Don't mention Makefile.am.in.
88898         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
88899
88900 2002-07-01  Jim Meyering  <meyering@lucent.com>
88901
88902         * lib/c-stack.c: Include sys/time.h.
88903         From Volker Borchert.
88904
88905 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88906
88907         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
88908
88909 2002-06-26  Paul Eggert  <eggert@twinsun.com>
88910
88911         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
88912         New macro.  Use it uniformly instead of
88913         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
88914         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
88915         reported by Vin Shelton.
88916
88917 2002-06-22  Paul Eggert  <eggert@twinsun.com>
88918
88919         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
88920         Do not assume SA_SIGINFO behavior.
88921         Bug reported by Jim Meyering on NetBSD 1.5.2.
88922
88923 2002-06-22  Jim Meyering  <meyering@lucent.com>
88924
88925         * m4/c-stack.m4: New file, from diffutils-2.8.2.
88926         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
88927
88928         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
88929         now that configure.ac uses AC_GNU_SOURCE.
88930         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
88931         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
88932
88933         Update to latest tools.  Suggestions from Paul Eggert.
88934         * m4/stdbool.m4: New file, from diffutils-2.8.2.
88935         * m4/gnu-source.m4: Update from diffutils-2.8.2.
88936         * m4/fnmatch.m4: Likewise.
88937         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
88938         to AC_HEADER_STDBOOL
88939
88940 2002-06-22  Jim Meyering  <meyering@lucent.com>
88941
88942         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
88943         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
88944
88945 2002-06-22  Jim Meyering  <meyering@lucent.com>
88946
88947         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
88948
88949         * lib/exitfail.c, exitfail.h: Likewise.
88950         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
88951
88952         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
88953         of fnmatch.h.
88954         (EXTRA_DIST): Add fnmatch_loop.c.
88955         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
88956
88957         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
88958         * lib/fnmatch.c: Update from diffutils-2.8.2.
88959         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
88960         * lib/fnmatch.h: Remove file.
88961
88962 2002-06-21  Jim Meyering  <meyering@lucent.com>
88963
88964         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88965         * m4/mbrtowc.m4: Likewise.
88966
88967         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88968         * m4/mbswidth.m4: Reflect name change:
88969         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88970         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88971
88972         * m4/lib-link.m4: Update from gettext-0.11.2.
88973         * m4/gettext.m4: Likewise.
88974
88975         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88976         From Alfred M. Szmidt.
88977
88978 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88979
88980         * lib/file-type.h: Report an error if neither S_ISREG nor
88981         S_IFREG is defined, instead of using a test specific to glibc
88982         2.2.  This should be safe, since POSIX requires S_ISREG and
88983         Unix Version 7 had S_IFREG.  We don't need to check for
88984         <sys/types.h> since we don't use any symbols that it defines.
88985
88986 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88987
88988         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88989         $@-t, so that each temporary file name is unique and valid in the first
88990         8 characters, for operation under DOS.
88991
88992 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88993
88994         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88995
88996 2002-06-15  Jim Meyering  <meyering@lucent.com>
88997
88998         Work even with DJGPP 2.03, which lacks support for symlinks.
88999         From Richard Dawe.
89000         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89001         is defined.
89002         * lib/lchown.c (S_ISLNK): Likewise.
89003
89004 2002-06-15  Jim Meyering  <meyering@lucent.com>
89005
89006         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89007         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89008         have been included before this file.
89009
89010 2002-06-14  Jim Meyering  <meyering@lucent.com>
89011
89012         * lib/file-type.h: Use the version from diffutils-2.8.2.
89013         * lib/file-type.c: Likewise.
89014
89015 2002-06-07  Jim Meyering  <meyering@lucent.com>
89016
89017         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89018         They're needed at least for NetBSD 1.5.2.
89019         ($statxfs_includes): Include those same headers.
89020         ($statxfs_includes): Include sys/vfs.h if available.
89021         ($statxfs_includes): Likewise for sys/statvfs.h.
89022         Check for the following members in both structs statfs and statvfs:
89023         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89024
89025 2002-06-01  Jim Meyering  <meyering@lucent.com>
89026
89027         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89028         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89029
89030 2002-05-28  Jim Meyering  <meyering@lucent.com>
89031
89032         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89033         Reported by Volker Borchert.
89034
89035 2002-05-27  Jim Meyering  <meyering@lucent.com>
89036
89037         Fix a problem seen only on nonconforming systems whereby ls.c's
89038         use of localtime, and then of gettimeofday would cause trouble:
89039         the localtime call used to initialize rpl_gettimeofday's save
89040         mechanism would clobber ls's current local time information so
89041         that in any long listing the first file would always be listed
89042         with date 1970-01-01.  Analysis by Volker Borchert.
89043
89044         * lib/gettimeofday.c (localtime): Undefine.
89045         (rpl_localtime): New function.
89046
89047 2002-05-27  Jim Meyering  <meyering@lucent.com>
89048
89049         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89050         localtime.
89051
89052         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89053         use the replacement function; it wouldn't resolve at link time.
89054         Reported by Volker Borchert.
89055
89056 2002-05-22  Jim Meyering  <meyering@lucent.com>
89057
89058         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89059         file-type.h.
89060         * lib/file-type.h: New file.
89061         * lib/file-type.c (file_type): New file/function.  Extracted from
89062         diffutils.
89063
89064 2002-04-30  Jim Meyering  <meyering@lucent.com>
89065
89066         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89067
89068 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89069
89070         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89071
89072 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89073
89074         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89075         Do not check for alloca.h (no longer used) or stdbool.h (was never
89076         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89077
89078 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89079
89080         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89081
89082 2002-04-29  Jim Meyering  <meyering@lucent.com>
89083
89084         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89085         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89086         Use AC_FUNC_STRNLEN here instead.
89087
89088         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89089         With autoconf-2.53a, it's part of AC_PROG_CC.
89090
89091 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89092
89093         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89094         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89095
89096 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89097
89098         * lib/sig2str.h, lib/sig2str.c: New files.
89099         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89100
89101 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89102
89103         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89104         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89105         of 127, since 64 is the largest conceivable number for ancient
89106         nonstandard hosts.
89107         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89108
89109 2002-04-28  Jim Meyering  <meyering@lucent.com>
89110
89111         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89112
89113 2002-04-24  Jim Meyering  <meyering@lucent.com>
89114
89115         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89116         (jm_PREREQ): Use it.
89117
89118         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89119         mach/mach.h fcntl.h.
89120         Check for this function: setlocale.
89121
89122 2002-04-24  Jim Meyering  <meyering@lucent.com>
89123
89124         * lib/gettext.h: New file, from Gettext.
89125         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89126         (libfetish_a_SOURCES): Add gettext.h.
89127
89128 2002-04-16  Jim Meyering  <meyering@lucent.com>
89129
89130         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89131         ut_pid, ut_id, ut_exit.
89132
89133 2002-04-16  Jim Meyering  <meyering@lucent.com>
89134
89135         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89136         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89137         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89138
89139 2002-04-12  Jim Meyering  <meyering@lucent.com>
89140
89141         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89142         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89143         existence of the getmntinfo function.  Needed for Darwin 5.3.
89144
89145         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89146         This is necessary at least on Darwin 5.3.
89147
89148         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89149         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89150         strnlen.o in the library, and that makes some versions of ranlib
89151         object.
89152
89153 2002-04-12  Jim Meyering  <meyering@lucent.com>
89154
89155         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89156
89157 2002-04-09  Jim Meyering  <meyering@lucent.com>
89158
89159         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89160         to be more precise.  Rather than saying we're checking whether the
89161         function `works', say what we're testing.
89162         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89163         Reported by Bruno Haible.
89164
89165 2002-03-10  Jim Meyering  <meyering@lucent.com>
89166
89167         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89168         Suggestion from Santiago Vila.
89169
89170 2002-03-08  Jim Meyering  <meyering@lucent.com>
89171
89172         * lib/rename.c: Mention that this wrapper is needed also on
89173         mips-dec-ultrix4.4 systems.
89174
89175 2002-03-02  Jim Meyering  <meyering@lucent.com>
89176
89177         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89178         not HAVE_CLOCK_SETTIME.
89179
89180 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89181
89182         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89183         Check for clock_settime.
89184
89185 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89186
89187         * lib/nanosleep.h: Rename to....
89188         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89189
89190         * lib/gettime.c: New file.
89191         * lib/settime.c: New file.
89192         * lib/stime.c: Remove.
89193
89194         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89195         timespec.h.  Remove nanosleep.h.
89196
89197 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89198
89199         * m4/acl.m4: New file.
89200         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89201         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89202
89203 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89204
89205         * lib/acl.c, lib/acl.h: New files.
89206         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89207
89208 2002-02-24  Jim Meyering  <meyering@lucent.com>
89209
89210         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89211         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89212         cause trouble.  Reported by Nelson Beebe.
89213
89214 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89215
89216         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89217         compilers that don't know that xalloc_die never returns.
89218
89219 2002-02-20  Jim Meyering  <meyering@lucent.com>
89220
89221         * lib/getdate.c: Regenerate using bison-1.33.
89222
89223 2002-02-17  Jim Meyering  <meyering@lucent.com>
89224
89225         * config/config.guess (main): Don't use `head -1'; it's no longer
89226         portable. Use `sed 1q' instead.
89227
89228 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89229
89230         * m4/codeset.m4: Upgrade to gettext-0.11.
89231         * m4/gettext.m4: Upgrade to gettext-0.11.
89232         * m4/glibc21.m4: Upgrade to gettext-0.11.
89233         * m4/iconv.m4: Upgrade to gettext-0.11.
89234         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89235         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89236         * m4/lib-ld.m4: New file, from gettext-0.11.
89237         * m4/lib-link.m4: New file, from gettext-0.11.
89238         * m4/lib-prefix.m4: New file, from gettext-0.11.
89239         * m4/progtest.m4: Upgrade to gettext-0.11.
89240
89241 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89242
89243         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89244         (jm_PREREQ): Use it.
89245
89246 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89247
89248         * lib/posixver.c, lib/posixver.h: New files.
89249         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89250
89251 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89252             Bruno Haible  <bruno@clisp.org>
89253
89254         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89255         (fwrite_success_callback): New declaration.
89256         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89257         print_unicode_char. Call failure callback instead of error.
89258         (fwrite_success_callback): New function.
89259         (exit_failure_callback): New function.
89260         (fallback_failure_callback): New function.
89261         (print_unicode_char): Call unicode_to_mb.
89262
89263 2002-01-26  Jim Meyering  <meyering@lucent.com>
89264
89265         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89266         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89267
89268 2002-01-26  Jim Meyering  <meyering@lucent.com>
89269
89270         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89271
89272 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89273
89274         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89275
89276 2002-01-22  Jim Meyering  <meyering@lucent.com>
89277
89278         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89279         Otherwise, some versions of automake would omit the rule that makes
89280         Makefile from Makefile.in.
89281
89282 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89283
89284         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89285         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89286         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89287         (memcoll): Set errno to zero if there is no error.
89288
89289         * lib/quotearg.c (quotearg_buffer_restyled):
89290         Fix bug with quoting buffers containing NUL when backslashing escapes.
89291         This bug was exposed by the other changes in this patch.
89292         (quotearg_n_options): New arg ARGSIZE.
89293         All callers changed.
89294         (quoting_options_from_style): New function.
89295         (quotearg_n_style): Use it.
89296         (quotearg_n_style_mem): New function.
89297
89298         * lib/quotearg.h (quotearg_n_style_mem): New function.
89299
89300 2002-01-19  Jim Meyering  <meyering@lucent.com>
89301
89302         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89303         Remove useless quotes: DF_PROG="df".
89304         * m4/strnlen.m4: New file.
89305
89306 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89307
89308         * lib/backupfile.c (ISDIGIT): Comment fix.
89309         * lib/getdate.y (ISDIGIT): Likewise.
89310         * lib/posixtm.c (ISDIGIT, year): Likewise.
89311         * lib/strverscmp.c (ISDIGIT): Likewise.
89312         * lib/userspec.c (ISDIGIT): Likewise.
89313
89314 2002-01-16  Jim Meyering  <meyering@lucent.com>
89315
89316         * lib/getdate.y: Add three semicolons, each just before a closing
89317         brace. Bison (as of version 1.31) no longer papers over that mistake.
89318
89319 2002-01-05  Jim Meyering  <meyering@lucent.com>
89320
89321         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89322
89323 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89324
89325         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89326         not silently exit merely because the output buffer happens to
89327         have nothing pending.
89328
89329 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89330
89331         See the big note in ../ChangeLog.
89332         * lib/human.c (suffixes): Prefer K to k for 1024.
89333         (generate_suffix_backwards): New function.
89334         (human_readable_inexact): Use it.
89335         * lib/xstrtol.c (__xstrtol): If there is no number but there
89336         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
89337         Accept 'K' as well as 'k'.
89338
89339 2001-12-15  Jim Meyering  <meyering@lucent.com>
89340
89341         * lib/regex.h (__restrict_arr): Update from libc.
89342
89343         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
89344         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
89345         (STREQ): Define.
89346
89347 2001-12-14  Jim Meyering  <meyering@lucent.com>
89348
89349         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
89350         Suggestion from Bruno Haible.
89351
89352 2001-12-10  Jim Meyering  <meyering@lucent.com>
89353
89354         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
89355         xrealloc, Instead, include "xalloc.h".
89356         (initbuffer): Don't cast xmalloc return value to char*.
89357         (readline): Reword comment.
89358         Don't cast xrealloc return value to char*
89359         Return NULL, not 0.
89360
89361 2001-12-09  Jim Meyering  <meyering@lucent.com>
89362
89363         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
89364         about `signed and unsigned type in conditional expression'.
89365         * lib/posixtm.c (posix_time_parse): Likewise.
89366
89367         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
89368
89369         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
89370         to avoid a pedantic warning.
89371
89372         * lib/getstr.c: Don't include assert.h.
89373         (getstr): Remove warning-evoking assertions.
89374         Return -1 if offset parameter is out of bounds.
89375         Change the type of a local from int to size_t.
89376
89377         * lib/strftime.c (my_strftime_localtime_r): Include this function
89378         definition in the `#if ! HAVE_TM_GMTOFF' block.
89379
89380         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
89381         Include xalloc.h instead.
89382
89383 2001-12-02  Jim Meyering  <meyering@lucent.com>
89384
89385         * lib/tempname.c: Don't declare getenv, thus reverting the change of
89386         2001-11-18.  It's no longer necessary, now that stdlib.h is always
89387         included.
89388
89389         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
89390         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
89391
89392 2001-11-30  Akim Demaille  <akim@epita.fr>
89393
89394         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
89395         before being defined.
89396
89397 2001-11-27  Paul Eggert  <eggert@twinsun.com>
89398
89399         * lib/quotearg.h (quotearg_n, quotearg_n_style):
89400         First arg is int, not unsigned.
89401         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
89402         (SIZE_MAX, UINT_MAX): New macros.
89403         (quotearg_n_options): Abort if N is negative.
89404         Avoid overflow check on hosts where size_t is 64 bits and int
89405         is 32 bits, as overflow is impossible there.
89406         Fix off-by-one typo that caused unnecessary reallocation.
89407
89408 2001-11-27  Jim Meyering  <meyering@lucent.com>
89409
89410         * lib/tempname.c: Merge with version from libc.
89411         * lib/regex.c: Likewise.
89412
89413         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
89414         systems for which STDC_HEADERS is 0, it was not included, resulting in
89415         a warning about an integer-to-pointer conversion problem with getenv.
89416         Reported by Volker Borchert.
89417
89418 2001-11-26  Jim Meyering  <meyering@lucent.com>
89419
89420         * lib/gtod.h: Remove file.
89421         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
89422         * lib/gettimeofday.c: Don't include gtod.h.
89423         (GTOD_init): Remove function.
89424         (rpl_gettimeofday): Do its job here instead, rather than aborting.
89425         Suggestion from Volker Borchert.
89426
89427 2001-11-23  Jim Meyering  <meyering@lucent.com>
89428
89429         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
89430         it.
89431         * lib/hash.c (struct hash_table): Define it here instead.
89432
89433 2001-11-22  Jim Meyering  <meyering@lucent.com>
89434
89435         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
89436
89437 2001-11-20  Jim Meyering  <meyering@lucent.com>
89438
89439         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
89440         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
89441
89442 2001-11-19  Jim Meyering  <meyering@lucent.com>
89443
89444         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
89445         directory.  Use "conftestXXXXXX" as the template.
89446         Suggestion from Paul Eggert.
89447
89448         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
89449         immediately, so the test doesn't mistakenly hit the max-open-files
89450         limit.
89451
89452 2001-11-18  Paul Eggert  <eggert@twinsun.com>
89453
89454         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
89455         (TEMPORARIES): New macro.
89456         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
89457         removes an artificial limitation (e.g. HP-UX 10.20, where
89458         TMP_MAX is 17576).
89459
89460 2001-11-18  Jim Meyering  <meyering@lucent.com>
89461
89462         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
89463
89464 2001-11-18  Jim Meyering  <meyering@lucent.com>
89465
89466         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
89467         on SunOS 4.
89468
89469         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
89470         files will be created before anything else.
89471
89472 2001-11-17  Paul Eggert  <eggert@twinsun.com>
89473
89474         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
89475         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
89476
89477 2001-11-17  Jim Meyering  <meyering@lucent.com>
89478
89479         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
89480         Prompted by a report from Bob Proulx.
89481
89482         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
89483         Instead, require UTILS_FUNC_MKSTEMP.
89484
89485 2001-11-17  Jim Meyering  <meyering@lucent.com>
89486
89487         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
89488         Now, that's done as part of AC_FUNC_STRTOD.
89489
89490 2001-11-17  Jim Meyering  <meyering@lucent.com>
89491
89492         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
89493         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
89494         rather than group writable.  Patch by Juan F. Codagnone.
89495
89496         * lib/readtokens.c: Remove explicit declarations of xmalloc and
89497         xrealloc, Instead, include "xalloc.h".
89498
89499         * lib/mountlist.c: Include unlocked-io.h after all system headers.
89500         Remove explicit declarations of xmalloc, xrealloc,
89501         and xstrdup.  Instead, include "xalloc.h".
89502
89503         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
89504         unlocked-io.h.
89505         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
89506         Likewise.
89507         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
89508
89509         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
89510         Reported by Padraig Brady.
89511
89512         * lib/mkstemp.c: #undef mkstemp.
89513         Include config.h.
89514         (rpl_mkstemp): Rename from mkstemp.
89515         Protoize.
89516
89517 2001-11-16  Jim Meyering  <meyering@lucent.com>
89518
89519         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
89520         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
89521         determine the amount of total physical memory, use pstat_getstatic.
89522         HPUX-11 doesn't define _SC_PHYS_PAGES.
89523         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
89524         If sysconf couldn't be used to determine the amount of available
89525         physical memory, use both pstat_getstatic and pstat_getdynamic.
89526         Based on a patch from Bob Proulx.
89527
89528 2001-11-10  Jim Meyering  <meyering@lucent.com>
89529
89530         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
89531         (jm_PREREQ): Use it.
89532
89533 2001-11-09  Jim Meyering  <meyering@lucent.com>
89534
89535         * m4/jm-macros.m4: Require autoconf-2.52f.
89536         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
89537         Use these AC_-prefixed names, not the AM_-prefixed ones.
89538
89539         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
89540
89541 2001-11-05  Jim Meyering  <meyering@lucent.com>
89542
89543         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
89544
89545 2001-11-04  Jim Meyering  <meyering@lucent.com>
89546
89547         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
89548         $DEFS.
89549
89550 2001-11-03  Jim Meyering  <meyering@lucent.com>
89551
89552         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
89553         of AC_DEFUN.
89554
89555         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
89556         know the name of the variable in the macro definition.
89557
89558 2001-11-03  Jim Meyering  <meyering@lucent.com>
89559
89560         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
89561         in argmatch_to_argument call.
89562
89563         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
89564         argument.
89565
89566         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
89567         e.g., a fault due to an attempt to free a NULL pointer.
89568
89569 2001-11-01  Jim Meyering  <meyering@lucent.com>
89570
89571         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
89572         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
89573
89574 2001-11-01  Jim Meyering  <meyering@lucent.com>
89575
89576         * lib/dirfd.c, lib/dirfd.h: New files.
89577         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
89578
89579         * lib/hash.c (hash_print) [TESTING]: Clean up.
89580
89581 2001-10-22  Paul Eggert  <eggert@twinsun.com>
89582
89583         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
89584         to avoid a warning if -Wall.
89585
89586 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
89587
89588         * README: New file
89589         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
89590         (per RMS's instructions, this is now the canonical source)
89591         * lgpl/, gpl/: New directories.
89592
89593 2001-10-21  Paul Eggert  <eggert@twinsun.com>
89594
89595         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
89596
89597 2001-10-21  Jim Meyering  <meyering@lucent.com>
89598
89599         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
89600         this code would end up calling gettext even in packages built
89601         with --disable-nls.
89602         * lib/getopt.c (_): Likewise.
89603         * lib/regex.c (_): Likewise.
89604
89605 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89606
89607         * m4/error.m4 (jm_PREREQ_ERROR):
89608         Do not invoke AC_CHECK_FUNCS with strerror_r, as
89609         AC_FUNC_STRERROR_R does that.
89610         Check for strerror declaration.
89611
89612         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
89613         are supposed to have them these days.
89614         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
89615         Merge changes from latest Autoconf CVS.
89616         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
89617         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
89618         POSIX decided to standardize on the int flavor of strerror_r.
89619
89620 2001-10-20  Paul Eggert  <eggert@twinsun.com>
89621
89622         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
89623         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
89624         Use strerror_r that is only a macro, even if it is not a function.
89625         (strerror): Check for HAVE_DECL_STRERROR before declaring.
89626         (private_strerror): Use prototypes, not old-style function definition.
89627         (print_errno_message): New function.
89628         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
89629         char*-flavored one.
89630         (error_tail, error, error_at_line): Use it.
89631
89632 2001-10-11  Jim Meyering  <meyering@lucent.com>
89633
89634         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
89635         and quote_n (1, ... to avoid clobbering a buffer.
89636
89637 2001-10-05  Jim Meyering  <meyering@lucent.com>
89638
89639         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
89640         hash-pjw.h.
89641         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
89642         * lib/hash-pjw.h: New file.
89643
89644 2001-09-30  Jim Meyering  <meyering@lucent.com>
89645
89646         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
89647         `struct fsstat' has the `f_fstypename' member.
89648         Use that to define FS_TYPE, which is now used to make
89649         the getfsstat link test tighter.
89650
89651 2001-09-30  Jim Meyering  <meyering@lucent.com>
89652
89653         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
89654         Include <sys/ucred.h>, for Apple Darwin.
89655         Include sys/mount.h and sys/fs_types.h only if available.
89656         (FS_TYPE): Define.
89657         (read_filesystem_list): Use FS_TYPE.
89658
89659 2001-09-29  Paul Eggert  <eggert@twinsun.com>
89660
89661         * lib/exclude.c (excluded_filename): 0 -> false, since it's
89662         a boolean context.
89663
89664 2001-09-29  Jim Meyering  <meyering@lucent.com>
89665
89666         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89667         [one-argument getmntent function]): Include stdio.h before mntent.h.
89668         SunOS 4.1.x needs it for the declaration of `FILE'.
89669         Patch by Volker Borchert.
89670
89671         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
89672         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
89673         sys/fs_types.h, and make the link-test for getfsstat guard #include
89674         directives with appropriate #if HAVE_*_H tests so that we can
89675         detect getfsstat on Apple Darwin1.3.7 systems.
89676         Reported by Nelson Beebe.
89677         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
89678
89679 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89680
89681         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89682         #defines strtoimax.  Also treat the other strto* functions
89683         like strtoimax.
89684
89685         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89686         Check for strtoul and strtoumax,
89687         as those declarations are made even in the signed case.
89688         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
89689         Likewise, for strtol and strtoimax.
89690
89691 2001-09-28  Paul Eggert  <eggert@twinsun.com>
89692
89693         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
89694         #defines strtoimax.  Also treat the other strto* functions
89695         like strtoimax.
89696
89697         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
89698         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
89699         (strtoimax, strtoumax): Do not declare if already defined as a macro.
89700
89701 2001-09-26  Jim Meyering  <meyering@lucent.com>
89702
89703         Most macros in unlocked-io.h had the wrong number of arguments.
89704         * lib/gen-uio: New script.
89705         (USE_UNLOCKED_IO): Define to 1 if not already defined.
89706         * lib/unlocked-io.hin: Remove file.
89707         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
89708         rather than trying to embed it here.
89709         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
89710         Reported by Padraig Brady.
89711
89712 2001-09-25  Volker Borchert  <bt@teknon.de>
89713
89714         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
89715         `result'.
89716
89717 2001-09-24  Jim Meyering  <meyering@lucent.com>
89718
89719         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
89720
89721 2001-09-23  Jim Meyering  <meyering@lucent.com>
89722
89723         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
89724         instead of the mere test for existence of mntent.h.  The latter
89725         would get a false-positive on AIX 3.4 systems.
89726         In the outer getmntent if-block, don't die if neither of the getmntent
89727         tests succeeds.  Instead, just fall through and continue with the
89728         remaining tests.
89729
89730 2001-09-23  Jim Meyering  <meyering@lucent.com>
89731
89732         * lib/mountlist.c: Remove useless parentheses in #if directives.
89733         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
89734         the deprecated MOUNTED symbol is no longer defined in mntent.h.
89735
89736 2001-09-22  Jim Meyering  <meyering@lucent.com>
89737
89738         * m4/gettext.m4: New file.  From gettext.
89739         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
89740         * m4/progtest.m4: Likewise
89741         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
89742         * m4/glibc21.m4: Likewise.
89743
89744         * m4/libintl.m4: Remove.  No longer used.
89745
89746 2001-09-22  Jim Meyering  <meyering@lucent.com>
89747
89748         * lib/localcharset.c: Update from latest gettext.
89749         * lib/config.charset: Likewise.
89750
89751 2001-09-20  Jim Meyering  <meyering@lucent.com>
89752
89753         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
89754         strtoimax.
89755         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
89756         strtoumax.
89757
89758 2001-09-20  Jim Meyering  <meyering@lucent.com>
89759
89760         * lib/xstrtol.c (strtoimax): Guard declaration with
89761         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
89762         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
89763         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
89764         (strtoumax): Likewise, for completeness (it wasn't necessary).
89765
89766 2001-09-17  Paul Eggert  <eggert@twinsun.com>
89767
89768         * lib/strtoimax.c (HAVE_LONG_LONG):
89769         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
89770         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
89771         to work around bug in IBM C compiler.
89772
89773 2001-09-17  Jim Meyering  <meyering@lucent.com>
89774
89775         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
89776         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
89777         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
89778         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
89779         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
89780         whenever the right hand side need not be expanded by the shell.
89781
89782 2001-09-16  Paul Eggert  <eggert@twinsun.com>
89783
89784         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
89785         library.  It's not correct, as some older glibcs are buggy.
89786         fnmatch wasn't fixed until glibc 2.2.
89787
89788         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
89789         special shell magic here.
89790
89791 2001-09-16  Jim Meyering  <meyering@lucent.com>
89792
89793         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
89794         * m4/jm-macros.m4: Require it.
89795
89796 2001-09-16  Jim Meyering  <meyering@lucent.com>
89797
89798         * lib/mkdir.c: New file.
89799
89800 2001-09-15  Jim Meyering  <meyering@lucent.com>
89801
89802         * m4/jm-macros.m4: Check for help2man.
89803
89804 2001-09-11  Jim Meyering  <meyering@lucent.com>
89805
89806         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
89807         The body, by Paul Eggert, was moved here from configure.in.
89808         * m4/jm-macros.m4: Require UTILS_HOST_OS.
89809
89810 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89811
89812         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
89813         (jm_PREREQ): Use it.
89814
89815 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89816
89817         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
89818         Use ssize_t, not int, to store result of readlink.
89819         Check for ssize_t overflow as well as size_t overflow,
89820         as POSIX says the result of readlink is implementation-defined
89821         when ssize_t overflows.
89822         Remove unnecessary cast to char*.
89823         Use free+malloc instead of realloc, as the storage doesn't need
89824         to be preserved and it's clearer and can be more efficient that way.
89825         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
89826         * lib/xreadlink.h (xreadlink): Update prototype.
89827
89828 2001-09-04  Paul Eggert  <eggert@twinsun.com>
89829
89830         * lib/xgetcwd.c: Revert some of the previous change; intead,
89831         fix the HAVE_GETCWD_NULL code to behave more like the
89832         !HAVE_GETCWD_NULL code used to.
89833
89834         Include "xalloc.h".
89835         (xgetcwd): Do not return NULL when memory is exhausted; instead,
89836         invoke xalloc_die.
89837
89838 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89839
89840         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
89841         sys/param.h, as pathmax.h includes them.
89842
89843 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89844
89845         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
89846         (jm_PREREQ_XGETCWD): New macro.
89847
89848         * m4/getcwd.m4: New file.
89849
89850 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89851
89852         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
89853         like the HAVE_GETCWD_NULL code.
89854         Include pathmax.h if not HAVE_GETCWD.
89855         Do not include xalloc.h.
89856         (INITIAL_BUFFER_SIZE): New symbol.
89857         Do not use xmalloc / xrealloc, since the caller is responsible for
89858         handling errors.  Preserve errno around `free' during failure.
89859         Do not overrun buffer when using getwd.
89860
89861 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89862
89863         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
89864         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
89865         getcwd (NULL, 0).
89866
89867 2001-09-03  Paul Eggert  <eggert@twinsun.com>
89868
89869         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
89870         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
89871         spotted by Jim Meyering.
89872
89873 2001-09-03  Jim Meyering  <meyering@lucent.com>
89874
89875         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
89876         failure.
89877
89878 2001-09-02  Jim Meyering  <meyering@lucent.com>
89879
89880         * lib/error.c: Update from GNU libc.
89881
89882 2001-09-01  Jim Meyering  <meyering@lucent.com>
89883
89884         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
89885         Used by df.
89886
89887 2001-09-01  Jim Meyering  <meyering@lucent.com>
89888
89889         * lib/xreadlink.c: New file.
89890         * lib/xreadlink.h: New file.
89891         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
89892         xreadlink.h.
89893
89894         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
89895         doesn't conflict with sparc Solaris 7's definition in
89896         /usr/include/sys/int_types.h.
89897
89898         * lib/exclude.c: Use `""', not `<>' to #include non-system header
89899         files.
89900         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
89901         and strncasecmp as r-values.  Unixware didn't have declarations.
89902
89903 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89904
89905         * lib/xstrtol.h: Add copyright notice.
89906         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
89907         LONGINT_INVALID_SUFFIX_CHAR.
89908
89909 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89910
89911         * lib/xstrtol.c (strtoimax): New decl.
89912
89913 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89914
89915         * lib/xgetcwd.c: Don't include pathmax.h.
89916         Include stdlib.h and unistd.h if available.
89917         Include xalloc.h.
89918         (xmalloc, xstrdup, free): Remove decls.
89919         (xgetcwd): Don't assume sizes fit in unsigned.
89920         Check for overflow when computing sizes.
89921         Simplify reallocation code.
89922
89923 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89924
89925         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
89926         a directory's st_size can have an arbitrary value, so the old
89927         usage could waste an arbitrary amount of memory.  All uses
89928         changed.
89929         * lib/savedir.h: Update prototype.
89930
89931 2001-08-31  Paul Eggert  <eggert@twinsun.com>
89932
89933         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
89934
89935         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
89936         old strtoimax.c.
89937
89938         Also, make the following further changes to make this file's
89939         configuration more similar to that of strtol.c:
89940         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
89941         (strtoumax, uintmax_t, strtoull, strtol): Remove.
89942         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
89943         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
89944         changed to signed values.
89945
89946         And make the following changes as well:
89947         Fix copyright notice, as 1999 was missing.
89948         (verify): New macro.
89949         (strtoimax): Check sizes at compile-time, not run-time.
89950         Prefer strtol to strtoll if both work.
89951         (main): Remove; it was not that useful and was a pain to maintain.
89952
89953         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
89954
89955 2001-08-31  Jim Meyering  <meyering@lucent.com>
89956
89957         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
89958         Use an initial, malloc'd, buffer of length 128 rather than
89959         a statically allocated one of length 1024.
89960
89961 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89962
89963         Simplify code, partly by assuming autoconf 2.52 semantics.
89964
89965         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89966
89967         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89968         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89969         All uses removed.
89970         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89971         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89972         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89973         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89974         jm_AC_HEADER_INTTYPES_H.
89975         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89976
89977         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89978
89979         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89980         Quote first arg of AC_DEFUN.
89981         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89982         since they are needed to parse the include file even if we need
89983         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89984         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89985         but with opposite signedness.
89986
89987 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89988
89989         Merge 'exclude' changes from tar 1.13.22.
89990         This fixes one or two unlikely storage allocation overflow bugs,
89991         but doesn't change user-visible behavior otherwise.
89992
89993 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89994
89995         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89996         (jm_PREREQ_EXCLUDE): New macro.
89997
89998 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89999
90000         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90001         tm to be declared.
90002
90003 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90004
90005         * lib/hash.c: Remove '2001' from copyright notice.
90006
90007 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90008
90009         * lib/full-write.h: New file.
90010         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90011         * lib/full-write.c: Correct credits, as cccp.c no longer
90012         exists and anyway it was so heavily changed from the old cccp
90013         code as to be unrecognizable.  Include full-write.h.
90014         (full_write): Return size_t, with short writes meaning failure.
90015         All callers changed.  This fixes a bug with large buffers
90016         on 64-bit hosts.
90017         * lib/utime.c: Include full-write.h.
90018
90019 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90020
90021         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90022         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90023         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90024         Include if available.
90025         (<xalloc.h>): Include
90026         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90027         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90028         collide with FNM macros.
90029         (struct patopts): New struct.
90030         (struct exclude): Use it, as exclude patterns now come with options.
90031         (new_exclude): Support above changes.
90032         (new_exclude, add_exclude_file):
90033         Initial size must now be a power of two to simplify overflow checking.
90034         (free_exclude, fnmatch_no_wildcards): New function.
90035         (excluded_filename): No longer requires options arg, as the options
90036         are determined by add_exclude.  Now returns bool, not int.
90037         (excluded_filename, add_exclude):
90038         Add support for the fancy new exclusion options.
90039         (add_exclude, add_exclude_file): Now takes int options arg.
90040         Check for arithmetic overflow when computing sizes.
90041         (add_exclude_file): xrealloc might modify errno, so don't
90042         realloc until after errno might be used.
90043
90044         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90045         New macros.
90046         (free_exclude): New decl.
90047         (add_exclude, add_exclude_file): Now takes int options arg.
90048         (excluded_filename): No longer requires options arg, as the options
90049         are determined by add_exclude.  Now returns bool, not int.
90050
90051 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90052
90053         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90054
90055 2001-08-27  Jim Meyering  <meyering@lucent.com>
90056
90057         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90058
90059         * lib/version-etc.c (N_): Remove definition.
90060         Revert most of last change.
90061         Instead, simply don't mark the `Copyright...' string for translation.
90062         Based on advice from Paul Eggert.
90063
90064         * lib/strtoxmax.c: Tweak comment.
90065
90066 2001-08-26  Jim Meyering  <meyering@lucent.com>
90067
90068         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90069
90070         * m4/xstrtoimax.m4: New file.
90071         * m4/xstrtoumax.m4: Add comments explaining why we
90072         AC_REPLACE_FUNCS(strtol).
90073
90074 2001-08-26  Jim Meyering  <meyering@lucent.com>
90075
90076         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90077         of copyright with `%s' so translators don't get an untranslated
90078         message in 2002.
90079         (COPYRIGHT_YEAR): Define.
90080         (version_etc): Use fprintf rather than fputs.
90081         Suggestion from Ulrich Drepper.
90082
90083         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90084
90085         * lib/strtoll.c: New file, from GNU libc.
90086         * lib/xstrtoimax.c: New file.
90087
90088         * lib/xstrtol.h: Add xstrtoimax.
90089         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90090         * lib/strtoimax.c: New file.  Likewise, but first define
90091         STRTOUXMAX_SIGNED.
90092
90093         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90094         ...
90095         * lib/strtoxmax.c: ... then renamed to this.
90096
90097 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90098
90099         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90100         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90101         (jm_AC_TYPE_INTMAX_T): New macro.
90102         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90103
90104         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90105
90106         * m4/longlong.m4: Renamed from ulonglong.m4.
90107         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90108         * m4/uintmax_t.m4: Removed.
90109
90110 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90111
90112         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90113         Port to Solaris 8, where 'sed' requires a space after the 'r'
90114         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90115         Redirect output to $tmp just once.
90116
90117 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90118
90119         * lib/addext.c (<errno.h>): Include.
90120         (errno): Declare if not defined.
90121         (addext): Work correctly when pathconf returns -1 and leaves
90122         errno alone because there is no limit.  Also, work even if
90123         pathconf returns a value greater than SIZE_MAX.
90124
90125 2001-08-12  Jim Meyering  <meyering@lucent.com>
90126
90127         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90128         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90129         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90130         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90131         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90132         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90133         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90134         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90135         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90136         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90137         utime.m4, utimes.m4, xstrtoumax.m4:
90138         Quote the first argument in each use of AC_DEFUN.
90139
90140 2001-08-12  Jim Meyering  <meyering@lucent.com>
90141
90142         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90143         Simply `return getcwd (NULL, 0);'.
90144         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90145         Use 1300 as initial value for length, not PATH_MAX.
90146
90147         * lib/pathmax.h: Clean up cpp syntax.
90148
90149 2001-08-12  Jim Meyering  <meyering@lucent.com>
90150
90151         * lib/gettimeofday.c: New file.
90152         * lib/gtod.h: New file.
90153         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90154
90155 2001-08-05  Jim Meyering  <meyering@lucent.com>
90156
90157         * m4/jm-macros.m4: Require autoconf-2.52.
90158
90159 2001-08-04  Jim Meyering  <meyering@lucent.com>
90160
90161         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90162         stmt, to get in sync with glibc.
90163
90164 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90165
90166         The following changes are from gettext 0.10.39 as maintained by
90167         Bruno Haible.
90168
90169         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90170         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90171         with inverted sense.  All uses changed.
90172
90173         * lib/mbswidth.c: Don't include <limits.h>.
90174         Include <stdlib.h> and <string.h> unconditionally.
90175         (iswcntrl, mbsinit, ISCNTRL): New macros.
90176         (mbsnwidth): Use K&R style function declarations.
90177         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90178         can optimize it when MB_CUR_MAX == 1.
90179         The width of control characters is zero, not 1.
90180
90181 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90182
90183         The following changes are from gettext 0.10.39 as maintained by
90184         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90185
90186         * m4/codeset.m4: Upgrade to serial AM1.
90187         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90188         all uses changed.  Quote first arg of AC_DEFUN.
90189         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90190
90191         * m4/iconv.m4: Upgrade to serial AM2.
90192         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90193         Add --with-libconv-prefix.
90194         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90195         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90196         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90197         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90198         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90199
90200         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90201         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90202         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90203         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90204         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90205         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90206         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90207         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90208         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90209
90210         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90211         string.h any more.
90212
90213         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90214         not the default value.
90215
90216         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90217         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90218         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90219         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90220         Also check for iswcntrl, used for wcwidth fallback.
90221         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90222         to Autoconf 2.13.
90223
90224 2001-08-03  Jim Meyering  <meyering@lucent.com>
90225
90226         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90227         as it was in the original.  Reported by Paul Eggert.
90228
90229 2001-07-16  Jim Meyering  <meyering@lucent.com>
90230
90231         * m4/gettimeofday.m4: New file.
90232         Prompted by a report from Bernhard Baehr.
90233
90234 2001-07-15  Jim Meyering  <meyering@lucent.com>
90235
90236         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90237         stuff. Now it's in ../Makefile.cfg.
90238
90239 2001-07-15  Jim Meyering  <meyering@lucent.com>
90240
90241         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90242         (BUILT_SOURCES): Add unlocked-io.h.
90243         (io_functions): Define.
90244         (unlocked-io.h): New rule.
90245         (DISTCLEANFILES): Add unlocked-io.h.
90246         (all-local): Depend on unlocked-io.h, to ensure it is created.
90247
90248         * lib/unlocked-io.hin: New file
90249
90250         * lib/regex.c: Update from glibc.
90251
90252 2001-07-05  Jim Meyering  <meyering@lucent.com>
90253
90254         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90255         recommendation.
90256         (libfetish_a_SOURCES): Put all .h files here instead.
90257         Remove a thus-exposed (better checks in automake) duplicate and
90258         two unnecessary .h files.
90259
90260 2001-07-04  Jim Meyering  <meyering@lucent.com>
90261
90262         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90263         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90264         distcheck failure.
90265
90266 2001-07-02  Jim Meyering  <meyering@lucent.com>
90267
90268         The following changes were prompted by suggestions from Bruno Haible.
90269
90270         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90271         is now generated.
90272         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90273         definition of EXTRA_DIST.
90274         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90275         ensure that the generated file is created/updated whenever the list
90276         of $(unlocked_functions) is changed.
90277         (jm-glibc-io.m4): New rule.
90278         (unlocked-io.h): New rule -- currently unused.
90279
90280 2001-06-24  Jim Meyering  <meyering@lucent.com>
90281
90282         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90283         unmatched right bracket, rather than kludging it with an extra,
90284         falsely-matching quote in a comment.  Patch by Akim Demaille.
90285
90286 2001-06-11  Jim Meyering  <meyering@lucent.com>
90287
90288         * lib/regex.c: Update from GNU libc.
90289
90290 2001-05-27  Jim Meyering  <meyering@lucent.com>
90291
90292         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90293         Check for ut_type in struct utmp.
90294
90295 2001-05-27  Jim Meyering  <meyering@lucent.com>
90296
90297         * lib/readutmp.h (UT_TYPE): Define.
90298
90299 2001-05-24  Jim Meyering  <meyering@lucent.com>
90300
90301         * lib/argmatch.c: Include "quote.h".
90302         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90303         quote function.  Reported by Göran Uddeborg.
90304
90305 2001-05-22  Jim Meyering  <meyering@lucent.com>
90306
90307         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90308         now that we use the package-supplied version unconditionally.
90309         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90310
90311 2001-05-21  Jim Meyering  <meyering@lucent.com>
90312
90313         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90314         shell syntax errors.
90315
90316 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90317
90318         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90319
90320 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90321
90322         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90323         Don't bother to check library strftime, since
90324         we'll be using our own my_strftime function anyway.
90325         Define my_strftime instead of strftime.
90326
90327 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90328
90329         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90330         which is not yet declared.
90331
90332 2001-05-15  Jim Meyering  <meyering@lucent.com>
90333
90334         * m4/regex.m4: Use proper quoting so brackets appear in the test
90335         program.
90336         Reported by, and with help from, Bruno Haible.
90337
90338 2001-05-13  Jim Meyering  <meyering@lucent.com>
90339
90340         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
90341         undefined.
90342
90343 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90344
90345         dirname code cleanup.  base_name now behaves more compatibly
90346         with POSIX basename when given file names that have trailing
90347         slashes, and similarly for dir_name.  Add new primitives
90348         base_len and dir_len.  Put the directory-name-related decls
90349         into dirname.h.
90350
90351         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
90352         * lib/backupfile.c (base_name): Likewise.
90353         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
90354         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
90355         * lib/makepath.c (strip_trailing_slashes): Likewise.
90356         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
90357         ISSLASH): Likewise.
90358         * lib/rename.c (strip_trailing_slashes): Likewise.
90359         * lib/same.c (base_name): Likewise.
90360         * lib/stripslash.c (ISSLASH): Likewise.
90361
90362         * lib/addext.c: Include <dirname.h> after size_t is defined.
90363         * lib/backupfile.c: Likewise.
90364
90365         * lib/addext.c (addext): Use base_len to trim redundant
90366         trailing slashes instead of doing it ourselves.
90367         But do not trim the last slash if it is not redundant.
90368
90369         * lib/backupfile.c (find_backup_file_name,
90370         max_backup_version): Use base_len instead of rolling it ourselves.
90371         Handle the case of "" and (on DOS) "C:" correctly.
90372
90373         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
90374         needed. Include <string.h>, <dirname.h>.
90375         (base_name): Allow file names ending in slashes, other than names
90376         that are all slashes.  In this case, return the basename followed
90377         by the slashes.  This is more general, and can be used in places
90378         where the original base_name purposely had an assertion failure.
90379         (base_len): New function.
90380
90381         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
90382         Do not include <assert.h>; no longer needed.
90383         Include xalloc.h.
90384         (memrchr): Remove decl.
90385         (dir_name_r): Remove.
90386         (dir_len): Renamed from dirlen.  All callers changed.
90387         Rewrite in terms of base_name, for simplicity and consistency.
90388         (dir_name): Never return NULL.  All callers changed.
90389         Do not include <stdlib.h> in test program; no longer needed.
90390         return 0; is fine for test program.
90391
90392         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
90393         New macros.
90394         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
90395
90396         * lib/path-concat.c (path_concat): Use base_len to compute
90397         base length, not strlen; this means we cannot rely on memcpy
90398         to null-terminate.
90399
90400         * lib/same.c (STREQ): Remove.
90401         (same_name): Handle the case where the basename ends in trailing '/'.
90402
90403         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
90404         a slash was stripped.  Do not strip the last slash after a
90405         file system prefix.
90406
90407 2001-05-11  Paul Eggert  <eggert@twinsun.com>
90408
90409         * lib/Makefile.am (libfetish_a_SOURCES):
90410         Add strftime.c, since we now compile it on all hosts.
90411
90412         * lib/strftime.c (my_strftime):
90413         Define to nstrftime if emacs, but only if my_strftime is not defined.
90414         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
90415         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
90416         Add one more extra argument: a nanoseconds value.
90417         All uses changed.
90418         (ns): New macro.
90419         (my_strftime function): Add %N format.
90420         (emacs_strftimeu): Renamed from emacs_strftime,
90421         with extra ut argument.
90422
90423 2001-05-09  Paul Eggert  <eggert@twinsun.com>
90424
90425         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
90426
90427 2001-04-21  Jim Meyering  <meyering@lucent.com>
90428
90429         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
90430         doesn't interfere.
90431
90432 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90433
90434         * m4/ftruncate.m4: Check for chsize.
90435         Link with ftruncate.o unconditionally if ftruncate is missing.
90436         This was required when cross-compiling to i586-mingw32msvc.
90437
90438 2001-04-08  Jim Meyering  <meyering@lucent.com>
90439
90440         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
90441         recomputed; that's necessary when the offset spans a DST transition.
90442         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
90443
90444 2001-04-02  Jim Meyering  <meyering@lucent.com>
90445
90446         * lib/regex.h, regex.c: Update from GNU libc.
90447
90448 2001-03-24  Jim Meyering  <meyering@lucent.com>
90449
90450         * m4/jm-macros.m4: Require autoconf-2.49d.
90451
90452 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
90453
90454         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
90455
90456 2001-03-19  Paul Eggert  <eggert@twinsun.com>
90457
90458         * lib/version-etc.c (version_etc_copyright): Update to 2001.
90459
90460 2001-03-17  Jim Meyering  <meyering@lucent.com>
90461
90462         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
90463         now that the version in autoconf is equivalent.
90464         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
90465
90466         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
90467         Suggestion from Akim Demaille.
90468
90469         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
90470         (jm_PREREQ_TEMPNAME): New function.
90471
90472 2001-03-16  Paul Eggert  <eggert@twinsun.com>
90473
90474         * lib/tempname.c (uint64_t): Define to uintmax_t if
90475         not defined, and if UINT64_MAX is not defined.
90476         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
90477         Reported by John David Anglin.
90478
90479 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
90480
90481         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
90482         resolve alias if codeset is empty.
90483         * lib/config.charset (BeOS): Use wildcard syntax.
90484
90485 2001-03-13  Jim Meyering  <meyering@lucent.com>
90486
90487         * lib/path-concat.c (path_concat)
90488         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
90489         concatenating e.g., `C:' and `foo'.
90490         From Bruno Haible.
90491
90492 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90493
90494         * lib/localcharset.c (locale_charset): Don't use
90495         setlocale(LC_CTYPE,NULL). Don't return NULL.
90496         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
90497
90498 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
90499
90500         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
90501         support for DOS/DJGPP.
90502
90503 2001-03-01  Paul Eggert  <eggert@twinsun.com>
90504
90505         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
90506         lacks mkstemp.  Compile our own tempname.c if we compile our own
90507         mkstemp.c, as mkstemp relies on tempname.
90508
90509 2001-03-01  Jim Meyering  <meyering@lucent.com>
90510
90511         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
90512         AH_VERBATIM really does output its argument verbatim.
90513
90514 2001-02-28  Paul Eggert  <eggert@twinsun.com>
90515
90516         * lib/Makefile.am (libfetish_a_SOURCES):
90517         Add dup-safer.c, fopen-safer.c.
90518         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
90519
90520         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
90521         * lib/unistd-safer.h: New files.
90522
90523 2001-02-25  Paul Eggert  <eggert@twinsun.com>
90524
90525         The mkstemp replacement is taken from glibc 2.2.2, with some
90526         portability fixes for use outside glibc, as follows:
90527
90528         * lib/tempname.c (struct_stat64): New macro.
90529         (direxists, __gen_tempname): Use it.
90530         This avoids a portability problem with Solaris 8.
90531
90532         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
90533         (<stddef.h>, <stdint.h>, <string.h>):
90534         Include only if STDC_HEADERS || _LIBC.
90535         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
90536         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
90537         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
90538         (__set_errno): Define this macro if <errno.h> doesn't.
90539         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
90540         Define these macros if <stdio.h> doesn't.
90541         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
90542         Define these macros if <sys/stat.h>
90543         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
90544         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
90545         __xstat64): Define if not _LIBC.
90546         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
90547         (__gen_tempname): Invoke gettimeofday only if
90548         HAVE_GETTIMEOFDAY || _LIBC;
90549         otherwise, fall back on plain "time".
90550         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
90551
90552         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
90553
90554         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
90555
90556 2001-02-18  Paul Eggert  <eggert@twinsun.com>
90557
90558         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
90559
90560 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90561
90562         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
90563         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
90564         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
90565         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90566
90567 2001-02-17  Paul Eggert  <eggert@twinsun.com>
90568
90569         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
90570         Remove workaround macros for hosts that have mbrtowc but not
90571         mbstate_t, as we now insist on proper declarations for both
90572         before using mbrtowc.
90573
90574 2001-02-17  Jim Meyering  <meyering@lucent.com>
90575
90576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
90577         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
90578         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
90579         UnixWare 7.1.1.
90580
90581         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
90582         rather than AC_CACHE_VAL.
90583
90584 2001-02-17  Jim Meyering  <meyering@lucent.com>
90585
90586         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
90587         around included file name.
90588
90589         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
90590
90591         * lib/strftime.c: Update from GNU libc (the only changes were to
90592         comments).
90593
90594 2001-02-17  Jim Meyering  <meyering@lucent.com>
90595
90596         * lib/regex.c: Update from libc.
90597
90598 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
90599
90600         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
90601         clash.
90602
90603 2001-02-16  Paul Eggert  <eggert@twinsun.com>
90604
90605         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
90606         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
90607         Reported by Mark Hounschell via Paul Eggert.
90608
90609 2001-02-07  Jim Meyering  <meyering@lucent.com>
90610
90611         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
90612
90613 2001-02-05  Jim Meyering  <meyering@lucent.com>
90614
90615         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
90616         it includes the patch required for `large file' support with at least
90617         HP-UX's 10.20 /bin/cc.
90618
90619 2001-02-03  Jim Meyering  <meyering@lucent.com>
90620
90621         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
90622         AS_IF, now that it works once again (mysteriously).
90623         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90624
90625 2001-01-30  Jim Meyering  <meyering@lucent.com>
90626
90627         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
90628         * m4/chown.m4: Rename conftestchown to conftest.chown.
90629         * m4/rename.m4: s/conftestdir/conftest.d1/ and
90630         s/conftestdir2/conftest.d2/.
90631         * m4/utimes.m4: s/conftestdata/conftest.data/
90632         Inspired by Pavel Roskin's change in autoconf.
90633
90634 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
90635
90636         * lib/config.charset: Update for FreeBSD 4.2.
90637
90638 2001-01-27  Jim Meyering  <meyering@lucent.com>
90639
90640         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
90641         a use of AS_IF.
90642         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
90643
90644 2001-01-26  Jim Meyering  <meyering@lucent.com>
90645
90646         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
90647         quotearg.c includes it.
90648
90649 2001-01-26  Jim Meyering  <meyering@lucent.com>
90650
90651         * lib/quotearg.c: Include stddef.h.
90652         * lib/quote.c: Include stddef.h.
90653         Reported by Axel Kittenberger.
90654
90655         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
90656         line in double quotes so that it evokes a better diagnostic.
90657         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
90658         Reported by Axel Kittenberger.
90659
90660 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
90661
90662         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
90663         as if it was a `charset'.
90664
90665 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90666
90667         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
90668         has const.
90669
90670 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
90671
90672         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
90673         to avoid a warning.  Add back 'const' to inptr.
90674
90675 2001-01-20  Jim Meyering  <meyering@lucent.com>
90676
90677         Be sure that headers are checked before used in code compiled
90678         for the type checks.
90679         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
90680         In place of that, invoke jm_CHECK_ALL_TYPES.
90681         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
90682         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
90683         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
90684         The check for ssize_t was mistakenly run before the test for unistd.h.
90685
90686         The configure-time check for stdbool.h was missing.
90687         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
90688         (jm_PREREQ_HASH): New function.
90689
90690 2001-01-17  Jim Meyering  <meyering@lucent.com>
90691
90692         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
90693         for autoconf-2.49c.
90694         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
90695
90696 2001-01-16  Jim Meyering  <meyering@lucent.com>
90697
90698         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
90699         From Bruno Haible.
90700
90701 2001-01-14  Jim Meyering  <meyering@lucent.com>
90702
90703         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
90704         foo and bar.  Create conftestdir/ in the script, not in the C code.
90705         Remove directories in the script, not in the C code.
90706         Remove conftestdir{,2} before trying to create the directory.
90707         Make the entire configure script fail if the mkdir fails.
90708
90709 2001-01-14  Jim Meyering  <meyering@lucent.com>
90710
90711         * lib/rename.c: New file.  From Volker Borchert.
90712         Include stdlib.h, string.h or strings.h, and xalloc.h.
90713         Use strip_trailing_slashes rather than open-coding it.
90714
90715 2001-01-03  Paul Eggert  <eggert@twinsun.com>
90716
90717         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
90718
90719 2001-01-03  Jim Meyering  <meyering@lucent.com>
90720
90721         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
90722         of local `inptr' to avoid warning with some system declarations of
90723         iconv.
90724
90725 2001-01-02  Volker Borchert  <bt@teknon.de>
90726
90727         * m4/rename.m4: New file.
90728         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
90729
90730 2001-01-01  Jim Meyering  <meyering@lucent.com>
90731
90732         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
90733         even on systems with utmpx.h.  It's necessary for the declaration of
90734         utmp's ut_user member.  Reported by Andreas Jaeger.
90735
90736         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
90737         available. They are required for the declarations of getgrgid and
90738         getpwuid resp.
90739         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
90740         Reported by Andreas Jaeger.
90741
90742 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
90743
90744         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
90745         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
90746         so `make install' also works in VPATH builds.
90747
90748 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
90749
90750         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
90751         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
90752         can be used in subdirectories.
90753
90754 2000-12-29  Paul Eggert  <eggert@twinsun.com>
90755
90756         * lib/modechange.c: Do not assume that mode_t uses the
90757         traditional octal encoding.  E.g. "chmod 1 FOO" should set
90758         the other-execute bit of FOO even if S_IXOTH != 1.
90759
90760         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
90761         WOTH, XOTH, ALLM): New macros.
90762         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
90763          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
90764         Use them.
90765         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
90766         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
90767         (mode_compile):
90768         No need to use uintmax_t; unsigned long is long enough.
90769         Don't bother to get suffix since we don't use it.
90770
90771 2000-12-26  Jim Meyering  <meyering@lucent.com>
90772
90773         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
90774         better with autoheader.
90775
90776 2000-12-24  Jim Meyering  <meyering@lucent.com>
90777
90778         * lib/hash.c (is_prime): Return explicit boolean values.
90779         (hash_get_first): Return NULL to appease Irix5.6's 89.
90780         Reported by Nelson Beebe.
90781
90782 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
90783
90784         * lib/localcharset.c (locale_charset): Add support for Win32.
90785
90786 2000-12-18  Paul Eggert  <eggert@twinsun.com>
90787
90788         * lib/physmem.h, lib/physmem.c: New files.
90789
90790         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
90791         (noinst_HEADERS): Add physmem.h.
90792
90793         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
90794         't' for compatibility with Solaris 8 sort.
90795
90796 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
90797
90798         * lib/config.charset: Add support for BeOS.
90799
90800 2000-12-17  Jim Meyering  <meyering@lucent.com>
90801
90802         * m4/dos.m4 (jm_AC_DOS): New file and macro.
90803         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
90804
90805 2000-12-16  Jim Meyering  <meyering@lucent.com>
90806
90807         This bug had a serious impact on chown: `chown N:M FILE' (for integer
90808         N and M) would have treated it like `chown N:N FILE'.
90809
90810         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
90811
90812 2000-12-16  Jim Meyering  <meyering@lucent.com>
90813
90814         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
90815         SHELLS_FILE to a file name that's useful on djgpp systems.
90816         Include stdlib.h.
90817         (ADDITIONAL_DEFAULT_SHELLS): Define.
90818         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
90819         Based mostly on a patch from Prashant TR.
90820
90821 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
90822
90823         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
90824         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
90825         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
90826
90827 2000-12-08  Andreas Schwab  <schwab@suse.de>
90828
90829         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
90830         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
90831
90832 2000-12-07  Jim Meyering  <meyering@lucent.com>
90833
90834         * lib/stripslash.c (ISSLASH): Define.
90835         (strip_trailing_slashes): Use ISSLASH rather than comparing against
90836         `/'.
90837         From Prashant TR.
90838
90839         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
90840         (dir_name_r): Declare this function as static.
90841         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
90842         manifest itself on a name containing a mix of slashes and
90843         backslashes.
90844         Make this function work with names starting with a DOS-style
90845         drive letter and colon prefix.
90846         (dir_name): Append `.' if necessary.
90847         Based mostly on patches from Prashant TR and Eli Zaretskii.
90848
90849         * lib/dirname.h (dir_name_r): Remove prototype.
90850
90851 2000-12-06  Paul Eggert  <eggert@twinsun.com>
90852
90853         * m4/off_t-format.m4: Remove this file.
90854         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
90855
90856 2000-12-06  Jim Meyering  <meyering@lucent.com>
90857
90858         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
90859         replacement strtoull, we may well need the replacement strtoul, too.
90860         Check for declarations of strtoul and strtoull.
90861         Check for strtol.  Mainly as a cue to cause automake to include
90862         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
90863         Check for limits.h -- strtol.c needs it.
90864
90865 2000-12-05  Jim Meyering  <meyering@lucent.com>
90866
90867         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
90868
90869 2000-12-04  Jim Meyering  <meyering@lucent.com>
90870
90871         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
90872         Also include memory.h, stdlib.h, unistd.h if appropriate.
90873         Reported by Andreas Jaeger (conflicting declaration of malloc).
90874
90875 2000-12-02  Jim Meyering  <meyering@lucent.com>
90876
90877         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
90878         * m4/jm-macros.m4 (jm_MACROS): require it.
90879
90880 2000-12-02  Jim Meyering  <meyering@lucent.com>
90881
90882         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
90883
90884 2000-12-01  Paul Eggert  <eggert@twinsun.com>
90885
90886         * lib/memrchr.c: Include <config.h> before any system include file.
90887
90888 2000-11-30  Jim Meyering  <meyering@lucent.com>
90889
90890         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
90891
90892 2000-11-30  Jim Meyering  <meyering@lucent.com>
90893
90894         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
90895
90896 2000-11-29  Paul Eggert  <eggert@twinsun.com>
90897
90898         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
90899
90900 2000-11-26  Jim Meyering  <meyering@lucent.com>
90901
90902         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
90903
90904 2000-11-22  Paul Eggert  <eggert@twinsun.com>
90905
90906         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
90907         size of (size_t) -1; it's not portable.
90908
90909 2000-11-17  Jim Meyering  <meyering@lucent.com>
90910
90911         * lib/strstr.c: Update from GNU libc.
90912
90913 2000-11-17  Akim Demaille  <akim@epita.fr>
90914
90915         * lib/obstack.h: Formatting changes.
90916         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
90917         prevent type checking.
90918         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
90919         cast the value to (void *): assigning a `foo *' to a `void *'
90920         variable is valid.
90921         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
90922
90923 2000-11-16  Jim Meyering  <meyering@lucent.com>
90924
90925         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
90926
90927 2000-11-11  Jim Meyering  <meyering@lucent.com>
90928
90929         * lib/error.c: Add a couple #includes, merging from GNU libc version.
90930
90931 2000-11-10  Jim Meyering  <meyering@lucent.com>
90932
90933         * lib/obstack.h: Update from GNU libc.
90934         * lib/obstack.c: Likewise.
90935
90936 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
90937
90938         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
90939
90940 2000-11-06  Paul Eggert  <eggert@twinsun.com>
90941
90942         * lib/getusershell.c (setusershell): Use rewind rather than
90943         fseek/fseeko, to avoid configuration hassles with fseeko.
90944         Don't bother opening SHELLS_FILE if shellstream is NULL;
90945         it's not necessary.
90946
90947 2000-11-05  Jim Meyering  <meyering@lucent.com>
90948
90949         * lib/makepath.h (make_dir): Declare.
90950         * lib/makepath.c (make_dir): Remove `static' attribute.
90951         Tweak a comment.
90952
90953 2000-11-04  Jim Meyering  <meyering@lucent.com>
90954
90955         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
90956
90957 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
90958
90959         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
90960         last one in a bucket, advance to the next bucket.
90961
90962 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
90963
90964         * lib/fnmatch.c: Do not comment out all the code if we are using
90965         the GNU C library, because in some cases we are replacing buggy
90966         code in the GNU C library itself.
90967
90968 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90969
90970         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90971         (regex_compile): Catch bogus \(\1\).
90972
90973 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90974
90975         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90976         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90977         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90978
90979 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90980
90981         * lib/error.h, getline.h, modechange.h:
90982         Remove "2000" from Copyright line, as the file hasn't been
90983         changed this year other than in the copyright notice.
90984
90985         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90986         was changed this year.
90987
90988 2000-10-29  Jim Meyering  <meyering@lucent.com>
90989
90990         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90991         renaming.
90992         * m4/ls-mntd-fs.m4: Likewise
90993
90994 2000-10-29  Jim Meyering  <meyering@lucent.com>
90995
90996         * lib/xstat.in: Fix grammar in comment.
90997
90998 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90999
91000         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91001         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91002         doesn't define __restrict_arr.
91003
91004 2000-10-28  Jim Meyering  <meyering@lucent.com>
91005
91006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91007         (jm_PREREQ_MEMCHR): New function.
91008
91009 2000-10-28  Jim Meyering  <meyering@lucent.com>
91010
91011         * lib/memchr.c: Update from libc.
91012         Adjust for portability:
91013         [HAVE_STDLIB_H]: Include stdlib.h.
91014         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91015         Undef __memchr, too.
91016         [!weak_alias]: Define __memchr to memchr.
91017
91018         * lib/regex.c: Update from libc.
91019         * lib/regex.h: Likewise.
91020         * lib/getopt1.c: Likewise.
91021         * lib/memcmp.c: Likewise.
91022
91023         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91024         Avoid using fseek, when possible -- it's broken by design.
91025         Patch by Ulrich Drepper.
91026
91027 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91028
91029         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91030         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91031         Giving in to popular pressure to shut up the compiler with casts.
91032
91033 2000-10-26  Jim Meyering  <meyering@lucent.com>
91034
91035         * lib/strftime.c: Update from libc.
91036
91037 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91038
91039         * regex.c: More `unsigned char' -> `re_char' changes.
91040         Also change several `int' into `re_wchar_t'.
91041         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91042         (PUSH_FAILURE_POINTER): Don't cast any more.
91043         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91044         We want GCC to complain, since this piece of code makes
91045         re_match non-reentrant, which *should* be fixed.
91046         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91047         (EXTEND_BUFFER): Use RETALLOC.
91048         (SET_LIST_BIT): Don't cast.
91049         (re_wchar_t): New type.
91050         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91051         that those two functions will always properly return.
91052         (IMMEDIATE_QUIT_CHECK): Cast to void.
91053         (analyse_first): Use recursion rather than an explicit stack.
91054         (re_compile_fastmap): Can't fail anymore.
91055         (re_search_2): Don't check re_compile_fastmap for failure.
91056         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91057         Now also sets the new value (passed in a new argument).
91058         (re_match_2_internal): Use it.
91059         Also, use a new var `reg' of type size_t when looping through regs
91060         rather than reuse the inappropriate `mcnt'.
91061
91062 2000-10-25  Jim Meyering  <meyering@lucent.com>
91063
91064         * lib/obstack.c: Update from libc.
91065
91066 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91067
91068         * regex.c (regex_compile): Change the way of handling a range from
91069         a char less than 256 to a char not less than 256.
91070
91071 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91072
91073         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91074         NT-Emacs only.
91075         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91076         so that re_search functions only quit when callers expect them to.
91077
91078 2000-10-23  Jim Meyering  <meyering@lucent.com>
91079
91080         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91081         wrong.  That set_locale call must not have any side effects.
91082         From Paul Eggert.
91083
91084 2000-10-22  Jim Meyering  <meyering@lucent.com>
91085
91086         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91087         [CYCLIC]: Remove now-unused definition.
91088
91089         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91090         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91091         Suggestion from Ulrich Drepper.
91092
91093 2000-10-21  Jim Meyering  <meyering@lucent.com>
91094
91095         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91096         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91097         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91098
91099 2000-10-21  Jim Meyering  <meyering@lucent.com>
91100
91101         * lib/dirname.c (memrchr): Declare if necessary.
91102         (dir_name): Remove the restriction that there be no
91103         trailing slashes.  Now, this code skips past them, effectively
91104         ignoring them.
91105         [TEST_DIRNAME] (main): New unit tests.
91106
91107         * lib/memrchr.c: New file from GNU libc.
91108         Undef __memrchr, too.
91109         [!weak_alias]: Define __memrchr to memrchr.
91110         Guard weak_alias use with `#ifdef weak_alias'.
91111
91112 2000-10-21  Jim Meyering  <meyering@lucent.com>
91113
91114         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91115         (dir_name): Use dir_name_r.
91116         * lib/dirname.h (dir_name_r): Declare it.
91117
91118 2000-10-17  Jim Meyering  <meyering@lucent.com>
91119
91120         * lib/quote.h (PARAMS): Define and use.
91121         Reported by Akim Demaille.
91122
91123         * lib/getopt.c: Update from libc.
91124
91125 2000-10-16  Jim Meyering  <meyering@lucent.com>
91126
91127         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91128         setlocale.
91129         From Jan Fedak.
91130
91131 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91132
91133         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91134
91135 2000-09-25  Jim Meyering  <meyering@lucent.com>
91136
91137         * lib/md5.h (rol): Define (from GnuPG).
91138
91139         * lib/sha.c: Give credit (GnuPG) where due.
91140         (M): Use rol rather than open-coding it.
91141         Add a FIXME comment.
91142
91143 2000-09-21  Jim Meyering  <meyering@lucent.com>
91144
91145         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91146         Reported by Michael Stone.
91147
91148 2000-09-20  Jim Meyering  <meyering@lucent.com>
91149
91150         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91151         (noinst_HEADERS): Add sha.h.
91152         Based on code from Scott G. Miller and from GnuPG.
91153
91154 2000-09-18  Jim Meyering  <meyering@lucent.com>
91155
91156         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91157         LIBS. Otherwise, everyone ends up linking with -lelf for some
91158         configurations.
91159         Reported by Mike Stone.
91160
91161 2000-09-15  Jim Meyering  <meyering@lucent.com>
91162
91163         * lib/regex.c: Update from libc.
91164
91165 2000-09-10  Jim Meyering  <meyering@lucent.com>
91166
91167         * lib/getopt.c (_getopt_internal): Update from glibc.
91168
91169 2000-09-09  Jim Meyering  <meyering@lucent.com>
91170
91171         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91172         think it should be used as a general replacement for isascii.
91173         * lib/fnmatch.c: Likewise.
91174         * lib/mbswidth.c: Likewise
91175         * lib/regex.c: Likewise.
91176
91177         Don't use atoi.
91178         * lib/userspec.c: Include sys/param.h and limits.h.
91179         Include xstrtol.h.
91180         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91181         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91182         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91183         UID, GID.  Check range.
91184
91185 2000-09-06  Jim Meyering  <meyering@lucent.com>
91186
91187         * lib/getopt.c (_getopt_internal): Update from glibc.
91188
91189 2000-08-30  Jim Meyering  <meyering@lucent.com>
91190
91191         * lib/strftime.c: Merge in changes from GNU libc.
91192
91193 2000-08-26  Jim Meyering  <meyering@lucent.com>
91194
91195         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91196         * m4/fpending.m4: New file.
91197
91198 2000-08-26  Jim Meyering  <meyering@lucent.com>
91199
91200         * lib/closeout.c: Include "__fpending.h".
91201         (close_stdout_status): Return right away if there's nothing to flush.
91202
91203         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91204         * lib/__fpending.c: New file.
91205         * lib/__fpending.h: New file.
91206
91207 2000-08-20  Jim Meyering  <meyering@lucent.com>
91208
91209         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91210         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91211         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91212
91213 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91214
91215         Improve fileutils installation on systems where running
91216         programs (like install) can't be unlinked.
91217         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91218         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91219
91220 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91221
91222         Standardize on "memory exhausted" instead of "Memory exhausted"
91223         or "virtual memory exhausted".
91224         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91225         "virtual memory exhausted".
91226         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91227         our own message.
91228         * lib/userspec.c (parse_user_spec): Likewise.
91229         * lib/bumpalloc.h: comment fix
91230         * lib/same.c, userspec.c: Include xalloc.h.
91231
91232         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91233         not char *const and pointing to a constant array.
91234         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91235         (xrealloc): Comment fix.
91236
91237         * lib/userspec.c (parse_user_spec):
91238         Don't translate a message until just before returning,
91239         to avoid unnecessary translation.
91240
91241 2000-08-07  Jim Meyering  <meyering@lucent.com>
91242
91243         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91244         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91245         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91246         getgroups.c, gethostname.c, getopt.h, group-member.c,
91247         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91248         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91249         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91250         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91251         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91252         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91253         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91254         yesno.c: Back out Copyright date changes for each file with no change
91255         this year.  This eases coordination with other programs using the same
91256         source code modules.  From Paul Eggert.
91257
91258 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91259
91260         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91261         not char, for compatibility with glibc 2.1.3 strftime.c.
91262
91263 2000-08-03  Greg McGary  <greg@mcgary.org>
91264
91265         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91266         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91267         (EXTEND_BUFFER): Use them.
91268
91269 2000-08-01  Jim Meyering  <meyering@lucent.com>
91270
91271         * lib/dirname.c (ISSLASH): Define.
91272         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91273         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91274         both `\' and `/' may be use as path separators.
91275         Based on a patch from Prashant TR.
91276
91277 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91278
91279         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91280         slot vector a constant, since it might get modified.
91281
91282 2000-07-31  Jim Meyering  <meyering@lucent.com>
91283
91284         * lib/xmalloc.c: Use `virtual memory exhausted', not
91285         `Memory exhausted'.
91286         * lib/obstack.c (print_and_abort): Likewise.
91287
91288 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91289
91290         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91291         buffer, so that the caller can always quote one small
91292         component of a "memory exhausted" message in slot 0.
91293         From a suggestion by Jim Meyering.
91294
91295 2000-07-30  Jim Meyering  <meyering@lucent.com>
91296
91297         * lib/makepath.c (make_path): Quote the other instance, too.
91298
91299         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91300         (STATIC_BUF_SIZE): Define.
91301         (quotearg_n_options): Use only statically allocated storage when
91302         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91303         than STATIC_BUF_SIZE.
91304
91305 2000-07-29  Jim Meyering  <meyering@lucent.com>
91306
91307         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91308         * lib/dirname.c (dir_name): Likewise.
91309
91310         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91311         `/'.
91312
91313         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91314         (dir_name): Assert that there are no trailing slashes.
91315
91316 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91317
91318         * lib/mbswidth.h (mbswidth): Add a flags argument.
91319         (mbswidth): New declaration.
91320         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91321         * lib/mbswidth.c (mbswidth): Add a flags argument.
91322         (mbsnwidth): New function.
91323
91324 2000-07-24  Jim Meyering  <meyering@lucent.com>
91325
91326         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91327
91328 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91329
91330         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
91331
91332 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91333
91334         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
91335         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
91336         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
91337         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
91338         invoke multibyte primitives.
91339
91340 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91341
91342         * lib/quotearg.c:
91343         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
91344         so that mbstate_t is always defined.
91345
91346         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
91347         be 1 in at least one GCC installation, and this configuration
91348         error is likely to be common.  Ignoring MB_LEN_MAX hurts
91349         performance on hosts that have mbrtowc but have only unibyte
91350         locales, but I assume these hosts are rare.
91351
91352 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91353
91354         * lib/mbswidth.c (_XOPEN_SOURCE):
91355         Don't define; this causes problems on Solaris 7.
91356         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
91357
91358 2000-07-23  Jim Meyering  <meyering@lucent.com>
91359
91360         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
91361         too: getgrgid, getpwuid, getuid.
91362
91363 2000-07-23  Jim Meyering  <meyering@lucent.com>
91364
91365         * lib/basename.c (base_name): Add an assertion.
91366
91367 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
91368
91369         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
91370         shadow its mbsinit function.
91371
91372 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91373
91374         * lib/mbswidth.h: New file.
91375         * lib/mbswidth.c: New file.
91376         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
91377         (noinst_HEADERS): Add mbswidth.h.
91378
91379 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
91380
91381         * lib/config.charset: Add support for FreeBSD. Improve support for
91382         HP-UX and IRIX 6.
91383
91384 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
91385
91386         * m4/mbswidth.m4: New file.
91387         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
91388
91389 2000-07-15  Jim Meyering  <meyering@lucent.com>
91390
91391         * lib/makepath.c: Include quote.h.
91392         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
91393         corresponding argument in a `quote (...)' call.
91394         Give better diagnostics.
91395
91396         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
91397         (noinst_HEADERS): Add quote.h.
91398
91399         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
91400         from tar's src/misc.c.
91401         * lib/quote.h: New file.  Prototypes for same.
91402
91403 2000-07-14  Paul Eggert  <eggert@twinsun.com>
91404
91405         From a suggestion by Bruno Haible.
91406         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
91407         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
91408         to decide whether to define the BeOS workaround macro;
91409         this adjusts to the change to AC_MBSTATE_T.
91410
91411 2000-07-14  Jim Meyering  <meyering@lucent.com>
91412
91413         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
91414         jm_AC_TYPE_UINTMAX_T.
91415
91416 2000-07-13  Paul Eggert  <eggert@twinsun.com>
91417
91418         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
91419
91420         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
91421         quotearg_buffer_restyled): Add support for
91422         clocale_quoting_style.  Undo previous change to
91423         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
91424         and "{RIGHT QUOTATION MARK}" msgids.
91425
91426 2000-07-10  Paul Eggert  <eggert@twinsun.com>
91427
91428         From a suggestion by Bruno Haible.
91429         * m4/mbstate_t.m4 (AC_MBSTATE_T):
91430         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
91431         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
91432         and mbstate_t, to a single-part test that simply defines mbstate_t.
91433         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
91434         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
91435
91436 2000-07-10  Jim Meyering  <meyering@lucent.com>
91437
91438         * m4/strerror_r.m4: Mirror the correction made in autoconf.
91439
91440         * m4/gnu-source.m4: Output to confdefs.h directly.
91441         Suggestion from Akim Demaille.
91442
91443 2000-07-09  Paul Eggert  <eggert@twinsun.com>
91444
91445         The old behavior of quoting `like this' doesn't look good with
91446         newer, ISO-style fonts.  See:
91447         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
91448
91449         Instead, quote "like this" by default.  Let the translator
91450         tailor the locale-specific quoting behavior by providing
91451         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
91452
91453         * lib/quotearg.c (N_): New macro.
91454         (gettext_default): New function.
91455         (quotearg_buffer_restyled): Use
91456         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
91457         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
91458
91459 2000-07-09  Jim Meyering  <meyering@lucent.com>
91460
91461         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
91462         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
91463
91464         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
91465         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
91466
91467 2000-07-09  Jim Meyering  <meyering@lucent.com>
91468
91469         * lib/Most files: Update copyright dates to include 2000.
91470
91471 2000-07-08  Jim Meyering  <meyering@lucent.com>
91472
91473         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
91474         if not defined.
91475         (xgethostname): Remove now-unnecessary #ifdef.
91476         Move declaration of `err' into loop where it's used.
91477
91478 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91479         and Bruno Haible  <haible@clisp.cons.org>
91480
91481         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
91482         only if the test for an object-type mbstate_t fails.  This
91483         prevents us from mistakenly reporting that mbstate_t is a
91484         system object type after we "#define mbstate_t int" to work
91485         around its lack.
91486
91487 2000-07-05  Paul Eggert  <eggert@twinsun.com>
91488         and Bruno Haible  <haible@clisp.cons.org>
91489
91490         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
91491
91492 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91493
91494         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
91495         to strerror_r.
91496         Include <ctype.h> for use of isalpha.
91497
91498 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91499
91500         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
91501         by allocating a larger buffer. Test the gethostname return value for
91502         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
91503         returns an error and ENAMETOOLONG isn't defined.
91504
91505 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
91506
91507         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
91508         dimension.
91509
91510 2000-07-04  Jim Meyering  <meyering@lucent.com>
91511
91512         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
91513         of the deprecated AC_CHECKING.
91514
91515 2000-07-04  Jim Meyering  <meyering@lucent.com>
91516
91517         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
91518         Reported by Bruno Haible.
91519
91520 2000-07-04  Jim Meyering  <meyering@lucent.com>
91521
91522         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
91523         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
91524         lacks mbrtowc.
91525
91526 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91527
91528         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
91529         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
91530
91531 2000-07-03  Paul Eggert  <eggert@twinsun.com>
91532         and Bruno Haible  <haible@clisp.cons.org>
91533
91534         * lib/quotearg.c (mbrtowc):
91535         Assign to *pwc, and return 1 only if result is nonzero.
91536         (iswprint): Use ISPRINT when substituting our own mbrtowc.
91537
91538 2000-07-03  Jim Meyering  <meyering@lucent.com>
91539
91540         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
91541
91542 2000-07-03  Jim Meyering  <meyering@lucent.com>
91543
91544         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
91545         This is necessary to get a definition of e.g., UTMP_FILE on
91546         HP-UX 10.20.
91547         From Bob Proulx.
91548
91549 2000-07-02  Jim Meyering  <meyering@lucent.com>
91550
91551         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
91552
91553         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
91554         AC_LIBOBJ(function_name).
91555         * m4/chown.m4: Likewise.
91556         * m4/fnmatch.m4: Likewise.
91557         * m4/ftruncate.m4: Likewise.
91558         * m4/getgroups.m4: Likewise.
91559         * m4/getline.m4: Likewise.
91560         * m4/group-member.m4: Likewise.
91561         * m4/jm-macros.m4: Likewise.
91562         * m4/lstat.m4: Likewise.
91563         * m4/malloc.m4: Likewise.
91564         * m4/memcmp.m4: Likewise.
91565         * m4/nanosleep.m4: Likewise.
91566         * m4/putenv.m4: Likewise.
91567         * m4/realloc.m4: Likewise.
91568         * m4/regex.m4: Likewise.
91569         * m4/stat.m4: Likewise.
91570         * m4/strftime.m4: Likewise.
91571
91572 2000-07-02  Jim Meyering  <meyering@lucent.com>
91573
91574         * lib/quotearg.c (mbstate_t): Don't define here.
91575
91576 2000-07-02  Jim Meyering  <meyering@lucent.com>
91577
91578         * lib/nanosleep.c (SIGCONT): Define if not already defined.
91579
91580 2000-07-01  Jim Meyering  <meyering@lucent.com>
91581
91582         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
91583
91584 2000-07-01  Jim Meyering  <meyering@lucent.com>
91585
91586         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
91587         problem.
91588
91589 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91590
91591         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
91592         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
91593
91594 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
91595
91596         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
91597         per change in ../m4/ls-mntd-fs.m4.
91598         (read_filesystem_list): Ignore symbolic links.
91599
91600 2000-06-29  Jim Meyering  <meyering@lucent.com>
91601
91602         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
91603         for declaration of strcmp.
91604
91605         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
91606
91607         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
91608         Avoid warning by casting result to `char *' to remove `const'.
91609
91610 2000-06-28  Jim Meyering  <meyering@lucent.com>
91611
91612         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
91613         included by quotearg.c, for which we perform this test.  From
91614         Bruno Haible.
91615
91616 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91617
91618         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
91619         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
91620         <utmpx.h> exists, put readutmp.o into LIBOBJS.
91621
91622 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
91623
91624         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
91625
91626 2000-06-26  Paul Eggert  <eggert@twinsun.com>
91627
91628         savedir now sets errno on failure and invokes xmalloc to get memory.
91629         Fix a couple of other minor bugs while we're at it.
91630
91631         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
91632         (NAMLEN): Remove macro.
91633         (malloc, realloc): Remove decls.
91634         (stpcpy): Likewise.
91635         ("xalloc.h"): Include.
91636         (NAME_SIZE_DEFAULT): New macro.
91637         (savedir): Use xmalloc / xrealloc to allocate memory.
91638         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
91639         Skip "" directory entries.
91640         Use strlen to calculate directory entry length, since the old method
91641         is rarely used these days and isn't worth supporting.
91642         Don't use a pointer after freeing it.
91643         Check for integer overflow when calculating allocation size.
91644         Use memcpy to copy entries, instead of stpcpy.
91645         Set errno properly when returning NULL.
91646         Check for readdir error.
91647
91648 2000-06-26  Jim Meyering  <meyering@lucent.com>
91649
91650         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
91651
91652 2000-06-25  Jim Meyering  <meyering@lucent.com>
91653
91654         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
91655         Linux header bug when _XOPEN_SOURCE is defined to 500.
91656
91657 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91658
91659         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
91660         deficiency.
91661
91662 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
91663
91664         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
91665         Include xalloc.h.
91666         Don't include <stdlib.h>.  Don't declare malloc, realloc.
91667
91668 2000-06-24  Jim Meyering  <meyering@lucent.com>
91669
91670         * m4/strerror_r.m4: Revive this file -- to try out an experimental
91671         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
91672         for which strerror does return char*, but which lacks a conveniently
91673         accessible declaration of the function.  If the compile-test says
91674         strerror_r doesn't work, then resort to a `run'-test that works on
91675         BeOS and segfaults on DEC Unix.
91676
91677 2000-06-24  Jim Meyering  <meyering@lucent.com>
91678
91679         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
91680
91681 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91682
91683         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
91684         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
91685
91686 2000-06-23  Paul Eggert  <eggert@twinsun.com>
91687
91688         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
91689         (mbrtowc, mbstate_t): Define substitutes if
91690         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
91691         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
91692         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
91693
91694 2000-06-23  Jim Meyering  <meyering@lucent.com>
91695
91696         * m4/afs.m4: Add missing AC_MSG_RESULT.
91697         Reported by Bruno Haible.
91698
91699         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
91700         Suggestion from Bruno Haible.
91701
91702 2000-06-23  Jim Meyering  <meyering@lucent.com>
91703
91704         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
91705
91706 2000-06-21  Jim Meyering  <meyering@lucent.com>
91707
91708         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
91709
91710 2000-06-21  Jim Meyering  <meyering@lucent.com>
91711
91712         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
91713         (noinst_HEADERS): Add getstr.h.
91714
91715         * lib/getline.c (getstr): Move into a separate file.
91716         * lib/getstr.c (getstr): New file, extracted from getline.c, with
91717         the following changes: new parameter, delim2; both delim[12]
91718         parameters have type `int', not `char'.  The latter would lose
91719         with 8-bit delimiters.
91720         * lib/getstr.h: New file.
91721
91722 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91723
91724         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
91725         than 1024, return a memory chunk of least possible size, instead
91726         of size PATH_MAX + 2. In the loop, increment the size proportionally.
91727         Use free/xmalloc instead of xrealloc to avoid copying for very long
91728         paths.
91729
91730 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91731
91732         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
91733         the empty string.
91734
91735 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
91736
91737         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
91738         address, not strdup.  Include <stdlib.h> and don't declare free().
91739
91740 2000-06-19  Jim Meyering  <meyering@lucent.com>
91741
91742         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
91743
91744 2000-06-18  Jim Meyering  <meyering@lucent.com>
91745
91746         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
91747
91748         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
91749         `checking whether...' message to be consistent with that of the
91750         lstat test.
91751
91752 2000-06-18  Jim Meyering  <meyering@lucent.com>
91753
91754         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
91755         Besides, these days every porting target provides a mkdir function.
91756
91757         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
91758         needed. (this snippet comes from src/system.h).
91759
91760 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
91761
91762         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
91763
91764 2000-06-15  Paul Eggert  <eggert@twinsun.com>
91765
91766         * lib/human.c (adjust_value): New function.
91767         (human_readable_inexact): Apply rounding style even when
91768         printing approximate values.
91769
91770 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91771
91772         * lib/human.c (human_readable_inexact): Allow an input block
91773         size that is not a multiple of the output block size, and vice versa.
91774         Reported by Piergiorgio Sartor.
91775
91776 2000-06-14  Paul Eggert  <eggert@twinsun.com>
91777
91778         * lib/getdate.y (get_date): Apply relative times after time
91779         zone indicator, not before.  Reported by Todd A. Jacobs.
91780
91781 2000-06-13  Jim Meyering  <meyering@lucent.com>
91782
91783         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
91784
91785         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
91786
91787 2000-06-12  Paul Eggert  <eggert@twinsun.com>
91788
91789         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
91790
91791 2000-06-12  Jim Meyering  <meyering@lucent.com>
91792
91793         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
91794         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
91795         optional argument.
91796         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
91797         the optional argument, `lib'.
91798
91799 2000-06-08  Jim Meyering  <meyering@lucent.com>
91800
91801         * m4/largefile.m4: Remove file (now that it's part of autoconf).
91802
91803 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91804
91805         Rewrite largefile configuration so that we don't need to run
91806         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
91807         AC_CANONICAL_HOST in configure.in -- jmm]
91808
91809         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
91810         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
91811         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
91812         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
91813         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
91814         All uses changed.
91815         Instead of inspecting the output of getconf, try to compile the
91816         test program without and with the macro definition.
91817         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
91818         for getconf.  Instead, check for the needed flags by compiling
91819         test programs.
91820
91821 2000-06-04  Paul Eggert  <eggert@twinsun.com>
91822
91823         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
91824
91825 2000-06-04  Jim Meyering  <meyering@lucent.com>
91826
91827         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
91828         SunOS 4.1.4 for which gid_t is an unsigned type.
91829
91830 2000-06-03  Jim Meyering  <meyering@lucent.com>
91831
91832         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
91833         now that autoconf requires that.
91834
91835         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
91836         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
91837         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
91838
91839 2000-06-03  Jim Meyering  <meyering@lucent.com>
91840
91841         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
91842
91843 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91844
91845         * m4/glibc21.m4: New file.
91846         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
91847
91848 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
91849
91850         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
91851         newer, don't install charset.alias.
91852         * lib/config.charset: Change the Linux/glibc rules so they become empty
91853         on glibc-2.1 or newer.
91854
91855 2000-06-02  Jim Meyering  <meyering@lucent.com>
91856
91857         * lib/mountlist.c: Back out last change.  Instead, do this...
91858         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
91859         me_dummy member using the same `ignore'-testing code.
91860         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
91861         fs_type strings.
91862         From Mark D. Roth.
91863
91864 2000-05-29  Jim Meyering  <meyering@lucent.com>
91865
91866         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
91867         mounts with the `ignore' attribute.  Based on a patch from
91868         Mark D. Roth.
91869
91870 2000-05-28  Jim Meyering  <meyering@lucent.com>
91871
91872         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
91873         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91874         * m4/stat.m4: Likewise.
91875         * m4/lstat.m4: Likewise.
91876         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
91877
91878         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
91879         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
91880
91881 2000-05-26  Jim Meyering  <meyering@lucent.com>
91882
91883         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
91884
91885 2000-05-24  Jim Meyering  <meyering@lucent.com>
91886
91887         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
91888         autoconf requires that.
91889         * m4/lib-check.m4: Likewise.
91890         * m4/jm-macros.m4: Likewise.
91891         * m4/strftime.m4: Likewise.
91892
91893         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
91894         AC_CHECK_DECLS, now that autoconf requires that.
91895
91896 2000-05-22  Jim Meyering  <meyering@lucent.com>
91897
91898         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91899         * m4/lstat.m4: Likewise.
91900
91901 2000-05-22  Jim Meyering  <meyering@lucent.com>
91902
91903         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
91904
91905 2000-05-20  Jim Meyering  <meyering@lucent.com>
91906
91907         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
91908         (jm_PREREQ): Use it.
91909
91910 2000-05-18  Jim Meyering  <meyering@lucent.com>
91911
91912         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
91913         back, too, since it may have been modified by allocate_entry.
91914         (hash_delete): Rewrite to use neither the assignment operator
91915         nor the comma operator in an if-expression.
91916
91917 2000-05-15  Paul Eggert  <eggert@twinsun.com>
91918
91919         * lib/closeout.c:
91920         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
91921         Remove; no longer needed.
91922         "quotearg.h": Add include.
91923         (file_name): Do not bother to explicitly initialize to NULL; it's less
91924         efficient on some hosts.
91925         (close_stdout_status): Remove test as to whether stdout was already
91926         closed; it breaks for the case "echo x | sort >&-".
91927         Quote file name colons.
91928         Do not assume that _("write error") lacks format strings.
91929
91930 2000-05-15  Jim Meyering  <meyering@lucent.com>
91931
91932         * lib/version-etc.c (version_etc_copyright): Update the copyright
91933         string used in all --version output.
91934
91935 2000-05-14  Jim Meyering  <meyering@lucent.com>
91936
91937         * lib/closeout.c (close_stdout_set_file_name): New function.
91938         (close_stdout_status): Use new file-scoped global.
91939         Return right away if fstat says the stdout file descriptor is invalid.
91940         * lib/closeout.h (close_stdout_set_file_name): Declare.
91941
91942 2000-05-10  Jim Meyering  <meyering@lucent.com>
91943
91944         * lib/closeout.c [default_exit_status]: New file-scoped variable.
91945         (close_stdout_set_status): New function.
91946         * lib/closeout.h (close_stdout_set_status): Declare.
91947
91948 2000-05-09  Jim Meyering  <meyering@lucent.com>
91949
91950         * m4/gettext.m4: Rename this...
91951         * m4/libintl.m4: ...to this.
91952
91953 2000-05-08  Jim Meyering  <meyering@lucent.com>
91954
91955         * lib/long-options.c: Don't include closeout.h.
91956         (parse_long_options): Don't call close_stdout for --version.
91957
91958 2000-05-06  Paul Eggert  <eggert@twinsun.com>
91959
91960         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
91961         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
91962         2.1.3 bug.  This avoids a clash when files like regex.c define
91963         _GNU_SOURCE.
91964
91965 2000-05-06  Jim Meyering  <meyering@lucent.com>
91966
91967         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91968         (AC_REPLACE_FUNCS): Add strnlen.
91969
91970         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91971         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91972
91973         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91974         AC_SEARCH_LIBS call for nanosleep.
91975         (LIB_NANOSLEEP): Set and AC_SUBST.
91976
91977 2000-05-06  Jim Meyering  <meyering@lucent.com>
91978
91979         * lib/strnlen.c: Undefine __strnlen and strnlen.
91980         [!weak_alias]: Define __strnlen to strnlen.
91981
91982         * lib/atexit.c: New file, from libiberty.
91983
91984 2000-05-06  Jim Meyering  <meyering@lucent.com>
91985
91986         * lib/closeout.c (close_stdout_status): Also check for errors on the
91987         stderr stream.
91988
91989 2000-05-05  Jim Meyering  <meyering@lucent.com>
91990
91991         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91992         AC_SEARCH_LIBS call for clock_gettime.
91993         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91994
91995         * m4/search-libs.m4: Update from autoconf.
91996
91997         su doesn't work on Solaris 2.6.
91998         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91999         <shadow.h>.  Reported by Dragos Harabor.
92000
92001 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92002
92003         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92004         memcpy instead of xmalloc, xrealloc, path_concat.
92005         (locale_charset): Treat empty environment variables as absent.
92006         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92007
92008 2000-05-04  Jim Meyering  <meyering@lucent.com>
92009
92010         * lib/getopt.c: Update from glibc.
92011         * lib/obstack.c: Likewise.
92012         * lib/obstack.h: Likewise.
92013         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92014         file
92015
92016         * lib/regex.h: Likewise.
92017         * lib/strndup.c: Likewise.
92018         * lib/strnlen.c: New file, from glibc.
92019
92020 2000-05-03  Jim Meyering  <meyering@lucent.com>
92021
92022         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92023
92024 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92025
92026         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92027         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92028         compile-time test, rather than inspecting host and OS, to
92029         decide whether to define _LARGEFILE_SOURCE.
92030
92031 2000-05-01  Jim Meyering  <meyering@lucent.com>
92032
92033         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92034
92035         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92036         Based on a patch from Bruno Haible.
92037
92038 2000-05-01  Jim Meyering  <meyering@lucent.com>
92039
92040         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92041
92042 2000-04-29  Jim Meyering  <meyering@lucent.com>
92043
92044         * lib/path-concat.c: Declare strdup only if it's not defined.
92045         * lib/canon-host.c: Likewise.
92046
92047 2000-04-28  Jim Meyering  <meyering@lucent.com>
92048
92049         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92050         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92051         is included first, then limits.h is included by locale.h by libintl.h.
92052         From John David Anglin.
92053
92054 2000-04-25  Jim Meyering  <meyering@lucent.com>
92055
92056         * lib/makepath.c (S_IRWXUGO): Define.
92057         (make_path): Always perform explicit chmod if MODE specifies any
92058         of the `special' permission bits.  Prompted by a bug report against
92059         install from Mate Wierdl and Joost van Baal.
92060
92061 2000-04-18  Jim Meyering  <meyering@lucent.com>
92062
92063         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92064         (jm_PREREQ): Use it.
92065
92066 2000-04-18  Jim Meyering  <meyering@lucent.com>
92067
92068         * lib/README: New file.
92069
92070         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92071         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92072
92073 2000-04-17  Jim Meyering  <meyering@lucent.com>
92074
92075         Get it right :-)
92076         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92077         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92078         Suggestion from Akim Demaille.
92079
92080 2000-04-17  Jim Meyering  <meyering@lucent.com>
92081
92082         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92083         the definition of it to rpl_strftime also defined-away the system's
92084         declaration.
92085
92086 2000-04-15  Jim Meyering  <meyering@lucent.com>
92087
92088         Use `C' to denote so-called `contiguous' files, the same way
92089         that tar does.
92090         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92091         (ftypelet): Use S_ISCTG.
92092         From Michael Deutschmann.
92093
92094 2000-04-14  Jim Meyering  <meyering@lucent.com>
92095
92096         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92097         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92098         clobbered.
92099
92100 2000-04-14  Jim Meyering  <meyering@lucent.com>
92101
92102         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92103
92104 2000-04-13  Jim Meyering  <meyering@lucent.com>
92105
92106         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92107         AH_VERBATIM to insert required #ifndef into config.h.in.
92108         Suggestion from Akim Demaille.
92109
92110 2000-04-12  Jim Meyering  <meyering@lucent.com>
92111
92112         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92113         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92114         Christian Krackowizer.
92115
92116         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92117         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92118         (AC_SYS_LARGEFILE): Require.
92119         (AM_C_PROTOTYPES): Require.
92120
92121 2000-04-08  Jim Meyering  <meyering@lucent.com>
92122
92123         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92124         names don't conflict.  Reported by Eli Zaretskii.
92125
92126 2000-04-07  Jim Meyering  <meyering@lucent.com>
92127
92128         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92129         sys/types.h, to work around system header problems on AIX 3.2.5.
92130         From Bruno Haible.
92131
92132 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92133
92134         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92135         bug.  Deal with the different error behavior of Irix iconv.
92136
92137 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92138
92139         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92140         IRIX if the installer said otherwise.
92141
92142 2000-04-05  Jim Meyering  <meyering@lucent.com>
92143
92144         Portability tweaks required for ultrix4.3.
92145         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92146         (jm_CHECK_DECLS): Add getutent to the list of functions.
92147         (_jm_DECL_HEADERS): Add utmpx.h.
92148         From John David Anglin.
92149
92150         * m4/strftime.m4: Back out the 2000-04-02 change.
92151         Instead of that change, simply undefine putenv in the test program.
92152
92153 2000-04-05  Jim Meyering  <meyering@lucent.com>
92154
92155         Portability tweaks required for ultrix4.3.
92156         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92157         getutent.
92158         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92159         * lib/canon-host.c: Declare strdup.
92160         * lib/path-concat.c: Likewise.
92161         From John David Anglin.
92162
92163 2000-04-04  Jim Meyering  <meyering@lucent.com>
92164
92165         Be more DOS 8.3-friendly.
92166         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92167         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92168         * lib/Makefile.am: Reflect renaming.
92169         Reported by Eli Zaretskii.
92170
92171         Use a temporary file name that won't clash with `charset.alias'
92172         in the DOS 8.3 name space.
92173         * lib/Makefile.am (charset_tmp): Define.
92174         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92175         (uninstall-local): Likewise.
92176         Reported by Eli Zaretskii.
92177
92178 2000-04-03  Jim Meyering  <meyering@lucent.com>
92179
92180         * m4/gettext.m4: Fix typo in comment.
92181
92182         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92183         textutils/configure.in).  Suggestion from Paul Eggert.
92184         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92185
92186 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92187
92188         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92189         variable in the shell rather than using putenv, which isn't
92190         portable.  This avoids the configure-time inter-test dependency
92191         on the potentially-renamed putenv function.
92192
92193 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92194
92195         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92196         before checking struct stat.st_blksize, so that
92197         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92198
92199 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92200
92201         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92202         since strftime.c uses HAVE_STRFTIME to decide whether to use
92203         the underlying strftime.
92204
92205 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92206
92207         * lib/time/strftime.c (my_strftime): Make sure we call the system
92208         strftime, not ourselves, when invoking the underlying strftime.
92209
92210 2000-03-24  Jim Meyering  <meyering@lucent.com>
92211
92212         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92213         (charset_alias): Define.
92214         (install-exec-local): Factor out common code.
92215         (uninstall-local): Split lines longer than 80.
92216         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92217         (SUFFIXES): Define.
92218         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92219         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92220
92221 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92222
92223         * lib/config.charset: Output a line containing "Packages using this
92224         file".
92225         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92226         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92227         ref-del.sed): New rules.
92228
92229 2000-03-17  Jim Meyering  <meyering@lucent.com>
92230
92231         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92232         Otherwise, include <strings.h>
92233
92234 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92235
92236         * lib/unicodeio.c (utf8_wctomb): New function.
92237         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92238         format instead of in UCS-4 with platform dependent endianness.
92239
92240 2000-03-10  Jim Meyering  <meyering@lucent.com>
92241
92242         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92243         From Marco Franzen.
92244
92245 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92246
92247         * lib/savedir.c (savedir): Work even if directory size is
92248         negative; this can happen with some screwy NFS configurations.
92249
92250 2000-03-06  Jim Meyering  <meyering@lucent.com>
92251
92252         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92253         if it's NULL (because we ran out of memory).  From Bruno Haible.
92254
92255 2000-03-05  Jim Meyering  <meyering@lucent.com>
92256
92257         * lib/localcharset.c ("path-concat.h"): Include.
92258         (get_charset_aliases): Use path_concat instead of ANSI string
92259         concatenation.
92260
92261         * lib/unicodeio.h (PARAMS): Define.
92262         Use it to guard prototype.
92263
92264 2000-03-04  Jim Meyering  <meyering@lucent.com>
92265
92266         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92267         for lib/localcharset.c.
92268
92269 2000-03-04  Jim Meyering  <meyering@lucent.com>
92270
92271         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92272         installing into it.
92273         (uninstall-local): Uncomment this rule so `make distcheck' works
92274         once again.
92275
92276         * lib/unicodeio.c (<errno.h>): Include it.
92277         (errno): Declare if not defined.
92278
92279         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92280
92281         * lib/config.charset: New version, incorporating remarks from a linux
92282         i18n mailing list.  From Bruno Haible.
92283
92284 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92285
92286         * m4/codeset.m4: New file.
92287         * m4/iconv.m4: New file.
92288         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92289
92290 2000-03-03  Jim Meyering  <meyering@lucent.com>
92291
92292         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92293
92294 2000-03-02  Jim Meyering  <meyering@lucent.com>
92295
92296         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92297         the messages come out on separate lines.
92298
92299         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92300         rather than jm_CHECK_DECLARATIONS.
92301         * m4/decl.m4: Remove now-unused file.
92302
92303         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92304         geteuid.
92305
92306 2000-03-02  Jim Meyering  <meyering@lucent.com>
92307
92308         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92309
92310 2000-03-01  Jim Meyering  <meyering@lucent.com>
92311
92312         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92313         * lib/unicodeio.c: Likewise.
92314
92315 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92316
92317         * lib/config.charset: New file.
92318         * lib/localcharset.c: New file.
92319         * lib/unicodeio.h, lib/unicodeio.c: New files.
92320         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92321         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92322         (noinst_HEADERS): Add unicodeio.h.
92323         (all-local, install-exec-local, charset.alias): New targets.
92324
92325 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92326
92327         * lib/quotearg.c (ALERT_CHAR): New macro.
92328         (quotearg_buffer_restyled): Use it.
92329
92330 2000-02-27  Jim Meyering  <meyering@lucent.com>
92331
92332         * m4/check-decl.m4: Add getenv to the list.
92333
92334 2000-02-27  Jim Meyering  <meyering@lucent.com>
92335
92336         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
92337         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
92338
92339         * lib/backupfile.c: Guard inclusion of stdlib.h with
92340         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
92341         Declare malloc if needed.
92342
92343         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
92344         `#ifndef HAVE_DECL..'
92345         now that autoconf always defines the HAVE_DECL_ symbols.
92346         * lib/human.c: Likewise.
92347         * lib/same.c: Likewise.
92348         * lib/strtoumax.c: Likewise.
92349
92350         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
92351         declaration check was not run.
92352         * lib/hash.c: Likewise.
92353         * lib/human.c: Likewise.
92354         * lib/same.c: Likewise.
92355         * lib/strtoumax.c: Likewise.
92356
92357         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
92358         `.', then first look up the entire `.'-containing string as a login
92359         name.
92360
92361 2000-02-23  Jim Meyering  <meyering@lucent.com>
92362
92363         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
92364         in place of my hack.
92365
92366 2000-02-18  Paul Eggert  <eggert@twinsun.com>
92367
92368         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
92369         (textint): New typedef.
92370         (parser_control): Member year changed from int to textint.
92371         All uses changed.
92372         (YYSTYPE): Removed; replaced by %union with int and textint members.
92373         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
92374         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
92375         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
92376         (tSNUMBER, tUNUMBER): Now of type <textintval>.
92377         (date, number, to_year): Use width of number in digits, not its value,
92378         to determine whether it's a 2-digit year, or a 2-digit time.
92379         (yylex): Store number of digits of numeric tokens.
92380         Reported by John Kendall.
92381
92382         (parser_control): Changed from struct parser_control to typedef (for
92383         consistency).  All uses changed.
92384
92385         (tID): Removed; not used.
92386         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
92387
92388 2000-02-14  Paul Eggert  <eggert@twinsun.com>
92389
92390         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
92391         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
92392
92393 2000-02-12  Jim Meyering  <meyering@lucent.com>
92394
92395         * lib/userspec.c (ISDIGIT): Define it.
92396         (isdigit): Remove definition.
92397         (is_number): Use ISDIGIT, not isdigit.
92398         <libintl.h>: Include.
92399         (_ and N_): Define.
92400         (parse_user_spec): Mark translatable strings.
92401
92402 2000-02-10  Jim Meyering  <meyering@lucent.com>
92403
92404         With these changes, nanosleep.[ch] are finally enough like the other
92405         lib/* replacement files to compile on a few more losing systems.
92406
92407         * lib/nanosleep.h: Don't include config.h.
92408         Remove prototype from declaration of nanosleep.
92409         (PARAMS): Remove now-unneeded definition.
92410         * lib/nanosleep.c: #undef nanosleep.
92411         (rpl_nanosleep): Rename from nanosleep.
92412
92413 2000-02-10  Jim Meyering  <meyering@lucent.com>
92414
92415         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
92416         gnu_nanosleep to rpl_nanosleep.
92417
92418 2000-02-09  Jim Meyering  <meyering@lucent.com>
92419
92420         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
92421         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
92422
92423 2000-02-08  Akim Demaille  <akim@epita.fr>
92424
92425         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
92426         `[' and `]' and remove uses of `changequote'.
92427         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
92428         (AC_SYS_LARGEFILE): Likewise.
92429         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
92430         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
92431         of changequote.
92432         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
92433         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
92434         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
92435         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
92436
92437 2000-02-05  Jim Meyering  <meyering@lucent.com>
92438
92439         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
92440         Remove explicit use of AC_HEADER_TIME.  It is required by
92441         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
92442         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
92443         in autoconf whereby the expansion of the latter ended up preceding
92444         the expansion of its prerequisite, AC_HEADER_TIME.
92445         Reported by Volker Borchert.
92446
92447 2000-02-03  Jim Meyering  <meyering@lucent.com>
92448
92449         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
92450
92451 2000-02-03  Jim Meyering  <meyering@lucent.com>
92452
92453         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
92454         rather than with `#if HAVE_UTMPNAME'.
92455
92456 2000-02-02  Jim Meyering  <meyering@lucent.com>
92457
92458         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
92459         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
92460         Reported by Eli Zaretskii.
92461
92462 2000-02-01  Jim Meyering  <meyering@lucent.com>
92463
92464         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
92465
92466 2000-01-31  Jim Meyering  <meyering@lucent.com>
92467
92468         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
92469         functions.  Add the time.h and sys/time.h headers along with the
92470         AC_REQUIRE'ment of AC_HEADER_TIME.
92471
92472 2000-01-31  Jim Meyering  <meyering@lucent.com>
92473
92474         * lib/nanosleep.h (nanosleep): Guard declaration with
92475         `#if ! HAVE_DECL_NANOSLEEP'.
92476         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
92477         the declaration in that vendor's sys/timers.h.
92478         Reported by Christian Krackowizer.
92479
92480         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
92481         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
92482         (ISPRINT): Likewise.
92483         Reported by Tom Tromey.
92484
92485 2000-01-30  Jim Meyering  <meyering@lucent.com>
92486
92487         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
92488
92489         * m4/prereq.m4 (utmp_includes): Define.
92490         Check for ut_user and ut_name members in both struct utmpx
92491         and struct utmp.
92492
92493 2000-01-30  Jim Meyering  <meyering@lucent.com>
92494
92495         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
92496         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
92497         header files where only utmpx.ut_user is declared.
92498
92499         * lib/readutmp.h (UT_USER): Define.
92500
92501 2000-01-29  Jim Meyering  <meyering@lucent.com>
92502
92503         * m4/lib-check.m4: New file containing library-related checks from
92504         fileutils and sh-utils (textutils had none).
92505
92506 2000-01-28  Jim Meyering  <meyering@lucent.com>
92507
92508         * m4/perl.m4: Change format of warning message to look more like that
92509         from the missing script.  Suggestion from François Pinard.
92510
92511 2000-01-25  Jim Meyering  <meyering@lucent.com>
92512
92513         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
92514         well as time.h in the compile check.
92515         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
92516         Fix typo in cross-compiling case: s/yes/no/.
92517
92518 2000-01-23  Jim Meyering  <meyering@lucent.com>
92519
92520         * m4/jm-macros.m4: Move df-related tests here from
92521         fileutils/configure.in
92522
92523         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
92524         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
92525
92526         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
92527         s/space/ac_fsusage_space/.
92528         (jm_FILE_SYSTEM_USAGE): Take two parameters.
92529
92530         * m4/ftruncate.m4: New file (derived from part of
92531         fileutils/configure.in).
92532         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
92533         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
92534
92535         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
92536         AC_SUBST these here, rather than just in sh-util/configure.in, so
92537         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
92538         all the same.
92539         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
92540         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
92541         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
92542         (AC_SUBST(POW_LIBM)): Likewise.
92543         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
92544
92545 2000-01-23  Jim Meyering  <meyering@lucent.com>
92546
92547         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
92548         obstack.c.
92549
92550 2000-01-22  Jim Meyering  <meyering@lucent.com>
92551
92552         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
92553
92554         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
92555
92556         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
92557         configure.in
92558         (AC_CHECK_HEADERS): Likewise for sh-utils.
92559         (AC_CHECK_HEADERS): Likewise for textutils.
92560         Merge the three lists of headers.
92561
92562         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
92563         from fileutils' configure.in.
92564
92565         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
92566         code. Moved tests into their own function (_jm_DECL_HEADERS) in
92567         check-decl.m4.
92568
92569         * m4/check-decl.m4: Use #if rather than #ifdef.
92570         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
92571         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
92572         (_jm_DECL_HEADERS): Define new function.
92573         (jm_CHECK_DECLARATIONS): Require it.
92574
92575 2000-01-22  Jim Meyering  <meyering@lucent.com>
92576
92577         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
92578         [! HAVE_DECL_STRTOULL]: Declare strtoull.
92579         Required for some AIX systems.  Reported by Christian Krackowizer.
92580         [TESTING] (main): New function.
92581
92582         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
92583         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
92584         letters.
92585
92586         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
92587         iswprint.
92588
92589         * lib/strverscmp.c (ISDIGIT): Define.
92590         (strverscmp): Use ISDIGIT, not isdigit.
92591
92592 2000-01-19  Jim Meyering  <meyering@lucent.com>
92593
92594         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
92595         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
92596         defines `struct timespec' in <sys/time.h>
92597
92598         * m4/c-bs-a.m4: Remove uses of changequote altogether.
92599         Thanks to Akim for explaining.
92600
92601 2000-01-17  Paul Eggert  <eggert@twinsun.com>
92602
92603         * lib/nanosleep.c (nanosleep):
92604         Don't use SA_INTERRUPT to decide whether to call sigaction, as
92605         POSIX.1 doesn't require SA_INTERRUPT and some systems
92606         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
92607         it's been part of POSIX.1 since day 1 (in 1988).
92608
92609 2000-01-17  Jim Meyering  <meyering@lucent.com>
92610
92611         * lib/interlock: Remove unused file.  Reported by François Pinard.
92612
92613 2000-01-16  Paul Eggert  <eggert@twinsun.com>
92614
92615         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
92616         alert, backslash, formfeed, and vertical tab unnecessarily in
92617         shell quoting style.
92618
92619 2000-01-16  Jim Meyering  <meyering@lucent.com>
92620
92621         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
92622         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
92623         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
92624         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
92625
92626 2000-01-16  Jim Meyering  <meyering@lucent.com>
92627
92628         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
92629         because the latter didn't work.
92630
92631 2000-01-15  Jim Meyering  <meyering@lucent.com>
92632
92633         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
92634         (AC_REPLACE_FUNCS): Add memcpy and memset.
92635         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
92636         Add strpbrk.
92637         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
92638
92639 2000-01-12  Jim Meyering  <meyering@lucent.com>
92640
92641         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
92642         (jm_PREREQ): Use it.
92643         (jm_PREREQ_READUTMP): New macro.
92644         (jm_PREREQ): Use it.
92645
92646 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92647
92648         Quote multibyte characters correctly.
92649         * m4/c-bs-a.m4: New file.
92650         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
92651         (jm_PREREQ): Use it.
92652
92653 2000-01-11  Paul Eggert  <eggert@twinsun.com>
92654
92655         * m4/uintmax_t.m4: Port to autoconf 2.13.
92656
92657 2000-01-08  Jim Meyering  <meyering@ascend.com>
92658
92659         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
92660         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
92661
92662 2000-01-04  Jim Meyering  <meyering@ascend.com>
92663
92664         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
92665         jm_STRUCT_DIRENT_D_TYPE.
92666         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
92667         jm_STRUCT_DIRENT_D_INO.
92668         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
92669         jm_STRUCT_UTIMBUF.
92670         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
92671         renamings.
92672         * m4/utime.m4: Likewise.
92673
92674         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
92675         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
92676
92677 2000-01-03  Paul Eggert  <eggert@twinsun.com>
92678
92679         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
92680         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
92681
92682 2000-01-02  Jim Meyering  <meyering@ascend.com>
92683
92684         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
92685         remember if this is necessary.
92686
92687 1999-12-26  Jim Meyering  <meyering@ascend.com>
92688
92689         * m4/jm-macros.m4: Use it here.
92690         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
92691
92692 1999-12-23  Jim Meyering  <meyering@ascend.com>
92693
92694         * m4/jm-macros.m4: Check for clock_gettime (moved from
92695         fileutils/configure.in)
92696         Check for gettimeofday.
92697
92698 1999-12-20  Jim Meyering  <meyering@ascend.com>
92699
92700         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
92701         autoconf-2.14a-1999-12-20.
92702
92703 1999-12-19  Jim Meyering  <meyering@ascend.com>
92704
92705         * m4/lstat-slash.m4: New file.
92706         * m4/jm-macros.m4: Use the new macro:
92707         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92708
92709 1999-12-07  Jim Meyering  <meyering@ascend.com>
92710
92711         * m4/perl.m4: Require that File::Compare be available, too.
92712         Too many systems seem to lack it.
92713
92714         * m4/strftime.m4: Add checks for most of the cpp macros tested in
92715         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
92716
92717 1999-11-18  Paul Eggert  <eggert@twinsun.com>
92718
92719         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
92720         problem with the QNX 4.25 shell, which doesn't propagate exit
92721         status of failed commands inside shell assignments.
92722
92723 1999-11-17  Jim Meyering  <meyering@ascend.com>
92724
92725         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
92726
92727 1999-11-07  Jim Meyering  <meyering@ascend.com>
92728
92729         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
92730
92731 1999-11-06  Jim Meyering  <meyering@ascend.com>
92732
92733         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
92734         * m4/jm-macros.m4 (jm_MACROS): Use it here.
92735
92736 1999-11-05  Jim Meyering  <meyering@ascend.com>
92737
92738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
92739         configure.in of textutils, fileutils, and sh-utils into this one
92740         (shared between those packages) file.
92741         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
92742         AC_STRUCT_ST_BLKSIZE.
92743
92744 1999-11-03  Jim Meyering  <meyering@ascend.com>
92745
92746         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
92747         of AC_CHECK_TYPE checks includes unistd.h.
92748         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
92749         Suggestion from Akim Demaille.
92750
92751 1999-10-30  Jim Meyering  <meyering@ascend.com>
92752
92753         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
92754         m4-quoted string.
92755         * m4/ls-mntd-fs.m4: Likewise.
92756         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
92757         * m4/jm-winsz1.m4: Likewise.
92758
92759         * m4/const.m4: Remove file, since the fix made it into the experimental
92760         version of autoconf.
92761         * m4/mktime.m4: Likewise.
92762
92763         * m4/check-type.m4: Remove file, now that the latest version of
92764         AC_CHECK_TYPE takes a third arg to specify additional #includes.
92765
92766         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
92767         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
92768         AC_CHECK_TYPE.
92769
92770 1999-10-04  Jim Meyering  <meyering@ascend.com>
92771
92772         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
92773
92774 1999-09-22  Paul Eggert  <eggert@twinsun.com>
92775
92776         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
92777         2.95.1 bug with HP-UX 10.20.
92778
92779 1999-09-17  Jim Meyering  <meyering@ascend.com>
92780
92781         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
92782         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
92783         due to missing strdup (against sh-utils-2.0).
92784
92785 1999-08-29  Jim Meyering  <meyering@ascend.com>
92786
92787         * m4/jm-macros.m4: Require jm_BISON.
92788         * m4/bison.m4: New file.
92789
92790 1999-08-17  Paul Eggert  <eggert@twinsun.com>
92791
92792         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
92793         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
92794
92795 1999-08-05  Jim Meyering  <meyering@ascend.com>
92796
92797         * m4/getline.m4: Rename test file from conftestdata to conftest.data
92798         to avoid conflicts with `conftest' on 8+3 filesystems.
92799         Suggestion from Eli Zaretskii.
92800
92801 1999-08-04  Jim Meyering  <meyering@ascend.com>
92802
92803         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
92804         fileutils and sh-utils (textutils's getline test was inadequate).
92805         (AM_FUNC_GETLINE): Run this test.
92806         (AC_CHECK_FUNCS): Check for getdelim.
92807         Reported by Bob Proulx.
92808
92809 1999-08-02  Jim Meyering  <meyering@ascend.com>
92810
92811         * m4/jm-macros.m4: Add a comment.
92812
92813 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92814
92815         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
92816         <inttypes.h> defines strtoumax as a macro (and not as a
92817         function).
92818
92819 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92820
92821         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
92822         that we can shift, multiply and divide unsigned long long
92823         values; Ultrix cc can't do it.
92824
92825 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92826
92827         * m4/mktime.m4: New file, which is a preview of what should appear
92828         in the next public autoconf release.
92829
92830 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92831
92832         * m4/lfs.m4: Remove this file.
92833         * m4/largefile.m4: New file.  It contains the old contents of
92834         lfs.m4, except that all names with prefix AC_LFS have been
92835         changed to use the prefix AC_SYS_LARGEFILE instead, to be
92836         compatible with future autoconf versions.  Also, some minor m4
92837         quoting problems have been fixed.
92838
92839 1999-08-01  Paul Eggert  <eggert@twinsun.com>
92840
92841         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
92842         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
92843         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
92844         and simplify the shell code.
92845
92846 1999-08-01  Jim Meyering  <meyering@ascend.com>
92847
92848         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
92849         m4.
92850
92851 1999-07-20  Jim Meyering  <meyering@ascend.com>
92852
92853         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
92854
92855 1999-07-15  Jim Meyering  <meyering@ascend.com>
92856
92857         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
92858
92859 1999-05-22  Jim Meyering  <meyering@ascend.com>
92860
92861         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
92862
92863 1999-05-20  Jim Meyering  <meyering@ascend.com>
92864
92865         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
92866         Add a colon after each `then' in case $4 is empty.
92867
92868 1999-05-16  Jim Meyering  <meyering@ascend.com>
92869
92870         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
92871
92872 1999-05-10  Jim Meyering  <meyering@ascend.com>
92873
92874         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
92875
92876         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
92877         AC_FUNC_MKTIME.
92878
92879 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
92880
92881         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
92882
92883 1999-05-04  Paul Eggert  <eggert@twinsun.com>
92884
92885         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
92886         not CPPFLAGS, so that linking works correctly in IRIX.
92887
92888 1999-04-30  Paul Eggert  <eggert@twinsun.com>
92889
92890         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
92891
92892 1999-04-20  Paul Eggert  <eggert@twinsun.com>
92893
92894         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
92895         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
92896         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
92897         jm_AC_TYPE_UNSIGNED_LONG_LONG.
92898         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
92899
92900         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
92901
92902 1999-04-20  Jim Meyering  <meyering@ascend.com>
92903
92904         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
92905         AC_REPLACE xstroull if necessary.  From Paul Eggert.
92906         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
92907
92908 1999-04-18  Jim Meyering  <meyering@ascend.com>
92909
92910         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
92911         * m4/jm-macros.m4: Use it.
92912
92913 1999-04-06  Jim Meyering  <meyering@ascend.com>
92914
92915         * m4/strftime.m4: Remove test for %f.
92916
92917 1999-03-29  Jim Meyering  <meyering@ascend.com>
92918
92919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
92920         superset of the AC_TYPE_* checks in the textutils, fileutils,
92921         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
92922         AC_TYPE_PID_T.
92923
92924 1999-03-28  Jim Meyering  <meyering@ascend.com>
92925
92926         * m4/jm-macros.m4: Define GNU_PACKAGE here.
92927         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
92928         replaced e.g., in the *.sh files of the sh-utils.
92929
92930 1999-03-20  Jim Meyering  <meyering@ascend.com>
92931
92932         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
92933         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
92934         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
92935
92936 1999-03-19  Jim Meyering  <meyering@ascend.com>
92937
92938         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
92939
92940 1999-03-12  Jim Meyering  <meyering@ascend.com>
92941
92942         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
92943
92944 1999-03-07  Jim Meyering  <meyering@ascend.com>
92945
92946         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
92947         declared.
92948
92949 1999-02-17  Jim Meyering  <meyering@ascend.com>
92950
92951         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
92952         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
92953
92954 1999-02-07  Jim Meyering  <meyering@ascend.com>
92955
92956         * m4/group-member.m4: New file -- extracted from sh-utils'
92957         configure.in.
92958
92959         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
92960         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
92961
92962 1999-02-06  Jim Meyering  <meyering@ascend.com>
92963
92964         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92965         * m4/fnmatch.m4: Likewise.
92966         * m4/getgroups.m4: Likewise.
92967         * m4/lstat.m4: Likewise.
92968         * m4/malloc.m4: Likewise.
92969         * m4/putenv.m4: Likewise.
92970         * m4/realloc.m4: Likewise.
92971         * m4/regex.m4: Likewise.
92972         * m4/stat.m4: Likewise.
92973         * m4/strftime.m4: Likewise.
92974         Suggestion from Alain Magloire.
92975
92976         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92977         * m4/fnmatch.m4: Likewise.
92978         * m4/getgroups.m4: Likewise.
92979         * m4/getline.m4: Likewise.
92980         * m4/lstat.m4: Likewise.
92981         * m4/malloc.m4: Likewise.
92982         * m4/memcmp.m4: Likewise.
92983         * m4/putenv.m4: Likewise.
92984         * m4/realloc.m4: Likewise.
92985         * m4/regex.m4: Likewise.
92986         * m4/stat.m4: Likewise.
92987         * m4/strftime.m4: Likewise.
92988         Suggestion from Alain Magloire.
92989
92990         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92991         an argument.
92992
92993         * m4/regex.m4: Add a run-time Test for proper operation of
92994         re_compile_pattern.
92995
92996 1999-01-31  Jim Meyering  <meyering@ascend.com>
92997
92998         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92999
93000 1999-01-30  Jim Meyering  <meyering@ascend.com>
93001
93002         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93003
93004         * m4/jm-mktime.m4: Make this a wrapper around the official
93005         AM_FUNC_MKTIME rather than my private copy, now that the official one
93006         is up to date.
93007         * m4/mktime.m4: Remove file.
93008
93009         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93010         * m4/uptime.m4: Likewise.
93011         * m4/uintmax_t.m4: Likewise.
93012
93013 1999-01-28  Jim Meyering  <meyering@ascend.com>
93014
93015         * m4/jm-macros.m4: Use jm_AFS.
93016         * m4/afs.m4: New file (from fileutils' configure.in).
93017
93018         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93019         * m4/chown.m4: Likewise.
93020         * m4/d-ino.m4: Likewise.
93021         * m4/d-type.m4: Likewise.
93022         * m4/fnmatch.m4: Likewise.
93023         * m4/getgroups.m4: Likewise.
93024         * m4/gettext.m4: Likewise.
93025         * m4/jm-mktime.m4: Likewise.
93026         * m4/jm-winsz2.m4: Likewise.
93027         * m4/lcmessage.m4: Likewise.
93028         * m4/ls-mntd-fs.m4: Likewise.
93029         * m4/malloc.m4: Likewise.
93030         * m4/memcmp.m4: Likewise.
93031         * m4/putenv.m4: Likewise.
93032         * m4/realloc.m4: Likewise.
93033         * m4/st_mtim.m4: Likewise.
93034         * m4/strftime.m4: Likewise.
93035
93036 1999-01-16  Jim Meyering  <meyering@ascend.com>
93037
93038         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93039         (ARGMATCH_DIE_DECL): Define.
93040
93041 1999-01-12  Jim Meyering  <meyering@ascend.com>
93042
93043         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93044         Reported by Lars Hecking.
93045
93046 1999-01-10  Jim Meyering  <meyering@ascend.com>
93047
93048         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93049         gross kludge.
93050         * m4/inttypes_h.m4: Likewise.
93051         * m4/lstat.m4: Likewise.
93052         * m4/malloc.m4: Likewise.
93053         * m4/readdir.m4: Likewise.
93054         * m4/realloc.m4: Likewise.
93055         * m4/st_dm_mode.m4: Likewise.
93056         * m4/stat.m4: Likewise.
93057         * m4/utimbuf.m4: Likewise.
93058         * m4/utimes.m4: Likewise.
93059
93060         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93061         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93062         comments in config.h.in are meaningful.
93063
93064         * m4/jm-macros.m4: Require autoconf-2.13 here.
93065
93066         * m4/regex.m4: By default, don't use the included regex.c on systems
93067         with glibc 2.  Suggestion from Uli Drepper.
93068
93069 1999-01-02  Jim Meyering  <meyering@ascend.com>
93070
93071         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93072
93073 1998-12-18  Jim Meyering  <meyering@ascend.com>
93074
93075         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93076         Based on a suggestion from Lars Hecking.
93077
93078 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93079
93080         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93081
93082 1998-11-16  Jim Meyering  <meyering@ascend.com>
93083
93084         * m4/lfs.m4: Double-quote the `uname...` expression.
93085
93086 1998-11-14  Jim Meyering  <meyering@ascend.com>
93087
93088         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93089         * m4/stat.m4: Likewise.
93090
93091 1998-11-03  Jim Meyering  <meyering@ascend.com>
93092
93093         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93094         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93095
93096 1998-10-18  Jim Meyering  <meyering@ascend.com>
93097
93098         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93099
93100 1998-10-17  Jim Meyering  <meyering@ascend.com>
93101
93102         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93103         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93104         calls for those previously hard-coded headers.  Instead, take a new
93105         parameter.
93106         (jm_CHECK_DECLARATIONS): Reflect interface change.
93107         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93108         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93109
93110         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93111
93112 1998-10-14  Jim Meyering  <meyering@ascend.com>
93113
93114         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93115         instead of "TZ=America/Vancouver".  From Paul Eggert.
93116
93117 1998-10-11  Jim Meyering  <meyering@ascend.com>
93118
93119         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93120         This adds a test for a recently added compatibility fix for mktime.c.
93121         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93122
93123 1998-09-27  Jim Meyering  <meyering@ascend.com>
93124
93125         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93126
93127         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93128         ../configure.in, including a change from Gordon Matzigkeit to allow
93129         cross-compiling for the Hurd.
93130
93131         * m4/glibc.m4: New file/macro to test for the GNU C Library
93132         versions 1 and 2.  From Gordon Matzigkeit.
93133         Indent.
93134
93135 1998-09-21  Jim Meyering  <meyering@ascend.com>
93136
93137         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93138
93139 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93140
93141         Port nanosecond-resolution times to UnixWare 2.1.2 and
93142         pedantic Solaris 2.6.
93143
93144         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93145         AC_STRUCT_ST_MTIM.
93146         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93147         Generate name of ns member, instead of just 1 or undef.
93148         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93149
93150 1998-08-15  Jim Meyering  <meyering@ascend.com>
93151
93152         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93153         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93154         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93155         instead of jm_TYPE_SSIZE_T.
93156
93157 1998-08-12  Jim Meyering  <meyering@ascend.com>
93158
93159         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93160
93161 1998-08-02  Jim Meyering  <meyering@ascend.com>
93162
93163         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93164         in acconfig.h manually.
93165
93166 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93167
93168         * m4/st_mtim.m4: New file.
93169
93170 1998-07-28  Jim Meyering  <meyering@ascend.com>
93171
93172         * m4/utimes.m4: Undef stat.
93173
93174 1998-07-25  Jim Meyering  <meyering@ascend.com>
93175
93176         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93177         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93178
93179 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93180
93181         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93182         uid and gid actually remain unchanged.
93183
93184 1998-07-07  Jim Meyering  <meyering@ascend.com>
93185
93186         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93187
93188 1998-07-04  Jim Meyering  <meyering@ascend.com>
93189
93190         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93191         to prove that this macro can be used in packages without regex.c.
93192
93193 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93194
93195         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93196         is to be used.
93197
93198 1998-07-03  Jim Meyering  <meyering@ascend.com>
93199
93200         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93201
93202         * m4/gettext.m4: New file -- from gettext-0.10.35.
93203         * m4/lcmessage.m4: Likewise.
93204         * m4/progtest.m4: Likewise.
93205
93206         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93207         * m4/jm-macros.m4: Require the new macro.
93208
93209 1998-06-29  Jim Meyering  <meyering@ascend.com>
93210
93211         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93212         for the definition of NGROUPS (used in a system header included
93213         by sys/mount.h).
93214
93215 1998-06-28  Jim Meyering  <meyering@ascend.com>
93216
93217         * m4/ls-mntd-fs.m4: New file.
93218         * m4/fstypename.m4: New file.
93219
93220         * m4/jm-macros.m4: Require the new macro.
93221         * m4/jm-glibc-io.m4: New file.
93222
93223 1998-05-19  Jim Meyering  <meyering@ascend.com>
93224
93225         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93226         * m4/lchown.m4: New file.
93227
93228         * m4/Makefile.am.in: New file.
93229         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93230
93231 1998-05-14  Jim Meyering  <meyering@ascend.com>
93232
93233         * m4/Makefile.am (EXTRA_DIST): Add them.
93234         * m4/jm-macros.m4: New file.
93235         * m4/utimbuf.m4: New file.
93236
93237 1998-05-12  Jim Meyering  <meyering@ascend.com>
93238
93239         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93240
93241 1998-05-11  Jim Meyering  <meyering@ascend.com>
93242
93243         * m4/isc-posix.m4: New file.
93244
93245 1998-05-10  Jim Meyering  <meyering@ascend.com>
93246
93247         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93248
93249 1998-05-09  Jim Meyering  <meyering@ascend.com>
93250
93251         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93252         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93253         with automake.
93254
93255         * m4/ssize_t.m4: New file.
93256         * m4/mktime.m4: Remove file -- the new automake has this now.
93257
93258 1998-04-26  Jim Meyering  <meyering@ascend.com>
93259
93260         * m4/assert.m4: New file.
93261         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93262
93263 1998-04-05  Jim Meyering  <meyering@ascend.com>
93264
93265         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93266         (jm_PREREQ): Use it here.
93267
93268 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93269
93270         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93271         in acconfig.h.
93272
93273 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93274
93275         * m4/prereq.m4: New file.
93276         * m4/error.m4: New file.
93277         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93278
93279 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93280
93281         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93282         cache-check for the same variable -- that defeated the purpose of
93283         the test; the test program was never run.  This was a problem only
93284         on systems with losing getline functions -- HP-UX 10.20 is one.
93285         Reported by Bjorn Helgaas.
93286
93287 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93288
93289         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93290
93291 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93292
93293         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93294
93295         * m4/const.m4: New file.  Use an initializer in this declaration
93296         typedef int charset[2]; const charset x;
93297         Reported by Bob Glickstein.
93298
93299 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93300
93301         * m4/chown.m4: Fix reversed types on -1 args to chown.
93302         From Kaveh Ghazi.
93303
93304 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93305
93306         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93307         Add lseek and memchr.
93308
93309         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93310         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93311         have a 20-character limit on names.
93312
93313 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93314
93315         * m4/inttypes_h.m4: New file.
93316         * m4/uintmax_t.m4: New file.
93317         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93318
93319
93320         -----
93321
93322         Local Variables:
93323         coding: utf-8
93324         End:
93325
93326         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93327
93328         Copying and distribution of this file, with or without
93329         modification, are permitted provided the copyright notice
93330         and this notice are preserved.